SQL通用语法&&分类

  • Post author:
  • Post category:其他



目录


DDL操作数据库


DDL–操作表


DML–操作数据


DQL–查询


DDL操作数据库

  • 查询
SHOW DATABASES;
  • 创建

创建数据库:

create database 数据库名称;

创建数据库(判断,如果不存在则创建):

create database if not exists 数据库名称;
  • 删除

删除数据库:

drop database 数据库名称;

删除数据库(如果存在则删除):

drop database if exitts 数据库名称;
  • 使用数据库

查看当前使用的数据库 :

select database();

使用数据库 :

use 数据库名称;

DDL–操作表

创建(Create)

创建表:

create table 表名(字段名1 数据类型1,字段名2 数据类型2,...,字段名n 数据类型n);

(末尾不要添加逗号)

查询(Retrieve)

查询当前数据库下所有表名称 :

show tables;

查询表结构 :

desc 表名称;

修改(Update)

1.修改表名 :

alter table 表名 rename to 新的表名;

2.添加一列 :

alter table 表名 add 列名 数据类型;

3.修改数据类型 :

alter table 表名 modtfy 列名 新数据类型;

4.修改列名和数据类型

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

5.删除列

ALTER TABLE 表名 DROP 列名;

删除(Delete)

1.删除表

DROP TABLE 表名;

2.删除表时判断表是否存在

DROP TABLE IF EXISTS 表名;
  • DML–操作数据

1.添加表数据(inset)

1.给指定的列添加数据

 insert into 表名(列名1,列名2,...) values (值1,值2,...);

2.给全部列添加数据

insert into 表名 values (值1,值2,...);

3.批量添加数据

 insert into 表名(列名1,列名2,..) values (值1,值2,...),(值1,值2,...)...;

2.修改表数据(update)

update 表名 set 列名1=值1,列名2=值2,...[where 条件];

注意:修改语句中如果不加条件,则将所有数据都修改

3.删除(delete)

  delete from 表名 [where 条件];

注意:删除语句中如果不加条件,则所有数据都删除

  • DQL–查询

  • select 字段列表
  • from 表名列表
  • where 条件列表
  • group by 分组列表
  • having 分组后条件
  • order by 排序字段
  • limit 分页限定
  • 基础查询

1.查询多个字段

select 字段列表 from 表名;
select  * from 表名;--查询所有数据

2.去除重复记录

 select distinct 字段列表 from 表名;

3.起别名:

as:as 也可以省略
  • 条件查询(where)
select 字段列表 from 表名 where 条件列表;
  • 分组查询(group by)

聚合函数

1.概念:将一列数据作为整体,进行纵向计算.

2.聚合函数分类:

函数名 功能
count(列名) 统计数量(一般选用不为null的列)    取值:1.主键 2.*
max(列名) 最大值
min(列名) 最小值
sum(列名) 求和
avg(列名)

平均值


3.聚合函数语法:

select 聚合函数名(列名) from 表;


注意:

null值不参与所有聚合函数运算

  • 分组查询

1.分组查询语法

select 字段列表 from [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];



注意:

分组之后,查询的字段为聚合函数和分组函数,查询其他字段为任何意义


where和having区别:

  1. 执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤.
  2. 可判断的条件不一样:where不能对聚合函数进行判断.having可以.


执行顺序:where>聚合函数>having

  • 排序查询(order by)
select 字段列表 from 表名 order by 排序字段名1 [排序方式1],排序字段名2 [排序方式2]...;


排序方式:

ASC:升序排序(默认值)

DESC:降序排序


注意:

如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

  • 分页查询(limit)

1.分页查询语法

select 字段列表 from 表名 limit 起始索引, 查询条目数;


-起始索引:从0开始


计算公式:起始索引=(当前页码-1)*每页显示的条数


tip:


分页查询limit是MySql数据库的方言

Oracle分页查询使用rownumber

SQL server分页查询使用top



版权声明:本文为m0_46366470原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。