1 SQL常用语句
1 SELECT - 从数据库中提取数据
table_name是列表的名字,用于提取表内的全部数据:
SELECT * FROM table_name;
也可以提取表内的某一列或者某几列:
SELECT column_name,column_name FROM table_name;
1.1 SELECT DISTINCT
SELECT DISTINCT column_name FROM table_name;
不同于SELECT, SELECT DISTINCT不仅可以把table中的某一列取出来,而且可以去除掉重复项。
比如这一列的内容是True, False, True, True, False,那么SELECT DISTINCT操作后得到的就是True,False。
1.2 WHERE
WHERE可以给SELECT数据提取语句增加限制条件,只提取符合WHERE子句条件的数据。用法为:
SELECT column_name,column_name FROM table_name WHERE column_name operator value;
比如:
SELECT * FROM table WHERE value = 'True';
只提取表中value这样一列为True的数据。
WHERE子句中常用的符号:
=:等于;<> :不等于;<:小于;>:大于;小于等于:<=;大于等于:>=
is null:为空
逻辑运算符:and, or
between XX and XX: 在某一范围内
like: 符合某种形式(如'M%'表示以M为开头)
此处补充一下:%用来替代 0 个或多个字符,_用来替代一个字符
in: 取某些值(如in(1,2,3))
1.3 ORDER BY
SELECT column_name,column_name FROM table_name ORDER BY column_name,column_name ASC|DESC;
提取出数据后,并依据某一(几)列的大小排列。
1.4 GROUP BY
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
GROUP BY 语句用于结合聚合函数(2.1部分介绍),根据一个或多个列对结果集进行分组。
举个例子(例子来自https://www.cnblogs.com/jingfengling/p/5962182.html):
“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
select 类别, sum(数量) as 数量之和 from A group by 类别
返回结果如下,实际上就是分类求和:
、
1.5 HAVING
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
HAVING 子句可以让我们筛选分组后的各组数据。
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;
- where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。
- having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。
2 UPDATE - 更新数据库中的数据
UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
WHERE语句可以筛选出待修改对的数据。
3 DELETE - 从数据库中删除数据
DELETE FROM table_name WHERE some_column=some_value;
删除全部的数据(两种方式):
DELETE FROM table_name;
DELETE * FROM table_name;
4 INSERT INTO - 向数据库中插入新数据
INSERT INTO table_name VALUES (value1,value2,value3,...);
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
5 CREATE DATABASE - 创建新数据库
6 ALTER DATABASE - 修改数据库
7 CREATE TABLE - 创建新表
8 ALTER TABLE - 变更(改变)数据库表
9 DROP TABLE - 删除表
10 CREATE INDEX - 创建索引(搜索键)
11 DROP INDEX - 删除索引
2 SQL常用函数
2.1 SQL Aggregate 函数
SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。
- AVG() - 返回平均值
- COUNT() - 返回行数
- FIRST() - 返回第一个记录的值
- LAST() - 返回最后一个记录的值
- MAX() - 返回最大值
- MIN() - 返回最小值
- SUM() - 返回总和
2.2 SQL Scalar 函数
SQL Scalar 函数基于输入值,返回一个单一的值。
- UCASE() - 将某个字段转换为大写
- LCASE() - 将某个字段转换为小写
- MID() - 从某个文本字段提取字符,MySql 中使用
- SubString(字段,1,end) - 从某个文本字段提取字符
- LEN() - 返回某个文本字段的长度
- ROUND() - 对某个数值字段进行指定小数位数的四舍五入
- NOW() - 返回当前的系统日期和时间
- FORMAT() - 格式化某个字段的显示方式