MYSQL基础知识总结

本文介绍了SQL中的自连接查询,通过示例展示了如何将一张表模拟为左右两张表进行联接操作。同时,详细讲解了子查询的使用,包括在查询中嵌套子查询以获取特定条件的数据。此外,还涵盖了聚合函数的应用,如求平均值、最大值等,并探讨了如何结合使用这些函数来解决实际问题。文章最后提到了一些SQL查询的实用技巧,如处理查询结果的乱码和权限修改。
摘要由CSDN通过智能技术生成

自连接查询

在这里插入图片描述
拆成两个表

城市表 和 省份表

在这里插入图片描述
将表关联 省里面有多少个城市

 create table areas(
 id varchar(30) not null primary key,
 title varchar(30),
 pid varchar(30)
 );

创建一张表
id 是当前城市id
pid是当前省份id,有的数据pid为空,因为本身就是省份

source 命令执行sql文件,导入

 cd Desktop/    # 进入桌面
 mysql -uroot -p # 进入mysql 

不在当前目录的下,打开启动的mysql,需要 source

source Desktop/areas.sql;
select c.id,c.title,c.pid,p.title from areas c inner join areas p on c.pid = p.id 
where p.title = '山西省'
limit 100;

总结:
自连接查询
把一张表 模拟成左右两张表,进行连表查询。

子查询

在一个select中再嵌套一个select语句查询

括号里面是一个完成的查询语句,可以用来单独执行的

案例: 查询出 大于平均值的学生

select avg(age) from students;
select * from students where age >= 30;

合并

select * from students where age > (select avg(age) from students);

案例
查询有学生的班级

select c_id from students where c_id is not null;

select * from classes where id in (select c_id from students where c_id is not null);

查询年龄最大 身高最高 的人

select max(age) from students;
select max(height) from students;

select * from students where age = (select max(age) from students)
and height = (select max(height) from students);

在这里插入图片描述
升级:

select * from students where (age,height) = (select max(age), max(height) from students);

总结:
子查询是一个完整的查询语句,
执行子查询执行顺序: 先括号内子查询,后主查询根据子查询的结果再进行执行。

小tips:
当select查询的表的内容复杂,输出导致乱码
可以在后面 加上 \t; 让其排列整齐后输出;

例子:查询 mysql本身的user表,
select * from users; 会乱
select * from users \t; 就不乱了.

将远程用户权限修改为 全部!
在这里插入图片描述

mysql修改数据

修改字段 类型 名字 和 删除表
alter table 表名 modify/change 列名 新列名/类型 约束;
在这里插入图片描述

mysql常用增删查改数据重点

查询
在这里插入图片描述
添加
在这里插入图片描述
修改数据
update 记得一定要加 where 条件!!!!!
在这里插入图片描述
删除数据
在这里插入图片描述
逻辑删除
在这里插入图片描述

总结

在这里插入图片描述

as 和 distinct 去重

as 起别名
distinct 去重
在这里插入图片描述

where 条件语法

在这里插入图片描述

比较运算符

在这里插入图片描述
例子:
在这里插入图片描述

逻辑运算符

and
or
not
在这里插入图片描述

模糊查询

like % -
在这里插入图片描述

范围查询

连续范围 beteween … and …
in 非连续的范围查询
在这里插入图片描述

空判断

在这里插入图片描述

排序 order by

在这里插入图片描述

分页查询

在这里插入图片描述
在这里插入图片描述

聚合函数

在这里插入图片描述
例子:
在这里插入图片描述
在这里插入图片描述
注意 ifnull 函数
可以讲 null 的部分,按照 均值 进行 统计到其中 来显示
这个例子就是统计 身高的平均值, 将 height 为 null的字段中的数据 按照 0来计算

分组查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结

在这里插入图片描述

内连接 和 外连接(左右链接)

内连接:
在这里插入图片描述
左连接:
在这里插入图片描述

右连接:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值