目录
多条件的修改(使用and或or进行连接)(当满足where后的条件才会进行修改)
SQL语句
SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一 种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库 脚本文件的扩展名。
SQL语句可以分为4大类:DDL(数据定义语言),DML(数据操作语言),DQL(数据查询语言),DCL(数据控制语言)。
今天要讲的就是DML(增insert,删delete,改update)和DQL(查询select)。
增(insert)
insert into 表名(字段名,...,字段名 ) value/values (值,...,值)
value(添加一条数据)
values(一次性添加多条数据)
一次性添加多条:
insert into 表名(字段) values (第一条的值),(第二条的值)
不推荐使用
方式一:
insert into 总表名 select 字段 from 旧表名
新进行查询,查到后插入总表
方式二:
create table 新表 select 字段 from 旧表
新进行查询,查到后进行创造新的表
改(update)
修改必须要加条件
update 表名 set 字段名=值,...,字段名=值 where 子句(条件)
对整张表进行修改
update 表名 set 字段名=值,...,字段名=值
带条件的修改(当满足where后的条件才会进行修改)
update 表名 set 字段名=值,...,字段名=值 where 字段=某个值
多条件的修改(使用and或or进行连接)(当满足where后的条件才会进行修改)
update 表名 set 字段名=值,...,字段名=值 where 字段=某个值 and 字段=某个值
update 表名 set 字段名=值,...,字段名=值 where 字段=某个值 or 字段=某个值
范围型的多条件修改(between...and)
update 表名 set 字段名=值,...,字段名=值 where 字段 between 某个值 and 某个值
删(delete)
必须要带上条件(否则会直接将整张表删除)
带条件的删除(当满足where后的条件才会进行删除)
delete from 表名 where 字段 = 某个值
不带条件的删除(删除整张表)
delete from 表名
多条件的删除(当满足where后的条件才会进行删除)
delete from 表名 where 字段 = 某个值 and 字段 = 某个值
查(select)
普通查询
所有的查询都是虚拟表
查询全部
select * from 表名
不建议使用*,建议将每个字段都写出来
单个字段的查询
select 字段 from 表名
多个个字段的查询
select 字段,...,字段 from 表名
去除重复的数据
select distinct 字段,...,字段 from 表名
带条件的查询
select 所查的字段 from 表名 where 条件表达式
多条件的查询
select 所查的字段 from 表名 where 条件1 and 条件2
select 所查的字段 from 表名 where 条件1 or 条件2
条件是可以为字段大于,等于,小于,大于等于,小于等于,不等于某个值。
like模糊查询(一般用于查询名字)
模糊符号:% 代表任意多的字符。
模糊符号:_ 代表一个任意字符。
三条SQL语句是前模糊,后模糊,前后都模糊查询
select 所查的字段 from 表名 where 字段名='%key'
select 所查的字段 from 表名 where 字段名='key%'
select 所查的字段 from 表名 where 字段名='%key%'
in在某个特定范围
select 所查字段 from 表名 where 字段名 in (值,...)
查询null(is)
select 所查字段 from 表名 where 字段名 is null
select 所查字段 from 表名 where 字段名 is not null
聚合函数
计算查询数据的数量
select count(*) from 表名
count()的三种写法
count(*)
count(1)常量都行
count(字段的主键)
计算查询数据的总和
select sum(字段名) from 表名
计算查询数据的最大值
select max(字段名) from 表名
计算查询数据的最小值
select min(字段名) from 表名
计算查询数据的平均值
select avg(字段名) from 表名
分组
group by 要分组的字段
having 筛选,分组之后要对数据进行筛选
order by 多个字段进行排序
升序:asc(默认)
降序:desc
查询后进行分组(更加字段名分组)
select 所查的字段 from 表名 group by 字段名
查询后进行分组,对数据进行处理
select 所查的字段 from 表名 group by 字段名 having 过滤的表达式
查询后进行分组,对数据进行处理,并按字段进行排序(升序)
select 所查的字段 from 表名
group by 字段名
having 过滤的表达式
order by 字段名 asc
select 所查的字段 from 表名
group by 字段名
having 过滤的表达式
order by 字段名
多表联查
关键字on后的是两张表的连接条件。
内联查询(inner join)
select 所查的字段 from 表名 inner join 另外一张表 on 表1.字段1=表2.字段1
左外联查询(left join)
select 所查的字段 from 主表名 left join 副表名 on 主表.字段1=副表.字段1
右外联查询(right join)
select 所查的字段 from 副表名 right join 主表名 on 主表.字段1=副表.字段1