学习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;
此语法是完全复制表结构,但是不包含数据。