MySQL数据库(二)
结构化查询语句
1.SQL 结构化查询语句
Structured Query Language
2.SQL语言的分类
-
DDL
数据定义语言
用于定义数据库、表及其它对象的结果creat drop alter(修改表结构)
-
DML
数据操作语言
用于增删改表中的数据 insert into update set delete from
-
DQL
数据库查询语句
查询表中的数据 select
-
DCL
数据控制语言
用于授予和收回权限
-
TCL
事务处理语言
用于对数据进行提交和回滚
commit rollback
编写规范
建表规约
1.表达是否概念的字段,使用 is_xxx的方式命名,数据类型为unsigned tinyint,1表示是,0表示否
2.表名、字段名必须使用小写字母和数字,禁止出现数字开头,禁止两个下划线中间只出现数字
3.表明不使用复数
4.禁用保留字
5.主键索引名为pk字段名;唯一索引uk字段名;普通索引idx_字段名
6.小数类型为decimal;禁用float,double
7.存储字符串长度几乎相等,使用char定长字符串类型
8.varchar 可变长字符串,不预先分配存储空间,长度不超过5000,存储长度大于此值,定义字段为text,独立出来一张表,用主键对应,避免影响其他字段索引率
9.表必备三字段:id,create_time,update_time
10.不能使用物理删除,要使用逻辑删除
索引规约
1.页面搜索严禁左模糊或者全模糊
不要使用count(列名) count(常量) 替代 count(*)
count(distinct col)计算该列除NULL之外的不重复行数
当一列的值都是NULL时,count(col)的返回结果为0
使用ISNULL()来判断是否为null值(null与任何值直接比较都为null)
不能使用外键,外键需要在应用层解决
禁止使用存储过程
数据订正时,要先select,避免出现误删
对数据库查询和变更,只要涉及多个表,都要在列名前加表的别名
