mysql学习:数据表设计与规范

文章问题导向

mysql如何如何设计数据表?

如果你都有了答案,可以忽略本文章,或去mysql学习导图寻找更多答案


创建表命令

create table tb_name (字段,类型,长度,约束,默认,注释)

例子

create table `user`(
    `id` int(10) not null auto_increment,
    `name` varchar(20) not null default 'admin' comment '用户名'
    `pwd` varchar(50) not null comment '密码'
    primary key(id)    主键,后面不能加逗号
)engine=InnoDB auto_increment=1 charset=utf8;

说明:
int(10):          数据类型:数字,长度为10
not null:         不为空
auto_increment:  自动自增
varchar(20):     字符串类型,长度为20
default 1:        默认值为1
comment '用户表':  注释
primary key(id):  主键
engine=InnoDB:    引擎
charset=utf8:    编码模式
auto_increment=1: 自增

约束.

对字段属性限制:如:数字,字符串,长度,是否为空等等

主键约束:不重复不为空
primary key
primary key(id)

联合主键:两个加起来不重复
primary key(id, name)

自增:auto_increment

唯一:unique
和主键的区别:唯一可以为空,主键不能为空

非空:not null

无符号(非负值):unsigned

默认:default

注释:comment

外键约束:foreign key
主表中没有的数据,在副表中是不可以使用的,主表被引用时,无法删除
create table classes(
    id int primary key,
    name varchar(20)
)
create table students(
    id int primary key,
    name varchar(20),
    class_id int,
    foreign key(class_id) references classes(id)
)

数据类型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值