2.2.1 创建第一张表
有以下两种常用的方法可以创建表:
- 使用MySQL客户端创建表。
- 使用SQL语句创建表。
1.使用MySQL客户端(Workbench / DataGrip)创建表
01 在客户端单击zoo数据库,若是Workbench,则右击zoo数据库,在弹出的快捷菜单中选择【Create Table...】命令;若是DataGrip,则右击zoo数据库,在弹出的快捷菜单中依次选择【New】|【Table】命令。
02 在弹出来的页面中填写表名、字段名称、字段类型等信息,如图2-7和图2-8所示。
03 所有信息填写完成后,在Workbench中单击【Apply】按钮,在DataGrip中单击【Execute】按钮。
不同的字段(Column)用于存储不同的信息,比如name字段用于存储动物名称,age字段用于存储动物年龄,description字段用于存储动物详细介绍,create_time字段用于存储数据创建时间,update_time字段用于存储数据更新时间,is_delete字段用于存储数据是否被删除(0表示未被删除,1表示已被删除)。
图2-7 使用Workbench创建动物表animal
图2-8 使用DataGrip创建动物表animal
字段还有类型,例如int表示整型,varchar表示字符串类型,datetime表示日期时间类型等。
最后是id字段,id字段是主键且不能为空(勾选【Not Null】复选框表示该字段必填)。所谓主键就是用来唯一标识一行的字段。字段类型、主键等内容在后续章节会详细介绍。
2.使用SQL语句创建表
使用SQL语句创建动物表animal,具体的SQL语句如下:
-- 注释,zoo是动物园数据库 create table 'zoo'.'animal' ( `id` int not null comment '主键', `name` varchar(50) not null comment '动物名称', `age` smallint not null comment '年龄', `description` text null comment '详细介绍', `create_time` datetime not null comment '创建时间', `update_time` datetime not null comment '更新时间', `is_delete` tinyint not null comment '是否删除,1 表示已删除,0 表示未删除', primary key (`id`));
使用“create table `zoo`.`animal`”表示在zoo数据库下创建animal表。SQL语句创建表与第一种方式一样,需要指定字段类型、主键、字段备注等信息。
这里简单分析其中一个字段,其他字段类似:
-- `id`字段分析 `id` int not null comment '主键',
说明:
- id:字段名称。
- int:字段类型,int表示整数。
- not null:表示id字段不能为空。
- comment:字段备注信息。
- primary key (`id`):表示id是主键。
注意 每个字段定义完成后,需要用英文逗号(,)作为结尾,否则SQL执行后会提示异常。create语句有非常详细的语法,语法一旦错误,MySQL就无法让SQL执行通过。关于create语句详细的语法内容,读者可以参考MySQL官方文档(https://dev.mysql.com/doc/refman/8.0/en/create-table.html)。