python-数据库-4

news/2025/1/9 12:41:43/

数据查询

分页(限制查询返回条数)

limit 子句

create table test(id int primary key auto_increment,name char(5),gerden varchar(2),grade double(4 , 1)
);insert into test(name , gerden , grade) values 
('刘水东','男',89),
('曹洪清','男',95),
('轻岚','男',88),
('泽瑞','男',90),
('次元','未知',91),
('尺度','女',80),
('琼野','女',76),
('亡灵','未知',81),
('陆凯','男',79),
('小豆腐','女',80.5),
('sm','女',76);-- 分页select * from 表名 where 条件 limit 返回条数;select * from test;
select * from test limit 4;select * from test where gerden='未知';
select * from test where gerden='未知' limit 1;-- select * from 表名 where 条件 limit 起点 , 返回条数;select * from test limit 1 , 4;select * from test where gerden='女';select * from test where gerden='女' limit 1 , 4;

分组

group by :根据指定的字段进行分组

-- select * from 表名 where 条件 group by 字段名(指定分组的字段名);
select * from test where gerden='女';
select * from test where gerden='男';
select * from test where gerden='未知';
select * from test group by gerden;select gerden , count(name) as num from test group by gerden;

as

as是对字段以及表取别名 , 方便后续操作 , 或者将查询得到表字段名更加有可读性

聚合筛选

having 对分组之后的数据进行筛选 , where只能操作表中的字段 ,having可以和聚合函数联合使用

注意:having必须是跟group by 一起使用(avg , max , min , sum , count)

select gerden , count(name) as num from test 
group by gerden having count(name)> 4;

子查询

在select子句中 , 嵌套另一个select语句

-- 在select子句中 , 嵌套另一个select语句
-- 子句查询得到的结果作为一个新的表交给外层的查询语句,
select * from (select * from 表名 where 条件) as 名字 where 条件;select * from t1 where gerden='男';select * from (select * from test where gerden='男')as n
where grade>90;

在where子句中 , 嵌套一个select语句

-- 在where子句中 , 嵌套一个select语句
-- 该子句查询得到的结果必须是一个确切的数据 , 不能是一个多行多列的表格,返回的结果交过外层进行条件筛选。
select * from 表名 where 条件(select * from 表名 where 条件)select * from test where name='琼野';
select grade from test where name='琼野';select * from test 
where grade>(select grade from test where name='琼野');
select max(grade) from t1;
select * from t1 where grade=(select max(grade) from t1);

表与表的关系

多表之间的关系

1、 一对一 身份证号码:一个人有且只有一个身份证号

2、一对多/多对一 一个班级可以有多个学生 个人跟出生地

3、多对多 大学生——选课 城市 —— 人

外键约束

foreign key : 建立表与表之间的某种约束关系 , 这个关系的存在 ,可以让表与表之间的数据关联性更强。

主表:被外键链接的(要有主键 , 提供给外键进行链接)

从表:设置外键约束的进行链接的表

进行设置链接或被链接的字段都设置成为主键

注意:主表必须先创建 , 才能创建从表进行外键约束

外键字段填充的数据 , 值链接主表对应字段的,相对应的数据

-- 多表
create table test(id int primary key auto_increment,name char(5)
);create table test1(id int primary key auto_increment,age int(3),class char(2),-- 创建一个字段作为外键约束-- 设置唯一约束 , 只要是让表与表之间成为一个一对一的关系test1_id int unique,foreign key (test1_id) references test(id)
);insert into test(name) values 
('刘水东'),
('曹洪清'),
('轻岚'),
('泽瑞'),
('次元'),
('尺度'),
('琼野'),
('亡灵'),
('陆凯'),
('小豆腐'),
('sm');insert into test1(age , class , t3_id) values 
(20 , '一班' , 4),
(22 , '二班' , 2),
(23 , '一班' , 9),
(24 , '三班' , 10),
(25 , '二班' , 7),
(19 , '二班' , 1),
(20 , '二班' , 6);-- 一对多、多对一
-- 在外键创建中,外键要创建在多的一方
-- 部门表
create table test2(id int primary key auto_increment,dep_name char(5),job char(5)
);-- 员工表
create table test3(id int primary key auto_increment,name char(5),test3_id int,foreign key (test3_id) references test2(id)
);insert into test2(dep_name , job) values 
('财务部' , '算钱的'),
('人力部' , '招人的'),
('教学部' , '讲课的');insert into test3(name , test3_id) values 
('阿宸' , 3),
('七零' , 3),
('小沫' , 2),
('青叶' , 1);update test2 set dep_name='行政部' where id=2;delete from test2 where dep_name='行政部';

http://www.ppmy.cn/news/51630.html

相关文章

【SCI征稿】IEEE旗下1区人工智能类SCI, 稳定检索22年,仅3个月左右录用~

一、期刊简介: 1区人工智能类SCI&EI (高质量) 【期刊概况】IF:6.0-7.0, JCR1区, 中科院3区; 【终审周期】走期刊部系统,3个月左右录用; 【检索情况】SCI&EI双检,正刊; 【数据库收录年份】2001…

JVM中的垃圾回收概念及其基础算法说明

文章目录 一、 垃圾回收概述1、什么是垃圾?2、为什么我们需要GC 二、垃圾回收之判别对象死活1、标记阶段:引用计数算法2、标记阶段:可达性分析算法 二、 finalization 机制三、整理和清除对象1、标记-清除算法(Mark-Sweep&#xf…

应急照明系统在民用建筑的设计应用与产品选型

【摘要】应急照明分为备用照明、安全照明及疏散照明。文章介绍了应急照明系统的设计、灯具选择、灯具布置、配电等要求。并结合实例进行疏散照明的计算,以指导应急照明系统的设计与应用。 【关键词】照度;光通量;消防应急灯具;A型…

C#开发的OpenRA的游戏侧边界面

C#开发的OpenRA的游戏侧边界面 OpenRA游戏开始之后,会在右边提供一个游戏侧边界面, 通过这个游戏界面,可以查看游戏状态、执行一些特殊的命令,以及雷达显示, 还有创建各种需要的建筑物,以及生产各种兵种,飞机等等。 这个游戏界面,就是给玩家提供一个操作平台,因此它…

Redis序列化设置以及jetcache连接Redis序列化的设置

1、问题 问题:我在使用jetchche进行连接redis的时候,存入redis的value一直使用的是redis默认的序列化方式,是使用的jdk序列化。当我使用jetcache向redis存入一个对象 存入redis的结果: 这是使用jdk序列化的结果。 但是我记得使用redis的时候…

使用手机在网状态查询 API 有效防止虚假注册的设计思路

引言 随着移动互联网的普及,手机在网状态成为重要的数据指标。在网状态反映了手机用户的实际使用情况,对于各类企业和机构具有重要意义。 本文将为大家介绍手机在网状态 API 的主要特点和优势,并且探讨手机在网状态 API 的应用场景和效果展…

【SVN已解决】svn下载成功图标不显示解决方法

介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力&a…

音视频八股文(3)--ffmpeg常见命令(2)

07-ffplay命令播放媒体 播放本地文件 播放本地 MP4 视频文件 test.mp4 的命令,从第 2 秒位置开始播放,播放时长为 10 秒,并且在窗口标题中显示 “test time”: ffplay -window_title "test time" -ss 2 -t 10 -autoe…