数据类型
数据库
查看现有数据库
show databases;
新建数据库
create database <数据库的名字>;
选择数据库
use <数据库名>;
检查正在用哪个数据库
select database();
删除数据库
drop database <数据库名>;
表
查询
查看当前数据库的表
show tables;
查询表中的具体信息(主要是列名,列名类型等等)
desc <表名称>:
describe 表名;
查询表中某一项的具体值
select 列名1,列名2
from 表名
查询表中所有数据
select * from 表名;
创建
创建新表
create table 表名{
列名1 列类型1,
列名2 列类型2,
列名3 列类型3,
列名4 列类型4,
列名5 列类型5
};
修改
在表中插入新的记录
insert into 表名(列名1,列名2,列名3)
values(值1,值2,值3);
insert into 表名
values(值1,值2,值3);
更新表中的记录
update 表名
set 列名1=值1,列名2=值2
where 条件;
修改表名
alter table 表名 rename to 新的表名;
添加一列
alter table 表名 add 列名 数据类型;
修改数据类型
alter table 表名 modify 列名 新的数据类型;
修改列名和数据类型
alter table 表名 change 列名 新列名 新数据类型;
删除
清空表
delete from 表名;
删除表中的某一项记录
delete from 表名 where 列名中的数据='';
删除表
drop table 表名;
删除列
alter table 表名 drop 列名;
DQL
查询语法
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组后条件
order by
排序字段
limit
分页限定
基础查询
1.查询多个字段
select 字段列表 from 表名;
2.去除重复记录
select distinct 字段列表 from 表名;
3.起别名
AS
条件查询
select 字段列表 from 表名 where 条件:
排序查询
select 字段列表 from 表名 order by 排序字段名1 [排序方式1],排序字段名2[排序方式2];
排序方式:
ASC:升序排序(默认值)
DESC:降序排序
注意:如果有多个排序条件,当前边的条件值一样的时候,才会根据第二条件进行排序
分组查询
聚合函数
1.概念
将一列数据作为一个整体,进行纵向计算
2.分类
3.语法
select 聚合函数名(列名) from 表名;
注意:null值不参与所有聚合函数的运算
分组查询语法
select 字段列表 from 表名 [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段任何意义
where 和 having的区别
1.执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。
2.可判断的条件不一样:where 不能对聚合函数进行判断,having可以。
执行顺序:where > 聚合函数 > having
分页查询
分页查询语法
select 字段列表 from 表名 limit 起始索引, 查询条目;
起始索引:从零开始
计算公式:起始索引=(当前页码-1)*每页显示的条数
tips:
分页查询limit是mysql数据库的方言
Qracle 分压查询使用 rownumber
SQL Server分页查询使用top