SQL基础知识
(一)DDL数据定义语言
作用:用于检索或修改数据
命令:
- SELECT:用于检索数据
- INSERT:用于添加数据到数据库
- UPDATE:用于修改数据库数据
- DELETE:用于删除数据库数据
(二)DML数据操作语言
作用:用于定义数据结构,比如:创建、修改或删除数据库对象,包括:用于创建用户和重建数据库对象
命令:
- CREATE TABLE:创建表
- ALTER TABLE:修改表
- DROP TABLE:删除表
- CREATE INDEX
- DROP INDEX
(三)DCL数据控制语言
作用:用于定义用户权限
命令:
- ALTER PASSWORD
- GRANT
- REVOKE
- CREATE SYNONYM
语句介绍
(一)SELECT
作用:
SELECT语句用于从数据库中选取数据
语法:
- SELECT 列名称 FROM 表名称
- SELECT * FROM 表名称
补充:
结果集:SELECT语句将取出的数据存储在一个结果表,也称结果集result set
(二)DISTINCT
作用:
DISTINCT用于不重复的显示查询结果集,即重复数据只显示一次
语法:
SELECT DISTINCT 列名称 FROM 表名称
(三)WHERE语句
作用:
WHERE能有条件的从表中选取数据
语法:
SELECT 列名称 FROM 表名称 WHERE 列运算符值
补充:
列运算中的常见运算符:
运算符
|
含义
|
=
|
等于(注意只有一个等号)
|
!= 或 <>
|
不等于
|
>
|
大于
|
<
|
小于
|
>=
|
大于等于
|
<=
|
小于等于
|
BETWEEN
|
在某个范围内
|
LIKE
|
模糊搜索
|
AND
|
并且
|
OR
|
或者
|
NOT
|
取反
|
引号的使用:
- 数值类型无需加单引号
- 字符类型要加单引号
- 别名使用双引号
- 双引号还被用来将文本放入日期格式
(四)ORDER BY语句
作用:
ORDER BY能给查询的结果集排序
语法:
- ORDER BY DESC
- ORDER BY ASC
补充:
- ORDER BY默认是升序排列(从小到大)
- DESC代表降序排列
- ASC代表升序排列
- Oracle数据库中,null默认为最大值
- 指定NULLS FIRST,则表示null值的记录将排在最前(不管是asc,还是desc)
- 指定NULLS LAST,则表示null值的记录将排在最后(不管是asc,还是desc)
(五)INSERT语句
作用:
INSERT INTO用于向表中插入数据
语法:
- INSERT INTO 表名称 VALUES (值1, 值2…)
- INSERT INTO 表名称 (列1, 列2…) VALUES (值1, 值2…)
(六)UPDATE语句
作用:
UPDATE用于更新表中记录
语法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
(七)DELETE语句
作用:
DELETE用于删除表中的行
语法:
DELETE FROM 表名称 WHERE 列名称 = 某值
进阶语句介绍
(一)SELECT TOP语句
作用:
SELECT TOP子句用于规定要返回的记录的数目,该子句对大型表来说非常有用
语法:
SELECT 列名称 FROM 表名称 WHERE ROWNUM <= number
(二)LIKE操作符
作用:
LIKE操作符用于在WHERE子句中搜索列中指定模式,加上通配符可以实现很多灵活的条件查询
语法:
SELECT 列名称 FROM 表名称 WHERE 列名称 LIKE 某值
补充:
通配符:
- %代表一个或多个字符
- _代表一个字符
(三)IN操作符
作用:
IN操作符允许你在WHERE子句中规定多个值
语法:
SELECT 列名称 FROM 表名称 WHERE 列名称 IN (值1, 值2…)
(四)BETWEEN…AND操作符
作用:
BETWEEN...AND选取介于两个值之间的数据范围内的值,这些值可以是数据、文本或日期
语法:
SELECT 列名称 FROM 表名称 WHERE 列名称 BETWEEN 值1 AND 值2
补充:
不同数据库对该字段的处理稍有不同,在Oracle数据库中,查找到的数据包含AND字符前后的两个边界数据
(五)别名
作用:
为表名称或列名称指定别名,创建别名主要是为了更强的可读性
语法:
SELECT 列名称 别名 FROM 表名称
(六)SQL连接
作用:
SQL JOIN用于把两个或多个表的行结合起来
语法:
Join的四种类型:
- JOIN,如果表中至少有一个匹配,则返回行
- LEFT JOIN,即使右表没有匹配,也从左表返回所有行
- RIGHT JOIN,即使左表没有匹配,也从右表返回所有行
- FULL JOIN,只要其中一张表存在匹配,就返回行
(七)UNION操作符
作用:
SQL UNION操作符合并两个或多个SELECT语句的结果,UNION内部的SELECT语句必须拥有相同数量的列,列必须拥有相似的数据类型
同时,每个SELECT语句的列的顺序必须相同
语法:
SELECT 列名称 FROM 表名称
UNION
SELECT 列名称 FROM 表名称
补充:
UNION默认选取不同的值,如果需要允许重复值,使用UNION ALL
SQL函数
(一)分组函数
常用函数
|
作用
|
AVG
|
求平均值
|
COUNT
|
返回查询的行数
|
MAX
|
返回查询列的最大值
|
MIN
|
返回查询列的最小值
|
SUM
|
返回查询列的总和
|
分组函数常结合GROUP BY使用
(二)转换函数
常用函数
|
作用
|
TO_DATE
|
将字符串转换为日期
|
TO_CHAR
|
转换日期或数值为字符串
|
TO_NUMBER
|
转换字符串为数字
|
举例:
1
2
3
4
|
-- 获取系统当前时间
select sysdate from dual
-- 日期格式化
select sysdate ATIME, to_char(sysdate, 'YYYYMMDDHH24MISS') STIME from dual
|
posted on 2023-08-17 17:17 王闯wangchuang2017 阅读(28) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具