学习MySql数据库,最常用的创建表语法如下:

[中括号内为可选参数]    create table 表名(    字段名1 类型[(宽度)] [约束条件],      字段名2 类型[(宽度)] [约束条件],    字段名3 类型[(宽度)] [约束条件]    )

# 注意

1、在同一张表中,字段名不能相同

2、宽度 和 约束条件为可选参数,字段名 和 字段名下记录的类型 是必须的

3、最后一个字段后不能加逗号

在创建表的时候我们需要考虑到数据的类型,简单的介绍如下:

整型:存储各种年龄,等级,id,号码等数据

浮点型:记录身高,体重,薪资等带小数的数据,字段限制特点:(5,3)前一位表示所有的位数,后一位表示小数个数

字符类型:char(定长)、varchar(变长)

时间类型:date:2019-05-01

time:11:11:11

Datetime:2019-01-02 11:11:11
Year:2019

枚举与集合类型:

枚举 enum # 多选一

集合 set # 多选多

约束条件:

NOT NULL    标识该字段不能为空DEFAULT    为该字段设置默认值PRIMARY KEY (PK)    标识该字段为该表的主键,可以唯一的标识记录FOREIGN KEY (FK)    标识该字段为该表的外键UNIQUE KEY (UK)    标识该字段的值是唯一的AUTO_INCREMENT    标识该字段的值自动增长(整数类型,而且为主键)UNSIGNED 无符号ZEROFILL 使用0填充

not null+default(字段不能为空+为字段设置默认值)

unique(单列唯一、联合唯一)

primary key + auto_increment

primary key: 标识该字段为该表的主键,可以唯一的标识记录 auto_increment: 标识该字段的值自动增长(整数类型,而且为主键)

以上都是创建不存在表的常用要点,那么除此之外还有复制表及数据的语法,如下:

CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;

此语法可以复制表及数据,但是不具备复制表的主键、索引、外键。

SHOW CREATE TABLE orig_tbl;

此语法是生成表的创建脚本,需要手动改表名。

CREATE TABLE targetTable LIKE orig_tbl;

此语法是完全复制表结构,但是不包含数据。