mysql建表约束

SQL数据定义之约束

主键约束

唯一确定一张表中的一条记录,使字段不重复且不为空

CREATE TABLE user(
id int PRIMARY KEY,
name VARCHAR(20));

联合主键:主键值的并集可以唯一确定一张表中的一条记录

CREATE TABLE user2(
id int PRIMARY KEY,
name VARCHAR(20)PRIMARY KEY(id, name));

自增约束

CREATE TABLE user2(
id int PRIMARY KEY auto_increment,
name VARCHAR(20)PRIMARY KEY(id, name));

唯一约束

约束修饰的字段的值不可以重复

creat table user(
id integer,
name varchar(20) -- 方法一
unique(name) -- 方法二
);
alter table user add unique(name) -- 方法三 
insert into user values(1, '张三')
-- insert into user values(1, '张三') 错误,张三重复

删除唯一约束

alter table user 
drop index name

添加唯一约束

alter table user modify name varchar(20) unique

非空约束

creat table user(
id int,
name varchar(20) not null
);
-- insert into user values(1) 错误

默认约束

creat table user(
id integer,
    name varchar(20),
    age integer default 10
);
insert into user (id, name) values(i, '张三');

外键约束

creat table classes(
    id integer primary key,
    name varchar(20)
);
creat table student(
    id integer primary key,
    name varchar(20),
    classid integer,
    foreign key(classid) references classes(id)
);

1.主表classes中没有的数据值,在副表(子表)中,是不可以使用的

2.主表中的记录被附表引用,是不可以被删除的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL中,可以通过约束来保证表中数据的完整性和一致性。常见的约束有主键约束、唯一约束、非空约束和外键约束等。下面是MySQL建表时的约束介绍: 1. 主键约束:主键是一种特殊的唯一约束,它能够唯一确定一张表中的一条记录。在MySQL中,可以通过以下两种方式添加主键约束: ①在创建表时添加主键约束: ```mysql CREATE TABLE user ( id INT PRIMARY KEY, # 添加主键约束 name VARCHAR(20), age INT ); ``` ②在创建表后添加主键约束: ```mysql ALTER TABLE user ADD PRIMARY KEY (id); # 添加主键约束 ``` 2. 唯一约束:唯一约束用于保证某个字段的值在表中是唯一的。在MySQL中,可以通过以下两种方式添加唯一约束: ①在创建表时添加唯一约束: ```mysql CREATE TABLE user ( id INT, name VARCHAR(20) UNIQUE, # 添加唯一约束 age INT ); ``` ②在创建表后添加唯一约束: ```mysql ALTER TABLE user ADD UNIQUE (name); # 添加唯一约束 ``` 3. 非空约束:非空约束用于保证某个字段的值不为空。在MySQL中,可以通过以下两种方式添加非空约束: ①在创建表时添加非空约束: ```mysql CREATE TABLE user ( id INT, name VARCHAR(20) NOT NULL, # 添加非空约束 age INT ); ``` ②在创建表后添加非空约束: ```mysql ALTER TABLE user MODIFY name VARCHAR(20) NOT NULL; # 添加非空约束 ``` 4. 外键约束:外键约束用于保证表与表之间的数据一致性。在MySQL中,可以通过以下两种方式添加外键约束: ①在创建表时添加外键约束: ```mysql CREATE TABLE order ( id INT PRIMARY KEY, user_id INT, FOREIGN KEY (user_id) REFERENCES user(id) # 添加外键约束 ); ``` ②在创建表后添加外键约束: ```mysql ALTER TABLE order ADD FOREIGN KEY (user_id) REFERENCES user(id); # 添加外键约束 ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值