SQL常见语法

sql 复制代码
select * from  student;

select:选取

from:来源

*:所有栏位

sql 复制代码
select 姓名,班级,成绩  from students;

选取特定栏位

sql 复制代码
select  姓名,班级,成绩 from students limit 5;--限制显示拦数
select  姓名,班级,成绩 from students limit 5 offset 10;--跳过前10笔,显示11到15笔

limit 5:限制查询的笔数

limit 5 offset 10:跳过前10笔,显示11到15笔

sql 复制代码
select  姓名,班级,成绩

from students

where 班级 = '一年二班' -- <>不等于

orderd by 班级; --根据特定栏位进行排序,把相同班级的人排在一起

order by 班级,成绩; --同一个班级内,成绩由低到高排序
order by 班级,成绩 DESC; --降序排序

where表示筛选条件

where 班级 <> '一年二班': 不等于

orderd by 顺序:

根据特定栏位进行排序,把相同班级的人排在一起

order by 班级,成绩:

同一个班级内,成绩由低到高排序

order by 班级,成绩 DESC

降序排序

sql 复制代码
select  姓名,班级,成绩

from students

where 姓名 = '张晓婷'

/*系统显示所有姓张的同学
--%代表零个或多个任意字元
--like表示符合
*/

where 姓名 like '张%' 
/*系统显示所有姓张且名字为两个字的同学
--_表示一个字元
*/
where 姓名 like '张_'
sql 复制代码
select  姓名,班级,成绩

from students
where 成绩 >=80 and 成绩 <90
where 成绩 between 80 and 90 --左闭右开
where 成绩 between 80 and 90 and 班级 = '一年一班' or 班级 = '一年二班' 
-- 会显示一年二班中成绩不在特定区间的同学
/*and优先级高于or*/
where 成绩 between 80 and 90 and (班级 = '一年一班' or 班级 = '一年二班' )
where 成绩 between 80 and 90 and (班级 in('一年一班','一年二班'))

avg平均值,sum(),max(), min(), count()

as 别名

sql 复制代码
select avg(成绩),sum(成绩),max(成绩), min(成绩), count(成绩)
from students;
--显示平均分数/总和/最大值/最小值/数量

select avg(成绩) as 成绩平均,max(成绩) as 最高分
from students;
--设置别名

round() 保留小数

group by分组

sql 复制代码
select round(avg(成绩),1) as 成绩平均
from students;
--保留一位小数

select round(avg(成绩)) as 成绩平均
from students;
--保留整数

select 班级, round(avg(成绩)) as 成绩平均
from students
group by 班级;
--显示每个班的平均成绩

select 班级, round(avg(成绩)) as 成绩平均
from students
group by 班级
order by 成绩平均 DEC

语句顺序

count(*)-计算总行数

count(distinct(班级)) -- 只有三行,只有三个班级

sql 复制代码
select count(*)
from students

select count(班级)

select count(distinct(班级)) --删除重复的

creat table建立表格

drop table删除表格

sql 复制代码
creat table club(
社团编号 int PRIMARY KEY
社团名称 varchar(15)
)

drop table club2

insert into

sql 复制代码
insert into clubs(社团编号, 社团名称)
values(101,'吉他社'),(102, '篮球社')

update

sql 复制代码
insert into clubs(社团编号, 社团名称)
values(101,'吉他社'),(102, '篮球社')

uodate clubs
set 社团名称 = '舞蹈社'
where 社团编号 = '101'

delete

sql 复制代码
delete
from clubs
where 社团编号 = 101;

跨表格查询 left join inner join

sql 复制代码
select students.姓名 students.社团 students.社团名称
from students
left join clubs -- 把clubs表格加进来(列出左侧表格的所有记录)
on student.社团 = clubs.社团编号 --两个表格如何连接 

select students.姓名 students.社团 students.社团名称
from students
inner join clubs -- 把clubs表格加进来(内部联结,只有成功对应的记录才会被列出来)
on student.社团 = clubs.社团编号 --两个表格如何连接 
相关推荐
得物技术3 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug7 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom7 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*7 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰7 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*7 小时前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring
-Xie-8 小时前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
七夜zippoe8 小时前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构