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.社团编号 --两个表格如何连接 
相关推荐
layman05281 小时前
node.js 实战——mongoDB
数据库·mongodb·node.js
爱可生开源社区2 小时前
SQLShift 全新上线:Oracle→OceanBase 迁移利器
数据库
wkj0012 小时前
java 和 C#操作数据库对比
java·数据库·c#
编程在手天下我有2 小时前
Redis 数据类型全览:特性、场景与操作实例
数据库·redis·数据结构与算法
左灯右行的爱情2 小时前
缓存并发更新的挑战
jvm·数据库·redis·后端·缓存
Qiuner3 小时前
软件设计师速通其一:计算机内部数据表示
服务器·数据库·信号处理
文牧之4 小时前
PostgreSQL oracle_fdw 扩展解析
运维·数据库·postgresql
一个天蝎座 白勺 程序猿5 小时前
Python爬虫(9)Python数据存储实战:基于pymysql的MySQL数据库操作详解
数据库·python·mysql
Bug哆哆5 小时前
数据库安装和升级和双主配置
数据库
Themberfue6 小时前
Redis ⑥-string | hash | list
数据库·redis·分布式·缓存·list