SQL入门第一天 crue

Source

SQL概述
-DDL(Data Definition Language)
数据定义语言。用来操作数据库,表,列等。 create, drop, alter,truncate等
-DML(Data Manipulation Language) 数据操作语言。用来对数据库中表的数据进行增删改。
insert, delete, update
DQL(Data QueryLanguage) 数据查询语言。用来查询数据库中表的记录(数据)。
select
-DCL(Data Control Language) 数据控制语言。用来定义数据库的访问权限和安全级别,及创建用户。
grant,revoke
-TCL(Transaction Control Language) 事务控制语 commit, savepoint, rollback 等

数据库
1.创建库
CREATE DATABASE
2.创建表
CREATE TABLE 表名(
字段 类型,
字段 类型
)

*增
1.增全部
insert into 表名 values (1, 2 , 3 )
2.增指定
insert into (字段,字段,字段)表名 values (1 , 2 ,3)
字段和值需要对应,varchar加引号

*删
1.根据条件删除
delete from 表名 where 条件
2.删除表
delete from 表名
3.重构删除表再创建
truncate 表名

*改
1.修改表的某个字段的值
update 表名 set 字段=值,字段=值
2.修改指定条件的某个字段的值
update 表名 字段=值,字段=值 WHERE 条件

*查
1.全表查询
select * from 表名
2.部分列查询
select 字段,字段 from 表名
3.别名查询
select 字段 别名 from 表名
4.去重查询
select distinct 字段 feom 表名
5.列计算
select 字段+5 from 表名

*运算符

, < , >= ,<= , =
and && or ||
or和in : id=1 or id=2 或者 in(1,2)
between: <=56,>=80 或者between 50 and 80
模糊查询: like % 匹配0和或多个
like_ 必须匹配一个字符

*排序
1.升序(默认)
select * from 表名
order by 字段 asc;
2.降序
select * from 表名
order by 字段 desc;

*聚合
count 计数
sum求和 avg平均数 min最小 max最大
集合不允许出现在where后面

*分组
1.查询平均以什么字段分组
select 字段1,avg(字段) from 表名
group by 字段1.
2.查询平均以什么字段分组,筛选不符合条件的
select 字段1,avg(字段) from 表名
where 字段<50
group by 字段1
3.查询平均以什么字段分组,赛选不符合条件的,筛选小组
select 字段1,avg(字段) from 表名
where 字段<50
group by 字段1
hacing 平均分>66
4.查询平均以什么字段分组,赛选不符合条件的,筛选小组
最后小组统计排序 降序
select 字段1,avg(字段) from 表名
where 字段<50
group by 字段1
hacing 平均分>66
order by 平均成绩 desc

where和having区别:
where:分组前使用 不允许接聚合
hacing:分组后使用 可以接聚合 必须匹配 group by

*分页
SELECT * FROM 表名
limit startIndex , pageSize (开始索引,每页展示个数)
例如 : limit 0,2 (从0索引展示两个)

limit达到分页的公式
开始索引的规律:(当前页数-1) * 每页显示的条数

*约束
1.主键约束: primary key auto_increment (自增)
唯一非空,可以设置自增
2.唯一约束: unique 保证数据在列中是唯一的
3.非空约束: not null 保证数据的添加不为空