数据库SQL归纳(三)

数据查询功能

单表查询

选择若干列
1. 指定列
SELECT 列名称 FROM 表名称
2. 全部列
SELECT * FROM 表名称
3. 经过计算的列
SELECT Sname, 2019-Sage FROM Student

经过计算的列、常量列显示结果都没有列名(显示为 '无列名'),可以通过其别名的方法改变查询结果显示的列名。

列名 | 表达式  [AS] 列别名
SELECT Sname 姓名, 2019-Sage 出生年份 FROM Student
选择若干元组
1. 消除取值相同的行

关键字:DISTINCT

SELECT DISTINCT 列名称 FROM 表名称
2. 满足条件的元组
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
查 询 条 件运 算 符
比较=,>,>=,<,<=,<>,!=
确定范围BETWEEN…AND,NOT BETWEEN…AND
确定集合IN,NOT IN
字符匹配LIKE,NOT LIKE
空值IS NULL,IS NOT NULL
多重条件AND,OR

Sage BETWEEN 20 AND 30 相等于 Sage >= 20 AND Sage <= 23

对结果排序
ORDER BY <列名> [ASC|DESC]

默认是升序 ASC, 降序 DESC

使用聚合函数
表中元组总数: SELECT COUNT(*) FROM 表名
列均值: SELECT AVG(列名) FROM 表名
列个数: SELECT COUNT([DISTINCT] 列名) FROM 表名
最大值: SELECT MAX(列名) FROM 表名
最小值: SELECT MIN(列名) FROM 表名
列和值: SELECT SUM(列名) FROM 表名
分组统计
SELECT 分组依据列名, 聚合函数 FROM 表名 WHERE 列名 运算符 值
GROUP BY 列名
[ HAVING 聚合函数 运算符 值 ]
使用TOP限制结果
SQL Server 的语法:
SELECT TOP number [ percent ] [WITH TIES] 列名 FROM 表名
MySQL 语法
SELECT 列名 FROM 表名 LIMIT number
Oracle 语法
SELECT 列名 FROM 表名 WHERE ROWNUM <= number

多表链接

FROM table1 INNER|LEFT|RIGHT JOIN table2 ON <连接条件> INNER|LEFT|RIGHTJOIN table3 ON <连接条件> ...

数据更改功能

插入数据

单行插入
INSERT INTO 表名 VALUES (值1, 值2,....)

我们也可以指定所要插入数据的列:

INSERT INTO 表名 (列1, 列2,...) VALUES (值1, 值2,....)
多行插入
INSERT INTO 表名 [(列1, 列2,...)] SELECT语句

更新数据

UPDATE 表名 SET 列名 = 新值 WHERE 列名 = 某值

删除数据

DELETE FROM 表名 WHERE 列名 = 值

转载于:https://www.cnblogs.com/xzh0717/p/10623714.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值