当前位置:网站首页>MySQL——增删改查进阶
MySQL——增删改查进阶
2022-08-03 18:26:00 【大本钟下送快递】
目录
一,数据库的约束
1.not null——指定列非空
create table student (
id int not null,
sn int ,
name varchar(20),
qq_mail varchar(20)
);
2.unique——指定值唯一
create table student (
id int ,
sn int unique,
name varchar(20),
qq_mail varchar(20)
);
使用unique约束,数据库自动给对应列创建索引
3.default——默认值约束
create table student (
id int ,
sn int ,
name varchar(20) default ' 未命名',
qq_mail varchar(20)
);
4.primary key——主键约束
create table student (
id int primary key auto_increment,
sn int ,
name varchar(20) ,
qq_mail varchar(20)
);
1.相当于 unique+not null
2.一个表中只能有一个(分布式部署时不能保证不重复)
3.常与 auto_increment 搭配使用,可自动增加值,也支持手动分配.
手动分配后,按手动分配后新数据继续自增
生成公式=(时间戳+机房编号/主机编号+随机因子)==>计算哈希值
5.foreign key——外键约束
create table classes (
id int primary key auto_increment,
name varchar(20),
`desc` varchar(100)
);
create table students (
id int primary key auto_increment,
sn int unique,
name varchar(20),
qq_mail varchar(20),
classes_id int,
foreign key (classes_id) references classes(id)
);
父表为classes,子表为students
1.子表存在,不能直接删父表
2.被约束的不能直接删除
拓展:逻辑删除
将数据标记为无效
6.check约束——了解
create table students (
id int primary key auto_increment,
sn int unique,
name varchar(20),
sex varchar(20),
check (sex='男' or sex='女')
);
使用时不报错且自动忽略
二,表的设计
1.主要思路
(1).根据需求,找到“实体”
(2).梳理实体间的关系
一对一
一对多
多对多
需要额外一个关联表
三,新增
可以把查询的结果插到另一个表中
insert into 表1 select * from 表2 [where ];
四,查询
1.count——计算行数
select count(列/*)from 表
注意:
count(列),若该列为null,则不计算;若该列为*,所有列为空也计算
2.sum——若干行之间进行加和
select sum(列名) from 表名;
空值不参加运算,直接跳过
3.avg——求若干行平均数
4.max——求若干行最大值
5.min——求若干行最小值
边栏推荐
猜你喜欢
智能合约安全——delegatecall (2)
这是Facebook母公司 关于元宇宙的80万亿美元豪赌
MySQL如何 drop 大表
想要防止数据泄漏,如何选择国产浏览器?
荧光标记多肽FITC/AMC/FAM/Rhodamine/TAMRA/Cy3/Cy5/Cy7-Peptide
【Azure 事件中心】使用Azure AD认证方式创建Event Hub Consume Client + 自定义Event Position
基于PHP7.2+MySQL5.7的回收租凭系统
B628芯片电路图,B628升压IC的PCB布局PCB
架构基本概念和架构本质
细胞不可渗透的荧光探针 锌离子荧光探针Zinquin 151606-29-0
随机推荐
WEB 渗透之RCE
走进通信:为什么4G信号满格,却上不了网呢
【HCIP】MPLS实验
什么是鉴权?一篇文章带你了解postman的多种方式
WEB 渗透之CSRF
OSError: [WinError 123] 文件名、目录名或卷标语法不正确
EasyNTS上云网关断电重启后设备离线是什么原因?
借助Web3盘活日本优质IP:UneMeta 与 OpenSea 的差异化竞争
CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes), problem: (D) Magical Array
【ORACLE】什么时候ROWNUM等于0和ROWNUM小于0,两个条件不等价?
POJ 2377 Bad Cowtractors(最大生成树)
How to install and start VNC remote desktop service on cloud GPU?
【Deliberately practice the view of the back tube】deliberately practice
学弟:我适不适合转行做软件测试?
online 方式创建索引触发trigger怎么办?
微信小程序分享功能
超T动力 焕“芯”出发 | 中国重汽专属定制版WP14T产品闪耀登场
Flask框架——项目可安装化
Jenkins CI平台(二)
域名抢注“卷”到了表情包?ENS逆势上涨的新推力