选择数据库
use databasename;
语法
create table tablename(
col_name1 type auto_increment,
col_name2 type not null|null default val,
col_name3 type unique,
.... ,
primary key(col_name),
index idx_name(col_name1,col_name2,...),
foreign key(col_name) references tablename(col_name)
) engine=innoDB|myISAM default charset=字符集;
- type:定义字段的数据类型。其中:字符串类型(char,varchar)需要指定长度;整型(int,bigint,tinyint等)和日期类型(datetime,timestamp等)只需要指定类型,不需要指定长度;decimal类型需要指定精度和小数位数。
- primary key参数指定表的主键。
- auto_increment参数指定字段为自增字段,该字段的类型必须为int或bigint才能设置为自增字段。
- not null|null参数设置字段能否取空值。
- default参数设置字段的默认值。
- index参数用来创建索引。idx_name指定索引名,该参数可以省略,如果省略则索引名就是字段名。
- foreign key参数用来指定外键。
- engine参数用来设置引擎类型,常用的有innoDB和myISAM引擎。
- default charset参数设置表所用的字符集。
数值类型参考
https://www.runoob.com/mysql/mysql-data-types.html
实例
create table test1(
id int auto_increment,
name varchar(50) not null,
status tinyint default 1,
primary key(id)
) engine=innoDB default charset=utf8;
create table test2(
id bigint auto_increment comment '主键',
name varchar(100) not null comment '姓名',
status int default 1 comment '状态',
primary key(id),
index name(name)
)engine=innoDB default charset=utf8
create table test3(
id bigint primary key auto_increment comment 'id',
name char(100) comment 'name',
status int comment 'status',
index name (name)
)engine=Myisam default charset=utf8mb3;