Mysql添加约束

Mysql添加与删除约束

1.主键约束:

格式为:

alter table 表格名称 add constraint 约束名称 增加的约束类型 (列名)

例子:

alter table emp add constraint ppp primary key (id);

2.check约束

就是给一列的数据进行了限制

格式:

alter table 表名称 add constraint 约束名称 增加的约束类型 (列名)

例子:

alter table emp add constraint xxx check(age>20);

3.unique约束

这样的约束就是给列的数据追加的不重复的约束类型

格式:

alter table 表名 add constraint 约束名称 约束类型(列名)

例子:

alter table emp add constraint qwe unique(ename);

4.默认约束

意思很简单就是让此列的数据默认为一定的数据

格式:

alter table 表名称 add constraint 约束名称 约束类型 默认值) for 列名

例子:

alter table emp add constraint jfsddefault 10000 for gongzi;

5.外键约束:

格式:

alter table 表名 add constraint 约束名称 约束类型 (列名) references 被引用的表名称 (列名)

例子:

alter table emp add constraint jfkdsj foreign key (did) references dept (id);

6.删除约束

格式:

alter table SC drop constraint 约束名

栗子:

alter table SC drop constraint gradeRange;
MySQL添加约束是为了保证数据的一致性和完整性。约束可以分为多种类型: 1. **主键约束 (Primary Key)**:用于唯一标识表中的每一行,不允许有重复值,且不能为空。在`CREATE TABLE`语句中使用`PRIMARY KEY`关键字。 ```sql CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT ); ``` 2. **唯一约束 (Unique Key)**:允许字段中的值是唯一的,但可以为空。通常使用`UNIQUE`关键字创建。 ```sql CREATE TABLE emails ( email VARCHAR(100) UNIQUE ); ``` 3. **外键约束 (Foreign Key)**:关联两个表之间的数据,保证引用关系的有效性。在子表中引用父表的主键,使用`FOREIGN KEY`。 ```sql CREATE TABLE orders ( order_id INT PRIMARY KEY, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ); ``` 4. **检查约束 (Check)**:设置特定列的条件,验证该列的值是否满足指定规则。 ```sql CREATE TABLE grades ( grade INT CHECK (grade BETWEEN 0 AND 100) ); ``` 5. **默认约束 (Default)**:为某些列指定默认值,如果插入时不提供,则使用这个默认值。 ```sql CREATE TABLE employees ( salary DECIMAL(10, 2) DEFAULT 5000.00 ); ``` 6. **NOT NULL 约束**:指明某个字段不允许存储NULL值。 ```sql CREATE TABLE addresses ( street VARCHAR(100) NOT NULL ); ``` 使用`ALTER TABLE`命令也可以在表创建后添加约束。例如,如果你想要向已存在的表添加主键约束: ```sql ALTER TABLE students ADD PRIMARY KEY (id); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值