@关于SQL(结构化查询语言:Structure Query Language)语句的说明:
- SQL语言的分类:
1.数据定义语言(DDL):用于定义数据库、数据表等结构语句——create,drop,alter等;
2.数据操作语言(DML):主要用来操作数据库的——insert,update,delete等;
3.数据控制语言(DCL):定义数据访问权限/数据的安全设置等——grant等;
4.数据查询语言(DQL):查询数据库相关数据的操作——
select,where,from等;
SQL语句汇总:
- 第一部分:数据库基本SQL操作语句:
一、数据库基本操作(Databases)
编号 | SQL语句和对应意义 |
---|---|
1 | 创建库:create database [数据库名]; |
2 | 删除库:drop database [数据库名]; |
3 | 查看所有库:show databases; |
4 | 查看在用库:select database(); |
5 | 查看库定义信息:show create database [数据库名]; |
6 | 使用库:use database [数据库名]; |
7 | 修改库名:rename database [原库名] to [新库名]; |
8 | 修改库编码字符集:alter database [数据库名] character set [字符集名]; |
- 提示:一般库的操作比较少,当库创建时,一般不会对库进行修改!所以以上7、8两个SQL语句不常用或不用!
二、数据表基本操作(Tables)
编号 | SQL语句和对应意义 |
---|---|
1 | 创建表:create table [表名] (字段1 类型1 [字段约束1], 字段2 类型2 [字段约束2], 字段3 类型3 [字段约束3], ...); |
2 | 删除表:drop table [表名]; |
3 | 查看表结构:desc [表名]; |
4 | 查看表的定义信息:show create table [表名]; |
5 | 查看表内容:select * from [表名]; |
6 | 添加列(操作表):alter table [表名] add [添加的列名称 列值类型 列的约束]; |
7 | 删除列(操作表):alter table [表名] drop [列名]; |
9 | 修改列(操作表):alter table [表名] modify [列名 列值类型 列约束]; |
10 | 修改列名(操作表):alter table [表名] change [原列名] [新列名 列值类型等]; |
11 | 修改表名(操作表【不常用】):rename table [原表名] to [新表名]; |
12 | 修改表字符集(操作表【不常用】):alter table [表名] character set [字符集]; |
13 | 插入数据(数据操作:单条插入):insert into [表名] (列1, 列2, 列3, ... ) values (值1, 值2, 值3, ...); |
14 | 插入数据(数据操作:批量插入):insert into [表名] (列1, 列2, 列3, ... ) values (值1, 值2, 值3, ...), (值1, 值2, 值3, ...), (值1, 值2, 值3, ...), ...; |
15 | 查看数据(数据操作):select [distinct] [*][字段名1, 字段名2, ...] from [表名] where [条件限定语句]; |
16 | 删除数据(数据操作1):delete from [表名] where [条件限定语句]; |
17 | 删除数据(数据操作2-仅清空表数据):truncate table [表名]; |
18 | 更新数据(数据操作):update [表名] set [列名 = 列值], [列名 = 列值], ... where [条件限定语句]; |
- 注意:drop、truncate、delete删除操作的区别。[面试可能用到!]
- 第二部分:数据表查询相关操作(Tables:select语句)
一、基本语法:
select [distinct] [*]/[字段名1, 字段名2, ...] from [表名] where [条件限定语句] group by ... having [条件过滤] order by [排序规则];
二、查询语法编写和执行顺序:
编写顺序:[S... F... W... G... H... O...];
执行顺序:[F... W... G... H... S... O...];
三、常用的SQL复杂查询语句:<子查询:多级查询的嵌套(个人观点)>
1.别名查询(as 关键字<可省略>):
– select [表别名].[字段名] from [表名] as [表别名];
– select [字段列1] as [列别名1], [字段名2] as [列别名2], ... from [表名];
2.去重查询(distinct 关键字):过滤数据
– select distinct [*]/[字段名] from [表名] where [条件语句限定] ;
3.运算查询(±*/):地查询结果进行处理
– select [*], [字段名]*13, ... from [表名] where [条件语句限定] ;
4.条件查询(where 关键字):
– 添加 where [条件语句限定] 语句;
5.关系查询(逻辑运算符):
– >(大于); <(小于); >=(大于等于); <=(小于等于); <>(不等于); !=(不等于);
– and (与) ; or (或) ; not (非)
– 例子:select [*], [字段名]*13, ... from [表名] where [字段] > 60;
– 例子:select [*], [字段名]*13, ... from [表名] where [字段] > 60 and [字段] <= 80;
6.模糊查询(like 关键字):
下划线 ‘_’:代表一个字符;
百分号‘%’:代表多个字符;
– 例子:select * from [表名] where [字段] like ‘_章%’;#挑选出第二个字符为‘章’的数据。
7.范围查询(in 关键字):
– 例子:select * from [表名] where [字段] in (1,2,5);#挑选出值为1,2,4的数据。
8.排序查询(order by 关键字):
– asc : ascend 升序排列; desc : descend 降序排列;
– 例子:select [*], [字段名]*13, ... from [表名] order by [字段] asc; #根据属性字段升序排列。
9.分组查询(group by 关键字):
– 例子:select [*], [字段名]*13, ... from [表名] group by [字段]; #根据属性字段分组。
10.分组查询(group by 关键字):
– 例子:select [*], [字段名]*13, ... from [表名] group by [字段]; #根据属性字段分组。
11.其他关键字(having):
– having :关键字, 后面可以接聚合函数,出现在分组关键字之后。
– where :关键字, 后面不可以接聚合函数,出现在分组关键字之前。
[任务:“第三部分”,就SQL语句聚合函数等的使用做补充。]
暂且先写到这,汇总过程中难免会有诸多不足,希望大家在发现的时候给我留个言!!!
【--------------仅做个人学习和今后工作中使用!-----------】
【Tip:努力去做,未来总不会差太多!!!】