MySQL概述五(约束+视图)

本文详细介绍了MySQL数据库的约束,包括主键约束、非空约束、唯一约束和外键约束,阐述了它们的创建、修改和删除方法。同时,文章还探讨了视图的概念,视图作为虚拟表,提供了简化查询、增强数据安全性和提高表的逻辑性的功能,并展示了如何创建、修改和使用视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一(mysql数据库的约束)

约束条件: 实际上对表中的数据进行限制

主键约束: 非空,不能重复  (primary key , 简称 PK)
主键约束实现方式有两种:列级约束, 表级约束
列级约束: 主键 primary key, 外键 foreign key, 唯一约束 unique, 检查约束 check ,默认值约束 default,非空约束
表级约束: 主键,外键,唯一,检查
 

create  table stus(
    id int(2) primary key ,  -- 列级约束,id设置为主键,id不能为null,并且不能重复
    name varchar(20),
    gender varchar(10)
);

insert into stus values (1,'鲁班','男');

create  table stus(
    id int(2)  ,  -- 列级约束,id设置为主键,id不能为null,并且不能重复
    name varchar(20),
    gender varchar(10),
    constraint stus_id_pk primary key(id)
);


-- insert into stus (name,gender) values ('鲁班','男'); -- 违反了主键的非空约束
insert into stus values (1,'亚瑟','男'); -- 违反了主键的不能重复约束


drop table  stus;

表级约束: constraint

设置表级主键约束:constraint 约束名 primary key(字段)
约束名:建议: 表名_列名_约束

insert into stus values (1,'鲁班','男');
-- insert into stus (name,gender) values ('鲁班','男'); -- 违反了主键的非空约束
insert into stus values (1,'亚瑟','男'); -- 违反了主键的不能重复约束

drop table  stus;

create  table stus(
        id int(2)  ,  -- 列级约束,id设置为主键,id不能为null,并且不能重复
        name varchar(20),
        gender varchar(10)
);

insert into stus values (1,'鲁班','男');
insert into stus values (1,'鲁班','男');
select * from stus;

delete  from stus where id=1;
select * from my_db.stus;

手动添加主键约束
格式:alter table table_name add primary key(字段)
eg:alter table stus add primary key (id);
如果当前表格中指定设置主键的字段有重复的数据,此时添加主键会失败
insert into stus values (1,'鲁班','男');
insert into stus values (1,'鲁班','男');

删除主键约束
格式:alter table table_name drop primary key
eg:alter table my_db.stus drop primary key ;
insert into stus values (1,'鲁班','男');
insert into stus values (1,'鲁班','男');
select * from my_db.stus;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值