1 DDL 数据定义语句 Data Definition Language

CREATE 创建
DROP 删除
ALTER 修改表结构
创建表名可以用 驼峰 和下划线命名

  • tableName
  • table_name
    • DDL操作是隐性提交的!不能rollback
  1. # 创建数据库 数据库名,字符集,排序规则
  2. CREATE DATABASE `db3`
  3. CHARACTER SET 'utf8mb4'
  4. COLLATE 'utf8mb4_general_ci';
  5. # 创建表 表名,字符集,排序规则,引擎
  6. CREATE TABLE `user` (
  7. id int not null default 0 comment 'id',
  8. name varchar(32) not null default '' comment '名字',
  9. password char(32) not null default '' comment '密码',
  10. birthday date comment '生日'
  11. )
  12. CHARSET = utf8mb4
  13. COLLATE = utf8mb4_general_ci
  14. ENGINE = InnoDB;

2 查看 删除数据库

  1. # 显示数据库
  2. # 显示数据库创建语句
  3. # 数据库参数语句

3 创建数据库细节说明

2.jpg

  1. 红色是关键字,不能修改
  2. []号的内容是可选的, 可以写,也可以不写
  3. character set 字符集,默认 utf8, 表示支持中文
    1. character set 指定该库的字符集,推荐 utf8mb4
    2. utf8mb4 可以存放 emoji表情
    3. MySQL数据库的 ‘utf8’ 并不是真正概念里的 ‘UTF-8’
    4. MySQL中的 ‘utf8mb4’ 才是真正意义上的 ‘UTF-8’
    5. utf8mb4是 utf8 的超集
  4. collate 排序规则,默认 utf8_general_ci , 表示不区分大小写 ci[case insensitive]
    1. 不同的校验规则,会对查询时字母是否区分大小写和排序有影响, 举例

utf8_general_ci 不区分大小写
utf8_bin 区分大小写

2.jpg

3.jpg

3 字符集和校验规则 collation

  • 校验规则不需要深入研究
  1. show character set; 查看mysql的字符集
  2. show collation; 查看msyql的排序和校验规则
  3. 修改mysql默认的字符集和校验规则, mysql.ini 文件中可以修改
  4. ci case insensitive,即 大小写不敏感
  5. a A 会在字符判断中会被当做一样的

4 创建表

  • 创建表,要指定
    • 字符集 character set
    • 排序规则 collate
    • 存储引擎 engine

存储引擎
InnoDB
MyISAM
Memoery