選擇數據庫
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;