总复习:
语句写法:
insert into 语句:新增数据
语法:insert into 表名 values(值1,值2……)这里的写的值是要与表中的列一一对应的,自增的列可以不写。
新增指定数据的列:
insert into 表名(列1,列2,列3……) values(值1,值2,值3……)
新增多行数据:
1.insert into 表名 values (值1,值2,值3……) , (值1,值2,值3……) 这里的写的值是要与表中的列一一对应的,自增的列可以不写。
2.insert into 表名 select values (值1,值2,值3……) Union …… (这里要写多少行就加多少行,最后一个的新增的数据Union不要加)select values (值1,值2,值3……)
update 语句:更改数据
语法:update 表名 set 列名=新值 where 列名(要想更改准确的地方时,where后这样写 列名=某值)
更新某一行的一个列:
update Employee set Rank=200 where name=‘张三‘(更新Employee表中姓名叫张三的Rank更新为200)
更新某一行的若干列:
update Employee set Address=‘中山32号‘;Gerden=‘女‘ where name=‘李四‘(更新Employee表中姓名叫李四的人,他的地址更新为中山32号,他的性别更新为女)
delete语句:删除数据
语法:delete from 表名 where 列名=值(这个where是用来准确的找到某行数据的,不加的话会直接删除整张表)
删除某一行:
delete from Employee where name=‘张三‘(删除Employee表中姓名叫张三的数据)
删除所有行:
delete from Employee (删除整张表,但是表结构不会被删除)
select语句:查询语句 *代表所有数据列
语法:select 列名称 from 表名 (查询某个表中的某列的数据)
select * from 表名 (查询某个表中所有列的数据)
例:查询Employee表中的 姓名列 和性别列 的数据
select name,Gender from Employee
例:查询Employee表中所有的数据(整张表)
select * from Employee
例:查询Employee表中的 姓名叫张立三的人 或者 性别是男的人 的数据
select * from Employee where name=‘张立三‘ or Gender=‘男‘
distinct语句:去掉重复数据
select distinct 列名 from 表名
where子句:用于帮助我们精确的查找数据,用于帮助我们筛选数据
语法:一般联合使用
select 列名 from 表名 where 列 运算符 值
操作符:
=(等于操作符)、<>(大于小于操作符)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、between(两者之间)、like(模糊查询)、and(并且)、or(或者)
order by 子句:排序
语法:
order by 语句默认按照升序(asc关键字)排序,要用降序(desc关键字)排序
order by 语句用于根据指定的列对结果进行排序
SQL函数:
平均值函数(avg(列名)):不计算null值
语法:
select avg(列名) from 表名
计数函数(count(列名)):返回指定匹配条件的行数
语法:
select count(*)
select count(列名) from 表名
select count(distinct 列名)
select count(distinct 列名) from 表名
最大值Max(列名)、最小值Min(列名)、求和Sum(列名):
语法:
select Max/Min/Sum(列名) from 表名
还有其他的函数看下图,有注释
group by 语句:分组
聚合函数 例如:SUM函数等,常常是需要与group by语句一起写的
语法:
select 列名1,聚合函数(列名2) from 表名 where 列名3 操作符 值 group by 列名1
having 子句:筛选数据
在SQL中添加having子句原因是where关键字无法和聚合函数一起使用
语法:
select 列名1,聚合函数(列名2) from 表名 where 列名3 操作符 值 group by 列名1 having 聚合函数(列名4) 操作符 值
having子句和where子句的区别前面有写到这里就不写了。