MySQL建表(create table)命令详解

MySQL建表(create table)命令详解

  1. create table命令
    强调:使用建表命令之前必须使用use命令选择表所在的数据库。create table命令的格式如下:

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=字符集;
1
2
3
4
5
6
7
8
9
说明:

(1)type:定义字段的数据类型。其中:字符串类型(char,varchar)需要指定长度;整型(int,biging,tinyint等)和日期类型(datetime,timestamp等)只需要指定类型,不需要指定长度;decimal类型需要指定精度和小数位数。
(2)primary key参数指定表的主键。
(3)auto_increment参数指定字段为自增字段,该字段的类型必须为int或bigint才能设置为自增字段。
(4)not null|null参数设置字段能否取空值。
(5)default参数设置字段的默认值。
(6)index参数用来创建索引。idx_name指定索引名,该参数可以省略,如果省略则索引名就是字段名。
(7)foreign key参数用来指定外键。
(8)engine参数用来设置引擎类型,常用的有innoDB和myISAM引擎。
(9)default charset参数设置表所用的字符集。

2.举例:
(1)创建dept表:

create table dept(
dept_id int primary key auto_increment, --dept_id设置为int类型,自增字段,主键
dept_name char(20) not null default ‘’, --dept_name不能为空,默认值为空字符串
phone char(20)
);
1
2
3
4
5
(2)创建emp表:

create table emp(
emp_id int auto_increment,
emp_name char(20) not null default ‘’,
birth datetime not null,
phone char(20) not null,
addr varchar(200) not null,
dept_id int not null default 0,
index idx_emp_name(emp_name),
index idx_emp_name_birth(emp_name,birth),
primary key(emp_id), --emp_id字段为主键
foreign key(dept_id) references dept(dept_id)
) engine=innoDB default charset=utf8;
————————————————
版权声明:本文为CSDN博主「睿思达DBA」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44377973/article/details/103064447

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值