SQL常用查询更新介绍(DML)
2005-10-17 14:11
363 查看
1.查询SELECT
SELECT fields FROM tablename WHERE condition
完整格式:
SELECT [DISTINCT] 目标表的列名工列表达式序列
FROM 基本表名或视图名序列
[WHERE 行条件表达式]
[GROUP BY 列名1序列[HAVING 组条件表达式]]
[ORDER BY 列名2[ASC|DESC]序列]
WHERE子句的行条件表达式中可使用的运算符有
算术比较运算符:AND,OR,NOT
集合运算符:UNION(并),INTERSECT(交),EXCEPT(差)
集合成员资格运算符:IN,NOT IN
谓词:EXISTS(存在量词),ALL,SOME,UNIQUE
聚合函数:AVG,MIN,MAX,SUM,COUNT
数据分组
GROUP BY 子句和HAVING子句
聚合函数
COUNT(*) 计算元组的个数
COUNT(列名) 对一列中的值计算个数
SUM(列名) 求某一列值的总和(此列的值必须是数值)
AVG(列名) 求某一列值的平均值(此列的值必须是数值)
MAX(列名) 求某一列值的最大值
MIN(列名) 求某一列值的最小值
集合操作
a.并,交,差
当两个查询结果的结构完全相同时,我们可以让这两个子查询执行并,交,差操作.
并:
(SELECT 查询语句1)
UNION [All]
(SELECT 查询语句2)
//All没写的话,会自动消除重复元组
交:
(SELECT 查询语句1)
INTERSECT [All]
(SELECT 查询语句2)
差:
(SELECT 查询语句1)
EXCEPT [All]
(SELECT 查询语句2)
b.比较操作
(1):集合成员资格比较
元组 IN (集合)
元组 NOT IN (集合)
(2):集合成员的算术比较
元组 & SOME(集合)
元组 & ANY(集合)
(3):空关系的测试
EXISTS (集合)
NOT EXISTS(集合)
(4):重复元组的测试
UNIQUE(集合)
NOT UNIQUE(集合)
2.插入INSERT
a.插入单个元组
INSERT INTO tablename(fields) VALUES(values)
b.插入多个元组
INSERT INTO tablename(fields) VALUES((values),(values))
//另一种形式,插入子查询的结果
INSERT INTO tablename(fields) SELECT ...
3.修改UPDATE
UPDATE tablename SET fields=values WHERE condition
//如果省略WHERE子句,则表示要修改表中的所有元组
4.删除DELETE
DELETE FROM tablename WHERE condition
//DELETE语句只能从一个关系中删除元组,而不能一次从多个关系中删除元组
要删除多个元组,就要写多个DELETE语句
SELECT fields FROM tablename WHERE condition
完整格式:
SELECT [DISTINCT] 目标表的列名工列表达式序列
FROM 基本表名或视图名序列
[WHERE 行条件表达式]
[GROUP BY 列名1序列[HAVING 组条件表达式]]
[ORDER BY 列名2[ASC|DESC]序列]
WHERE子句的行条件表达式中可使用的运算符有
算术比较运算符:AND,OR,NOT
集合运算符:UNION(并),INTERSECT(交),EXCEPT(差)
集合成员资格运算符:IN,NOT IN
谓词:EXISTS(存在量词),ALL,SOME,UNIQUE
聚合函数:AVG,MIN,MAX,SUM,COUNT
数据分组
GROUP BY 子句和HAVING子句
聚合函数
COUNT(*) 计算元组的个数
COUNT(列名) 对一列中的值计算个数
SUM(列名) 求某一列值的总和(此列的值必须是数值)
AVG(列名) 求某一列值的平均值(此列的值必须是数值)
MAX(列名) 求某一列值的最大值
MIN(列名) 求某一列值的最小值
集合操作
a.并,交,差
当两个查询结果的结构完全相同时,我们可以让这两个子查询执行并,交,差操作.
并:
(SELECT 查询语句1)
UNION [All]
(SELECT 查询语句2)
//All没写的话,会自动消除重复元组
交:
(SELECT 查询语句1)
INTERSECT [All]
(SELECT 查询语句2)
差:
(SELECT 查询语句1)
EXCEPT [All]
(SELECT 查询语句2)
b.比较操作
(1):集合成员资格比较
元组 IN (集合)
元组 NOT IN (集合)
(2):集合成员的算术比较
元组 & SOME(集合)
元组 & ANY(集合)
(3):空关系的测试
EXISTS (集合)
NOT EXISTS(集合)
(4):重复元组的测试
UNIQUE(集合)
NOT UNIQUE(集合)
2.插入INSERT
a.插入单个元组
INSERT INTO tablename(fields) VALUES(values)
b.插入多个元组
INSERT INTO tablename(fields) VALUES((values),(values))
//另一种形式,插入子查询的结果
INSERT INTO tablename(fields) SELECT ...
3.修改UPDATE
UPDATE tablename SET fields=values WHERE condition
//如果省略WHERE子句,则表示要修改表中的所有元组
4.删除DELETE
DELETE FROM tablename WHERE condition
//DELETE语句只能从一个关系中删除元组,而不能一次从多个关系中删除元组
要删除多个元组,就要写多个DELETE语句
相关文章推荐
- 本人搜集的一些常用的SQL查询语句(不定期更新)
- SQL常用查询语句(不定期更新)
- SQL中 常用的处理方法(处理空值、更新字段、去掉小数后的0、查询重复列)
- android中常用的查询、插入、更新、删除等SQL语句以及SQLite数据类型
- SqlDataReader查询,更新,删除并保持和数据库实时操作
- Oracle维护常用SQL语句(查询系统表和视图)
- oracel查询processes 常用的sql
- PL/SQL“ ORA-14551: 无法在查询中执行 DML 操作”解决
- Mysql常用30种SQL查询语句优化方法
- 常用SQL查询
- oms项目常用执行sql方法(增删改查)持续更新
- Oracle 的 Sql*Plus 常用命令介绍
- Vertica的这些事<五>—— 关于vertica常用函数介绍(持续更新ing)
- 常用SQL查询语句
- MySQL 常用30种SQL查询语句优化方法
- 批量更新某一查询结果集的第N条到第M条的记录的SQL(SQL 2005)
- 常用SQL查询语句 Oracle中Union,Union All,Intersect,Minus的有什么区别
- SQL 2014新功能介绍系列8 – 可更新的列存储索引 (Updateable Column Store Indexes)
- 初学sql时常用查询语句