8.12 优化MYSQL 服务器
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/optimizing-server.html本节讨论数据库服务器的优化技术,主要处理系统配置而不是调整SQL语句。本节中的信息适用于想要确保他们管理的服务器的性能和可扩展性的DBA;对于构建包括设置数据库的
9.1 Literal Values
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/literals.html本节介绍如何在MySQL中编写字面值。这些包括字符串,数字,十六进制和位值,布尔值和NULL。本节还介绍了在MySQL中处理这些基本类型时可能遇到的各种细微差别。9.1.1字符串文
9.2 方案对象名称
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/identifiers.htmlMySQL中的某些对象,包括数据库,表,索引,列,别名,视图,存储过程,分区,表空间和其他对象名称都被称为标识符。本节介绍MySQL中标识符的允许语法。第9.2.2节“标识符
9.4 用户定义的变量
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/user-variables.html您可以在一个语句中将值存储在用户定义的变量中,稍后在另一个语句中引用它。这使您可以将值从一个语句传递到另一个语句。用户变量写作@var_name,其中变量名称var_n
9.5 表达式和注释的语法
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/expressions.html表达式语法(略)此处显示的语法基于MySQL源代码分发版的sql/sql_yacc.yy文件中给出的语法。有关某些术语的其他信息,请参阅语法后的注释。命令语法MySQL服务器
11.1 数值类型
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/numeric-type-overview.htmlM表示整数类型的最大显示宽度。最大显示宽度为255.显示宽度与类型可以包含的值范围无关,如第11.2节“数字类型”中所述。对于浮点型和定点型,M是可以存储
11.2 日期和时间类型
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-type-overview.html对于DATE和DATETIME范围描述,“支持”意味着虽然较早的值可能有效,但不能保证MySQL允许TIME,DATETIME和TIMESTA
11.3 字符串类型
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html字符串类型是CHAR,VARCHAR,BINARY,VARBINARY,BLOB,TEXT,ENUM和SET。MySQL以字符单位解释字符列定义中的长度规范
11.7 数据类型默认值
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/data-type-defaults.html数据类型定义中的DEFAULT值子句指示列的默认值。有一个例外,默认值必须是常数;它不能是一个函数或表达式。这意味着,例如,您不能将日期列的默认值设置为NOW(
12.2 在表达式评估的类型转换
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/type-conversion.html当运算符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容。一些转换隐式发生。例如,MySQL会根据需要自动将数字转换为字符串,反之亦然。mysql>S
12.3 操作符
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/operator-precedence.html12.3.1操作符优先级运算符优先级显示在以下列表中,从最高优先级到最低优先级。一起显示在一行上的运算符具有相同的优先级。INTERVALBINARY,COL
12.4 控制流函数
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.htmlCASEvalueWHEN[compare_value]THENresult[WHEN[compare_value]THENresult...][ELS
12.6 数值函数和操作符
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/numeric-functions.html12.6.1参数操作符通常的算术运算符可用。结果根据以下规则确定:在-,+和*的情况下,如果两个操作数都是整数,则结果以BIGINT(64位)精度计算。如果两个操
12.5 字符串函数
参考官方文档:12.5StringFunctions如果结果的长度大于max_allowed_packet系统变量的值,则字符串值函数将返回NULL。请参见第5.1.1节“配置服务器”。对于在字符串位置上操作的函数,第一个位置编号为1。对于具有长度参数的函数,非整数参数四舍五入到最接近的整数。ASC
12.7 date 和 time 函数
参考官方文档:12.7DateandTimeFunctions这是一个使用日期函数的示例。以下查询选择具有date_col值在最近30天内的所有行:mysql>SELECTsomethingFROMtbl_nameWHEREDATE_SUB(CURDATE(),INTERVAL30DAY)&l
13.1 数据库定义语句
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/alter-database.html13.1.1alterdatanase语法ALTER{DATABASE|SCHEMA}[db_name]alter_specification...ALTER{DATA
13.2 数据操作语句(1)
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-data-manipulation.html13.2.1CALL语法CALLsp_name([parameter[,...]])CALLsp_name[()]CALL语句调用之前使用C
13.2 数据操作语句(2)
13.2.9SELECT语法SELECT用于检索从一个或多个表中选择的行,并且可以包含UNION语句和子查询。SELECT也可用于检索不参考任何表而计算出的行。例如:mysql>SELECT1+1;->2在没有引用表的情况下,您可以将DUAL指定为虚拟表名mysql>SELECT1
13.3 事务和锁语句
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-transactions.htmlMySQL通过诸如SETautocommit,STARTTRANSACTION,COMMIT和ROLLBACK之类的语句支持本地事务(在给定的客户端会
13.5 被准备SQL语句的语法
参考官方文档:https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.htmlMySQL5.7提供了对服务器端预处理语句的支持。此支持利用高效的客户端/服务器二进制协议。使用准备好的语句和占位符来获取参数值具有以下