【MySQL】SQL基础
使用表结构来存储数据的就是关系型数据库
SQL分类
DDL数据库定义语言,定义数据库对象(数据库、表结构、字段)
DML数据库操作语言,对表中的数据进行增删改
DQL数据查询语句,查询表中的记录
DCL数据库控制语句,创建用户,访问权限
DDL
查询、创建、删除、使用
DDL数据库操作
select DATABASE();中DATABASE()是一个函数,要加括号
DDL表操作
表查询
表创建
comment为表或列添加注释
数据类型:数值型,字符串类型,日期时间类型
精度:整个数据的长度。标度:小数位数
要使用无符号的情况时,在类型后面加unsigned
char和varchar:括号里表示当前字符串能够存储的最大长度
char(10),就算只存储一个字符,也会占用10个字符空间,其他用空格填充
varchar(10):根据存储的字符长度计算空间,存一个就是一个字符的空间
char和varchar区别
char性能高,varchar性能低,因为要根据内容计算要占用的空间
使用场景:变长的的用户名用varchar,定长的性别用char
引号使用情况
字符串、时间、日期必须单引号
表修改
总结:
DG功能很强大
DML
操作表中的数据。
添加数据
修改语句
删除语句
DELETE
语句只能删除整行(整条记录),而不能单独删除某个字段的值。
DQL
编写顺序如下
分组查询通常配合聚合函数使用
基本查询
select尽量不要写*,查询效率低下
设置别名时AS可以省略
条件查询
BETWEEN 小值 AND 大值;不能写反了
查询名字为两个字的员工:like '__'
聚合函数(作用于某一列数据)
将一列数据作为一个整体,进行纵向的计算
注意:null值不参与聚合函数运算
分组查询
group by :根据某某分组
分组之前过滤用where;分组之后再过滤用having
排序查询
分页查询
limit放在最后
DQL语句执行顺序
总结
DCL
控制数据库用户,控制数据库访问权限
管理用户
权限控制
注意:多个权限之间用逗号隔开。
授权时,数据库名和表名可以用*进行通配,代表所有。