DQL 数据查询语言

DQL 数据查询语言

select 查询

查询多列
select 列1,列2 from 表;

查询全部列
select * from 表;

where子句

where+ 条件

SELECT * FROM student WHERE c_number<>1; 

SELECT * FROM student WHERE c_number BETWEEN 2 AND 3; # 查询2班 3班的同学

SELECT * FROM student WHERE c_number IS NOT NULL; #  is NULL 为NULL

SELECT * FROM student WHERE c_number>=2 AND c_number<=3;

关系运算

运算符作用
>大于
>=大于等于
<>不等于
=等于
<小于
<=小于等于

like子句

like 像…一样

like ‘张%’ 以张开头的所有字符串
like ‘C_’ C+一个其他字符

% 匹配零个或者多个任意字符
_ 匹配一个任意字符

SELECT * FROM class WHERE c_name LIKE 'C%';
SELECT * FROM class WHERE c_name LIKE 'C_';

SELECT * FROM class WHERE c_name LIKE '%o%'; # 名字中带o的课程

and or

多个条件使用and or连接

is null/ is not null

查询为null或者不为null的字段

select * from student where stuname is not null;

order by 按顺序输出

select * from student order by stuName;

order by stuName asc;//升序(默认)
order by stuName desc;//降序

 # 按照性别升序排序  性别一样按照名字降序排序
SELECT * FROM student ORDER BY sex ASC,stuName DESC;

distinct 去重

`select distinct stuId from student;

SELECT DISTINCT c_number FROM student; # 查询有学生的班级`

去除重复项

union/ union all

union 合并多个查询结果 去掉重复项
union all 合并多个查询结果 不去除重复项

select * from student
union
select * from teacher;

INSERT INTO class
SELECT 7,'日语'
UNION 
SELECT 8,'法语'
UNION
SELECT 9,'西语';

合并要求查询的结果必须列一样
合并 班级号位1 姓张的同学

SELECT * FROM student WHERE c_number=1 OR stuName LIKE '张%';

SELECT * FROM student WHERE c_number=1
UNION ALL
SELECT * FROM student WHERE stuName LIKE '张%';

分页查询 limit

select * from student limit 3; # 查询前三项`  
select * from student 
limit 4,3; # 从第4项开始查询接下来三项
SELECT * FROM student DESC LIMIT 2,3;  #从第二项开始 截取后面的三项

多表查询

笛卡尔积

SELECT class.c_name,student.stuName FROM class,student; # 笛卡尔积

SELECT class.c_name,student.stuName FROM class,student WHERE class.c_no=student.`

内链接方式

-- 联合查询
-- 内连接  找到class 班号和student的班号相同的记录
-- inner join

SELECT class.c_name,student.`stuName`
FROM class INNER JOIN student
ON class.c_no=student.`c_number`;

# 查询student 班级编号和 class班级编号一致的内容
#  不存在学生的班级  不存在班级的学生  都不会查询出来

右连接

根据右表为基础(student中的所有学生) 可以查询没有班级的同学

SELECT class.c_name,student.`stuName`
FROM class RIGHT JOIN student
ON class.c_no=student.`c_number`;

左连接

根据左表 (所有的班级) 可以查询没有学生的班级

SELECT class.c_name,student.`stuName`
FROM class LEFT JOIN student
ON class.c_no=student.`c_number`;

全连接 full join —> MySQL不支持 union 左连接+右连接

from 表1 inner join 表2 on 条件1 inner join 表3 on 条件…
一般连接查询 表格不需要连接太多 表格设计部分有问题

select class.className,student.stuName,subject.name
from `subject` left join class on subject.classid=class.id 
left join student on class.id=student.classNo;

补充

别名 as 或者空格 如果多个表 字段名相同 可以用别名区分
或者用表名区分

SELECT c_no AS 班号, c_name 班名 
FROM class;
SELECT tz29.class.c_no, tz29.class.c_name
FROM tz29.class; 
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值