常用命令

Catalogue
  1. 1. 常用SQL语句
  2. 2. show profile
  3. 3. explain
  4. 4. 参考资料
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//  显示所有字符集
show variables like '%char%'

// 查看某库字符集
show create database 库名

// 创建库时指定字符集
create database 库名 character set utf8

// 修改库的字符集
alter database 库名 character set 'utf8'

// 修改表的字符集
alter table 表名 convert to character set 'utf8'

// 查看是否大小写敏感,0=大小写敏感
// 1=大小写不敏感。创建的表,数据库都是以小写形式存放在磁盘上,对于sql 语句都是转换为小写对表和DB进行查找
// 2=创建的表和 DB 依据语句上格式存放,凡是查找都是转换为小写进行
show variables like '%lower_case_table_names%'

// sql_mode定义了对 MySQL 中 SQL语句语法的校验规则
// 查看sql_mode值有如下两种方式
show variables like 'sql_mode';
select@@sql_mode

常用SQL语句

alter table: 用于在已有的表中添加、删除或修改列。

1
2
3
4
5
6
7
8
-- 如需在表中添加列,请使用下面的语法
ALTER TABLE table_name ADD column_name datatype

-- 如需删除表中的列,请使用下面的语法
ALTER TABLE table_name DROP COLUMN column_name

-- 改变表中列的数据类型
ALTER TABLE table_name MODIFY COLUMN column_name datatype

show profile

  • 优化器有基于规则优化和基于成本优化两种,MySQL采用的是基于成本优化
  • show profile语句显示最近执行SQL的成本概要信息,指示在当前会话过程中执行的语句的资源使用情况
  • 文档:https://dev.mysql.com/doc/refman/5.7/en/show-profile.html
1
2
3
4
5
6
7
8
9
10
11
-- 查看是否开启
show variables like '%profiling%';

-- 开启
set profiling=1;

-- 查看最近几次查询
show profiles;

-- 查看sql具体执行步骤
show profile cpu,block io for query Query_id

explain

参考资料