这是Mysql系列第4篇。

环境:mysql5.7.25,cmd命令中进行演示。

DDL:Data Define Language数据定义语言,主要用来对数据库、表进行一些管理操作。

如:建库、删库、建表、修改表、删除表、对列的增删改等等。

文中涉及到的语法用[]包含的内容属于可选项,下面做详细说明。

库的管理

创建库

create database [if not exists] 库名;

删除库

drop databases [if exists] 库名;

建库通用的写法

drop database if exists 旧库名; create database 新库名;

示例

mysql> show databases like 'javacode2018'; +-------------------------+ | Database (javacode2018) | +-------------------------+ | javacode2018            | +-------------------------+ 1 row in set (0.00 sec)  mysql> drop database if exists javacode2018; Query OK, 0 rows affected (0.00 sec)  mysql> show databases like 'javacode2018'; Empty set (0.00 sec)  mysql> create database javacode2018; Query OK, 1 row affected (0.00 sec)

show databases like 'javacode2018';列出javacode2018库信息。

表管理

创建表

create table 表名(     字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],     字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],     字段名3 类型[(宽度)] [约束条件] [comment '字段说明'] )[表的一些设置];

注意:

  1. 在同一张表中,字段名不能相同
  2. 宽度和约束条件为可选参数,字段名和类型是必须的
  3. 最后一个字段后不能加逗号
  4. 类型是用来限制 字段 必须以何种数据类型来存储记录
  5. 类型其实也是对字段的约束(约束字段下的记录必须为XX类型)
  6. 类型后写的 约束条件 是在类型之外的 额外添加的约束

约束说明

not null:标识该字段不能为空

mysql> create table test1(a int not null comment '字段a'); Query OK, 0 rows affected (0.01 sec)  mysql> insert into test1 values (null); ERROR 1048 (23000): Column 'a' cannot be null mysql> insert into test1 values (1); Query OK, 1 row affected (0.00