代码注释
单行注释:# 或者 -- 注释内容
多行注释:/* 注释内容 */
大小写
Mysql 对大小写不敏感;
数据库名、表名、表的别名、变量名是严格区分大小写的;
关键字、函数名、字段名、字段的别名是忽略大小写的。
数据是否区分大小写要看Mysql的校对规则
-- 查看校对规则
show variables like 'coll%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | gbk_chinese_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
-- ci 不区分,cs 区分
尽量采用统一的书写规范:
- 数据库名、表名、表别名、字段名、字段别名等都小写;
- SQL关键字、函数名、绑定变量等都大写。
语法注意事项
- 数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名;
- 尽量用
A–Z, a–z, 0–9, _
字符命名,第一个字行必须是字母或下画线(_); - 标点符号必须是英文半角;
- 每条命令以
;
或\g
或\G
结束; - 必须保证所有的()、单引号、双引号是成对结束的;
- 字符串型和日期时间类型的数据可以使用单引号(’ ')表示;
- 列的别名,尽量使用双引号(" ")或者(``),而且不建议省略as;
运算符
Mysql 常见的运算符如下:
运算符的优先级如下:
执行运算过程中,运算符优先级从高到低执行,优先级相同时,再根据从左到右先后顺序执行。
SQL执行顺序
数据库运行时的先后顺序如下,一定要记住和要清楚!!!
(8) select (9) distinct (11)<columns_name list>
(1) from <left_table>
(3) <join_type> join <right_table>
(2) on <join_condition>
(4) where <where_condition>
(5) group by <group_by columns_name list>
(6) with <rollup>
(7) having <having_condition>
(10) order by <order_by columns_name list>
(12) limit <[offset,] rows>
;