MySQL
基本操作
数据库
-
新增数据库
create database db_name [options];- options:
- charset 字符集
- collate 字符集
- options:
-
删除数据库
drop database db_name; -
修改数据库
-
修改库名
-
修改库选项
-
字符集 charset
alter db_name charset utf8; -
校对集 collate
alter db_name collate 校对集;
-
-
-
显示/查看数据库
show databases; show create database db_name;
数据表
-
新增
creata table [db_name].tb_name( 字段1 选项, 字段2 选项 )[options][具体引擎]; create table tb_name like db_naem.tb_name;- 选项包括charset collate
- 引擎
- InnoDB(默认)
- MyISAM:不支持外键和事务
-
删除
drop table tb_name; -
修改
-
改名
rename table tb_n1 to tb_n2; -
修改表选项
alter table tb_name [options];
-
-
显示/查看
show tables; show tables like '%like'; # %匹配任意字符;_匹配单个字符 show create table tb_name; # 一下三种方式效果相同 desc tb_name; describe tb_name; show cloumn from tb_name;
字段field
-
新增字段
alter table tb_name add [cloumn] col_name type [attribute][localition];- 位置:first;after col_name;
-
删除字段
alter table tb_name drop col_name; -
修改字段
# 字段名 alter table tb_name change col_n1 col_n2 type [attirbuite][options]; # 字段属性 alter table tb_name modify col_name type [attirbuite][options]; -
查看字段
desc tb_name; describe tb_name; show columns from tb_name;
数据操作
-
新增数据
insert into 表名 values(字段列表对应的所有值); insert into 表名(字段列表) values(字段列表对应的值) # 批量新增数据 insert into 表名(字段列表) value (值列表1), ... -
查看数据
select */field_name from tb_name where 条件; -
更新数据
update 表名 set 字段=新值,字段=新值 where 条件; -
删除数据
delete from tb_name where 条件;
基本选项
字符集
常见字符集
| 字符集 | 存储空间 | 描述 |
|---|---|---|
| ASCII | 1字节 | 美国信息交换标准代码 |
| Iatin1 | 1字节 | 拉丁文字符集,向下兼容ASCII |
| GB2312 | 2字节 | 一种国标规范 |
| GBK | 2字节 | 汉字内码扩展规范 |
| Unicode | 使用统一的规范来解决传统的局限 | |
| utf8 | 1-6字节 | 目前通用编码规则 |
查看支持的字符集
show charset;
更改客户端字符集
set names 字符集; # 批量修改
修改字符集变量
set character_set_client=gbk; # 保证客户端正常存入数据
set character_set_results=gbk; # 保证数据正常被客户看到
set character_set_connection=gbk; # 连接使用的字符集保证内部数据操作
set names 字符集; # 批量修改
校对集
校对集:进行数据比较时对应的规则
- 依赖于字符集
- 校对的三种方式
- 大小写不敏感
- 大小写敏感
- 二进制比较
- 进行数据比较的时候触发
字段类型
字段属性
| 属性 | 关键字 | 描述 |
|---|---|---|
| 空属性 | Not Null | 默认允许空 |
| 默认值属性 | default 值 | |
| 主键 | primary key() | 唯一,不为空,复合主键 |
| 自动增长 | auto_increment | |
| 唯一键 | unique key() | 允许数据位null,复合 |
| 字段描述 | comment '描述' | |
| 无符号 | unsigned | 无符号 |
| 外键 | foreign key | 指向外部表主建的字段 |