1. 数据库操作
1.1 创建数据库
基本语法:create database 数据库名 [数据库选项(字符集等)];
1.2 显示数据库
基本语法:
- 显示全部:
show databases;
- 显示部分:
show databases like "匹配模式";
匹配模式:
- _: 匹配当前位置的单个字符;
-
_%: 匹配制定位置的多个字符;
- 在匹配字符前为匹配以字符结尾的部分
- 在匹配字符后为匹配以字符开头的部分
1.3 显示数据库创建语句
show create database 数据库名;
1.4 选择数据库
use 数据库名;
1.5 修改数据库
修改库选项: alter database 数据库名 选项[=]值;
1.6 删除数据库
基本语法:drop 数据库名;
2. 数据表操作
2.1 创建数据库表
基本语法:create table 表名(字段名 字段类型[字段属性],字段名 字段类型[字段属性],^……) [表选项];
注意: 创建表时,必须在选择数据库的状态下,或者创建时表名为 数据库名.表名
2.2 复制已有表结构
基本语法:create table 新表名 like 旧表名;
2.3 显示数据表
2.3.1 显示所有表
基本语法:show tables;
2.3.2 显示部分表
基本语法:show tables like "匹配模式";
2.3.3 显示表结构
基本语法: - describe 表名;
- desc 表名;
- show columns from 表名;
2.3.4 显示表创建语句
基本语法:show create table 表名;
2.4 设置表属性
表属性即表选项:engine,charset,collate;
基本语法:alter table 表名 表选项 [=] 值;
2.5 修改表结构
- 修改表名:
rename 旧表名 to 新表名;
- 修改表属性:
alter table 表名 表选项 [=] 新值;
- 新增字段:
alter table 表名 add [column] 新字段名 字段类型 [字段属性] [位置 first/after 字段名];
- 修改字段名:
alter table 表名 change 旧字段名 新字段名 新字段类型 [新字段属性] [新位置];
- 删除字段:
alter talbe 表名 drop 字段名;
2.6 删除表结构
基础语法:drop talbe 表名[,表名2,……];
3. 数据基础操作
3.1 插入数据
- 向指定字段插入数据:
insert into 表名 [(字段列表)] values (对应字段列表的数据);
- 向所有字段插入数据:
insert into 表名 values (对应每一个字段的数据);
3.2 查询数据
- 查询全部数据:
select * from 表名;
- 查询指定字段数据:
select 字段列表 from 表名;
- 查询指定字段的特定数据:
select 字段列表 from 表名 where 条件(字段名和值比较);
3.3 删除数据
基本语法:delete from 表名 [where 条件];
3.4 更新操作
基本语法:update 表名 set 字段名=新值 [where 条件];
4. 字符集
- 快捷设置:
set names 字符集名;
原理: 客户端mysql.exe 和 服务端 mysqld.exe之间以及连接层的处理关系分为三层:
show variables like "character_set_%"
1. 客户端传入数据给服务端:client:character_set_client
2. 服务端返回数据给客户端:server:character_set_result
3. 客户端与服务端之间的连接:connection:character_set_connction
快捷设置会一次设置这三条。