首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL 语法速成手册

DISTINCT 用于返回唯一不同的值。它作用于所有列,也就是说所有列的值都相同才算相同。 LIMIT 限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。...LIKE 操作符在 WHERE 子句中使用,作用是确定字符串是否匹配模式。....* FROM myuser; 更改密码 SET PASSWORD FOR myuser = 'mypass'; 十、存储过程 存储过程可以看成是对一系列 SQL 操作的批处理; 使用存储过程的好处...创建存储过程 命令行中创建存储过程需要自定义分隔符,因为命令行是以 ; 为结束符,而存储过程中也包含了分号,因此会错误把这部分分号当成是结束符,造成语法错误。...可以使用触发器来进行审计跟踪,把修改记录到另外一张表中。 MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。

17.2K40

SQL优化完整详解

应尽量避免在 where 子句中对字段进行 null 值判断 否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is...NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。...也就是说如果某列存在空值,即使对该列建索引也不会提高性能。 任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。...因为从引擎返回 id 会涉及到解析数据行,以及拷贝字段值的操作。...它根据连接类型以及存储排序键值和匹配条件的全部行的行指针来排序全部行 Using index 列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的, 这发生在对表的全部的请求列都是同一个索引的部分的时候

1.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL 语法速成手册

    DISTINCT 用于返回唯一不同的值。它作用于所有列,也就是说所有列的值都相同才算相同。 LIMIT 限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。...LIKE 操作符在 WHERE 子句中使用,作用是确定字符串是否匹配模式。....* FROM myuser; 更改密码 SET PASSWORD FOR myuser = 'mypass'; 十、存储过程 存储过程可以看成是对一系列 SQL 操作的批处理; 使用存储过程的好处...创建存储过程 命令行中创建存储过程需要自定义分隔符,因为命令行是以 ; 为结束符,而存储过程中也包含了分号,因此会错误把这部分分号当成是结束符,造成语法错误。...可以使用触发器来进行审计跟踪,把修改记录到另外一张表中。 MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。

    16.9K20

    Mysql 快速指南

    = 'Kids Place'; IN 和 BETWEEN 要点 IN 操作符在 WHERE 子句中使用,作用是在指定的几个特定值中任选一个值。...要点 LIKE 操作符在 WHERE 子句中使用,作用是确定字符串是否匹配模式。...要点 存储过程可以看成是对一系列 SQL 操作的批处理; 使用存储过程的好处 代码封装,保证了一定的安全性; 代码复用; 由于是预先编译,因此具有很高的性能。...创建存储过程 命令行中创建存储过程需要自定义分隔符,因为命令行是以 ; 为结束符,而存储过程中也包含了分号,因此会错误把这部分分号当成是结束符,造成语法错误。...可以使用触发器来进行审计跟踪,把修改记录到另外一张表中。 MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。

    6.9K20

    SQL语法速成手册,建议收藏!

    = 'Kids Place'; IN 和 BETWEEN IN 操作符在 WHERE 子句中使用,作用是在指定的几个特定值中任选一个值。...LIKE 操作符在 WHERE 子句中使用,作用是确定字符串是否匹配模式。....* FROM myuser; 更改密码 SET PASSWORD FOR myuser = 'mypass'; 十、存储过程 存储过程可以看成是对一系列 SQL 操作的批处理; 使用存储过程的好处...创建存储过程 命令行中创建存储过程需要自定义分隔符,因为命令行是以 ; 为结束符,而存储过程中也包含了分号,因此会错误把这部分分号当成是结束符,造成语法错误。...可以使用触发器来进行审计跟踪,把修改记录到另外一张表中。 MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。

    8.1K30

    java面试(3)SQL优化

    任何在Order by语句的非索引项或者有计算表达式都将降低查询速度 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如select id...任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。...最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库.NULL值也是可能会需要占用空间的,一些定长的数据类型即使数据为NULL也是会占用空间的。...慎用like用于模糊查询,因为其可能导致全表扫描,使用like语句,仅仅后模糊查询是可以走索引的(如:like '56%'),但是前模糊查询会全表扫描(如like '%we' 或 like '%we%'...每一个sql都是一个数据库连接 查询语句执行顺序(只在基于规则的优化器中有效): from子句:执行顺序从后向前,从右向左。

    3.2K20

    SQL优化

    IS NULL 与 IS NOT NULL 任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。...即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从索引中排除。也就是说如果某列存在空值,即使对该列建索引也不会提高性能。 2....任何在Order by语句的非索引项或者有计算表达式都将降低查询速度 2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如select id from...任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。...3、最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库.NULL值也是可能会需要占用空间的,一些定长的数据类型即使数据为NULL也是会占用空间的。

    4.8K20

    SQL谓词 LIKE

    描述 LIKE谓词允许选择那些匹配模式中指定的字符的数据值。 模式可以包含通配符。 如果pattern不匹配任何标量表达式值,LIKE返回空字符串。...(根据SQL标准,NULL不被认为是一个0字符的序列,因此不被这个通配符选中。) 在动态SQL或嵌入式SQL中,模式可以将通配符和输入参数或输入主机变量表示为连接的字符串,如示例部分所示。...LIKE和NOT LIKE都不能用于返回NULL字段。 返回NULL字段使用IS NULL。 ESCAPE子句 ESCAPE允许在模式中使用通配符作为文本字符。...下面的动态SQL示例返回与前一个示例相同的结果集。 注意如何在LIKE模式中使用连接操作符指定输入参数(?)...它显示所有年龄的平均值和HAVING子句选择的年龄的平均值。 它根据年龄对结果排序。 所有返回值的年龄从10到19。

    2.3K30

    115道MySQL面试题(含答案),从简单到深入!

    MySQL中的存储过程是什么?存储过程是一组为了完成特定功能的SQL语句,它存储在数据库中,可以通过指定的名称和参数进行调用。存储过程可以提高SQL代码的重用性,减少网络通信量,提高性能。9....如何在MySQL中设置和使用存储过程的参数?存储过程可以接受输入参数和返回输出参数。...例如,创建一个计算两数之和的存储过程: sql DELIMITER // CREATE PROCEDURE AddNumbers(IN num1 INT, IN num2 INT, OUT sum INT...例如: sql CREATE TABLE Orders ( OrderID int NOT NULL, OrderNumber int NOT NULL, CustomerID int, FOREIGN...处理NULL值时需要注意: - 索引通常不包括NULL值,因此包含NULL值的列上的查询可能不会使用索引。 - 在比较操作中,任何与NULL值的比较都会返回NULL(即未知),这可能影响查询逻辑。

    2K10

    这是我见过最有用的Mysql面试题,面试了无数公司总结的(内附答案)

    使用SQL,我们可以做的一些动作是创建数据库,表,存储过程(SP), 执行查询,针对数据库检索,插入,更新,删除数据。 12. SQL命令有哪些不同类型?...用字段NULL值是没有值的字段。甲NULL值是从零值或包含空格的字段不同。 具有NULL值的字段是在记录创建过程中留为空白的字段。...54.什么是存储过程? 存储过程是已创建并存储在数据库中以执行特定任务的SQL语句的集合。 该存储过程接受输入参数并对其进行处理,并返回单个值, 例如数字或文本值或结果集(行集)。...Where子句不能与Aggregate函数一起使用,但是Haveing子句可以。 68. SQL中的聚合函数是什么? SQL聚合函数返回单个值,该值是根据列中的值计算得出的。...SQL SELECT语句的顺序如下 选择,从,在哪里,分组依据,拥有,订购依据。 89.如何在SQL中显示当前日期? 在SQL中,有一个名为GetDate()的内置函数,该函数有助于返回当前日期。

    27.1K20

    MySQL从安装到使用

    事件;Fields 字段; Engine 存储引擎(数据表类型,如InnoDB);Collation 字符集(存储格式,如utf-8); Duplicate entry 重复录入;Syntax 语法;...它可以提供的功能有:支持sql语言、子查询、存储过程、触发器、视图、索引、事务、锁、外键约束和影像复制等。...field2,...fieldN FROM 数据表名 WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'; # SQL LIKE 子句中使用百分号...NULL 值处理: IS NULL:当列的值是 NULL,此运算符返回 true。 IS NOT NULL:当列的值不为 NULL, 运算符返回 true。...不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。 # NULL 值与任何其它值的比较(即使是 NULL)永远返回 false,即 NULL = NULL 返回false 。

    63940

    MSSQL之四 简单查询

    在Microsoft SQL Server 2008系统中,需要使用数据类型的对象包括表中的列、视图中的列、定义的局部变量、存储过程中的参数、Transact-SQL函数及存储过程的返回值等。...整数数据类型表示可以存储整数精确数据。 在Microsoft SQL Server 2008系统中,有4种整数数据类型即BIGINT、INT、SMALLINT、TINYINT。...FLOAT或REAL数据类型是用于表示数值数的大致数据值的数据类型。 BIT是可以存储1、0或NULL数据的数据类型。这些数据主要是用于一些条件逻辑判断。...【例4-11】:从book表中查询图书的出版社,要求消除值相同的那些行。...IS NULL关键字被用来抽取漏掉的值。 12. ORDER BY 关键字被用来以特定的顺序抽取数据。 13. TOP 关键字仅抽取行的前面集合,它可以是来自查询结果返回的数字或行百分比。

    8910

    Mysql慢sql优化

    应尽量避免在 WHERE 子句中对字段进行 NULL 值判断 应尽量避免在 WHERE 子句中使用!...字段 但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。...当同一个查询被执行多次时,从缓存中提取数据和直接从数据库中返回数据快很多。 MYISAM: 应用时以读和插入操作为主,只有少量的更新和删除,并且对事务的完整性,并发性要求不是很高的。...7.SQL建议 最好不要使用select * 返回所有,用具体的字段列表代替“*”,不要返回用不到的任何字段。 尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。...尽量使用“>=”,不要使用“>”。 批处理 当有一批处理的插入或更新时,用批量插入或批量更新,绝不会一条条记录的去更新! 存储过程 在所有的存储过程中,能够用SQL语句的,不建议用循环去实现!

    11110

    数据库性能优化之SQL语句优化

    不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从索引中排除。...也就是说如果某列存在空值,即使对该列建索引也不会提高性能。任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。...推荐方案:用其它相同功能的操作运算代替,如:a is not null 改为 a>0 或a>’’等。不允许字段为空,而用一个缺省值代替空值,如申请中状态字段不允许为空,缺省为申请。...在解析的过程中, 会将’*’ 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间。...(5) 在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值为200。

    5.7K20

    SQL Server 2012学习笔记 (二) ----- SQL Server Transact-SQL

    子句] HAVING 子句] [ORDER BY 子句] 4、常量   数据在内存中存储始终不变化的量叫常量。...例如: --CREATE TABLE temp --( id INT PRIMAYR KEY, hobby VARCHAR(100) NULL) 2)多行注释   多行注释作用于某一代码块,该种注释使用斜杠星型...可以在涉及模式匹配的字符串比较(例如,LIKE 和 PATINDEX)中使用这些通配符。   在SQL中通常用LIKE关键字与通配符结合起来实现模糊查询。其中SQL支持的通配符如表所示。 ?...(5)RAISERROR命令:用于在SQL Server系统中返回错误信息时同时返回用户指定的信息。   ...(6) READTEXT命令用于读取text、ntext或image列中的值,从指定的位置开始读取指定的字符数。   (7)BACKUP命令:用于将数据库内容或其事务处理日志备份到存储介质上。

    2.6K30

    MySQL 【教程二】

    语法 以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法: SELECT field1, field2,...fieldN FROM table_name1, table_name2...WHERE 子句中可以使用等号 = 来设定获取数据的条件,如 "runoob_author = 'RUNOOB.COM'"。...SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。 如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。...语法 以下是 SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法: SELECT field1, field2,...fieldN FROM table_name WHERE...在命令提示符中使用 LIKE 子句 以下我们将在 SQL SELECT 命令中使用 WHERE...LIKE 子句来从MySQL数据表 runoob_tbl 中读取数据。

    4.2K20

    MySQL安装

    子句 我们已经看到使用SQL SELECT命令从MySQL表中获取数据。...LIKE子句从MySQL表tutorials_tbl 选择获取数据并返回 示例 下面的例子是从 tutorials_tbl 表中获取作者的名称以 aul 结尾的所有记录: root@host# mysql...LIKE子句以通用的方式放置条件 在命令提示符使用ORDER BY子句 使用SQL SELECT命令与ORDER BY子句,从MySQL表tutorials_tbl获取数据。...值 我们已经看到SQL SELECT命令和WHERE子句一起使用,来从MySQL表中提取数据,但是,当我们试图给出一个条件,比较字段或列值设置为NULL,它确不能正常工作。...数据库中序列是常用的,因为很多应用都需要在表的每行中,包含一个唯一的值,并且序列提供了一种简单的方法来生成它们。本章将介绍如何在MySQL中使用序列。

    11.3K71

    sql学习

    趁着假期学习总结下~ sql简介 sql可以查询、从数据库取出数据、插入、更新、删除、创建新的数据库、创建新表、创建存储过程、创建视图、设置表视图和存储过程的权限。...sql对大小写不敏感 SQL SELECT语句 SELECT语句用于从一个表中选取数据,结果被存储在一个结果表中 语法: select 列名称 from 表名称 从表名称对应的数据库表中取出列名称所对应的列的内容...,如果需要有条件的从表中选取数据,可将where子句添加到select语句中 语法:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 可在where子句中使用的运算符: 操作符 描述...SQL通配符 在搜索数据库时,可以使用SQL通配符,有点类似于正则表达式。 SQL通配符通常和LIKE运算符一起使用。...使用IS NULL来查找NULL值,使用IS NOT NULL读取不带有NULL值的操作符。 SQL函数 SQL拥有很多可用于计数和计算的内建函数。

    4.7K30

    MySQL入门常用命令大全

    学生表设计: 字段(Field) 类型(Type) 可空(Null) 键(Key) 默认值(Default) 其他(Extra) 学号(studentNo) INT UNSIGNED N PRI NULL...3.4.2where子句 where子句按所需条件从表中选取数据,如法如下: SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 下面的运算符可在 WHERE 子句中使用: 运算符 描述...特殊用法: (1)只给一个参数,表示返回记录行的TOP最大行数,起始偏移量默认为0; (2)返回从起始偏移量开始,返回剩余所有的记录,可以使用一些值很大的第二个参数。...如检索所有从第96行到最后一行: SELECT * FROM tbl LIMIT 95,18446744073709551615; 注意,mysql目前不支持使用-1表示返回从偏移量开始,剩余的所有记录...每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。 游标的操作主要用于存储过程中用来书写过程化的SQL,类似于Oracle的PL/SQL。

    3.9K20
    领券