SQL语句学习
一、表相关
1、创建表
create table tablename(
字段1 数据类型 字段属性
…
字段n
);
2、查看所有表
show tables;
3、查看表详情
how create table 表名;
4、删除表
drop table 表名;
//删除表结构
drop table 库名;
//删除库
二、对已创建表
1、增加
alter table sc
2、插入表
//全表插入格式
insert into 表名 values(值1,值2);
//指定字段插入格式
insert into 表名 (字段1名,字段2名) values (值1,值2);
3、删除数据
delete from 表名 where 删除条件;
delete 删除的是整条数据,不会只删除单个列。
truncate table 删除数据:
truncate table 删除的是表中所有的行,但表的结构,列,约束,索引等不会改变。不能用于有外键约束的表。删除数据不能恢复。
4、更新数据(修改数据)
update 表名 set 列名=更新值 where 更新条件;
如果不给条件则修改全表的数据
5、查询数据
1、条件查询
select 列名/表达式/函数/常量 from 表名 where 查询条件 order by 排序的列名asc/desc;
(1)查询所有的数据行和列:
select * from 表名;
(2)查询部分行和列:
select 列名… from 表名 where 查询条件;
(3)在查询中使用列的别名:
select 列名 AS 新列名 form 表名 where 查询条件;
计算,合并得到新的列名:
select 列名1+’.’+列名2 AS 新列名 from 表名;
(4)查询空值:
通过is null 或者 is not null 判断列值是否为空
2、分组查询
select 字段,聚合函数,...
from 表名
[where 条件]
group by 分组表达式
having 分组过滤条件
(1)聚合函数
函数名称 | 作用 |
---|---|
max | 查询指定列的最大值 |
min | 查询指定列的最小值 |
count | 统计查询结果的行数 |
sum | 求和,返回指定列的总和 |
avg | 求平均值,返回指定列数据的平均值 |
(2)where和having的区别
“where”是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且“where”后面不能写“聚合函数”。
“having”是一个过滤声明,是在查询数据库结果返回之后进行过滤,即在结果返回值后起作用,并且“having”后面可以写“聚合函数”。
where、聚合函数、having在from后面的执行顺序:
where>聚合函数(sum,min,max,avg,count)>having
MySQL语句执行顺序
1、from
2、on
3、join
4、where
5、group by(开始使用select中的别名,后面的语句中都可以使用)
6、avg,sum....
7、having
8、select
9、distinct
10、order by
11、limit