7.17总结(SQL语句)

发布时间 2023-07-18 06:33:53作者: 许七安gyg

数据类型

img

数据库

查看现有数据库

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 条件:

img

排序查询

select 字段列表 from 表名 order by 排序字段名1 [排序方式1],排序字段名2[排序方式2];

排序方式:
ASC:升序排序(默认值)
DESC:降序排序
注意:如果有多个排序条件,当前边的条件值一样的时候,才会根据第二条件进行排序
img

分组查询

聚合函数

1.概念
将一列数据作为一个整体,进行纵向计算
2.分类
img
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