入门sql
sql语言按功能可分为四类:
1. DDL 数据定义语言 数据库和表结构
2. DML 数据操作语言 增删改
3. DCL 数据控制语言, 定义访问权限和安全级别
4. DQL 数据查询语言, 查询
sql在mysql中的执行顺序
连接层
sql
查询缓存(mysql8.0之后被抛弃)
解析器
优化器
执行器
存储引擎层
innodb: 支持事务, 行级锁定, 外键约束
myisam: 不支持事务,不支持外键, 速度快,占用资源少
memory: 内存作为存储介质,mysqld崩溃后所有数据丢失
mysql 中profiling 查看sql使用的资源(时间)
1 select @profiling; 查看profiling 是否开启
2 set profiling = 1; 如果未开启,则开启
3 show profiles; 查看当前会话产生的所有profiles;
4 show profile; 查看上一次查询的详细执行情况;
可以看到,权限检查, 打开表, 初始化, 所系统, 优化查询, 准备,执行的时间
5 show profile for query 2; 查询指定的query id;
ddl
uft8_general_ci 对大小写不敏感
utf8_bin 对大小写敏感