1 DDL 数据定义语句 Data Definition Language
CREATE 创建
DROP 删除
ALTER 修改表结构
创建表名可以用 驼峰 和下划线命名
- tableName
- table_name
- DDL操作是隐性提交的!不能rollback
# 创建数据库 数据库名,字符集,排序规则
CREATE DATABASE `db3`
CHARACTER SET 'utf8mb4'
COLLATE 'utf8mb4_general_ci';
# 创建表 表名,字符集,排序规则,引擎
CREATE TABLE `user` (
id int not null default 0 comment 'id',
name varchar(32) not null default '' comment '名字',
password char(32) not null default '' comment '密码',
birthday date comment '生日'
)
CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci
ENGINE = InnoDB;
2 查看 删除数据库
# 显示数据库
# 显示数据库创建语句
# 数据库参数语句
3 创建数据库细节说明
- 红色是关键字,不能修改
- []号的内容是可选的, 可以写,也可以不写
- character set 字符集,默认 utf8, 表示支持中文
- character set 指定该库的字符集,推荐 utf8mb4
- utf8mb4 可以存放 emoji表情
- MySQL数据库的 ‘utf8’ 并不是真正概念里的 ‘UTF-8’
- MySQL中的 ‘utf8mb4’ 才是真正意义上的 ‘UTF-8’
- utf8mb4是 utf8 的超集
- collate 排序规则,默认 utf8_general_ci , 表示不区分大小写 ci[case
insensitive]
- 不同的校验规则,会对查询时字母是否区分大小写和排序有影响, 举例
utf8_general_ci 不区分大小写
utf8_bin 区分大小写
3 字符集和校验规则 collation
- 校验规则不需要深入研究
show character set; 查看mysql的字符集
show collation; 查看msyql的排序和校验规则
修改mysql默认的字符集和校验规则, 在 mysql.ini 文件中可以修改
ci是 case insensitive,即 大小写不敏感
a 和 A 会在字符判断中会被当做一样的
4 创建表
- 创建表,要指定
- 字符集 character set
- 排序规则 collate
- 存储引擎 engine
存储引擎
InnoDB
MyISAM
Memoery