没有合适的资源?快使用搜索试试~ 我知道了~
首页SQL基础教程学习笔记.pdf
资源详情
资源评论
资源推荐
SQL基础教程学习笔记
SQL基础教程学习笔记
0.文档说明
1.数据库和SQL
DBMS的种类
表的结构
SQL概要
表的创建(CREATE)
表的删除和更新(DROP/ALTER)
2.查询基础
SELECT基础
算术运算符和比较运算符
逻辑运算符
3.聚合与排序
对表聚合查询
对表分组(GROUP BY)
为聚合结果指定条件(HAVING)
对查询结果排序(ORDER BY)
4.数据更新
数据的插入(INSERT)
数据的删除(DELETE)
数据的更新(UPDATE)
事务
5.复杂查询
视图
子查询
关联子查询
6.函数、谓词、CASE表达式
各种各样的函数
谓词
CASE表达式
7.集合运算
表的加减法
联结
8.SQL高级处理
窗口函数
GROUPING运算符
9.通过应用程序连接数据库
附录1:常用DBMS列表
附录2:学习资源
图书
网站
0.文档说明
文档是基于SQL基础教程第2版整理的笔记,该书非常适合新手入门SQL语言;虽然整理了书中大部分核
心内容,但需要完整的代码示例和学习还请阅读原书;为了方便整理,大部分SQL代码都写成了一行,
实际应用时根据个人代码习惯调整;文档中 “-
斜
体
字
”均为备注说明;另外,附录中的内容是本人添
加的,并非书中所有😄
关于笔记的疑问或交流学习可加本人微信 cnicedon
1.数据库和SQL
DBMS的种类
HDB(Hierarchical Database):层次数据库
RDB(Relational Database):关系数据库
OODB(Object Oriented Database):面向对象数据库
XMLDB(XML Database):XML数据库
KVS(Key-Value Store):键值存储系统
表的结构
表的列称为字段
表的行称为记录
SQL概要
标准SQL
本书介绍的均为标准SQL的写法,特定DBMS的SQL语句会单独说明
SQL语句及种类
DDL:数据定义语言
CREATE 创建数据库和表等对象
DROP 删除数据库和表等对象
ALTER 修改数据库和表等对象的结构
DML:数据操纵语言
SELECT 查询表中的数据
INSERT 向表中插入新数据
UPDATE 更新表中的数据
DELETE 删除表中的数据
DCL:数据控制语言
COMMIT 确认对数据库中的数据进行的变更
ROLLBACK 取消对数据库中的数据进行的变更
GRANT 赋予用户操作权限
REVOKE 取消用户的操作权限
SQL书写规则
SQL语句以分号 ; 结尾
SQL语句不区分大小写
常数的书写方式
字符串和日期常数需要使用单引号 ' 括起来
数字常数无需单引号,直接写数字即可
单词之间需要使用半角空格或者换行符进行分隔
表的创建(CREATE)
创建数据库
CREATE DATABASE 数据库名;
创建表
CREATE TABLE 表名;
-
表
的
名
称
必
须
以
半
角英
文
字
母
作为
开
头
;
表
的
名
称
不
能
重
复
-
其中
DEFAULT
为
当
前列
设
置
默
认
值
数据类型
INTEGER 存储整数的列的数据类型,不能存储小数
CHAR 存储字符串的列的数据类型(字符型),如“CHAR(10)”,指定最大长度,定长字符串
VARCHAR 存储字符串的列的数据类型(字符串型),如“VARCHAR(8)”,可变长字符串
DATE 存储日期(年月日)的列的数据类型(日期型)
表的删除和更新(DROP/ALTER)
删除表
DROP TABLE 表名;
添加列
ALTER TABLE 表名 ADD COLUMN 列名 约束;
删除列
ALTER TABLE 表名 DROP COLUMN 列名;
-
常
规
情
况下
表
和
列
的
删
除
无
法
恢
复
,
请
在
操
作前
确
认
表中插入数据
变更表名
Oracle & PostgreSQL
ALTER TABLE 旧表名 RENAME TO 新表名;
SQL Server
sp_rename '旧表名','新表名';
MySQL
RENAME TABLE 旧表名 to 新表名;
2.查询基础
CREATE TABLE 表名
(列名1 数据类型 列的约束,
列名2 数据类型 列的约束,
列名3 数据类型 DEFAULT 值,
。。。
表的约束1,表的约束2,。。。);
-------------------------------
PRIMARY KEY (列名) ---> 设置主键,可以多个
1
2
3
4
5
6
7
8
-- 以下代码适用于SQL Server和PostgreSQL
BEGIN TRANSACTION;
INSERT INTO 表名 VALUES ('001','测试','人生','4000','2019-09-15',NULL);
INSERT INTO 表名 VALUES ('002','运营','人类','5000','2019-08-20','400');
COMMIT;
-- 注1:MySQL中第一行为 START TRANSACTION
-- 注2:Oracle和DB2中无需第一行
1
2
3
4
5
6
7
8
9
SELECT基础
查询列
SELECT 列名1,列名2 FROM 表名;
查询表中所有列
SELECT * FROM 表名;
为列设置别名
SELECT 列名1 AS 别名1,列名2 AS 别名2 FROM 表名;
SELECT 列名1 AS “中文列名1”,列名2 AS “中文列名2” FROM 表名;
-
设
置
为中
文
列
名
需
要
加
英
文
双
引
号
常数查询
SELECT '名称' AS string,20 AS number,'2019-09-15' AS date,列名1,列名2 FROM 表名;
- SQL
语
句
中
若
使
用
字
符
串
或
日期
常
数时
,
必
须
使
用
单
引
号
从结果中删除重复行
SELECT DISTINCT 列名 FROM 表名;
SELECT DISTINCT 列名1,列名2 FROM 表名;
- DISTINCT
关
键
字
只
能
用
在
第
一
个列
名
之前
-
使
用
DISTINCT
时
,
NULL
也
被视
为
一
类
数据
使用WHERE选择记录
SELECT 列名1,列名2 FROM 表名 WHERE 条件表达式;
-
先
通过
WHERE
查
询
符
合
条
件
记
录
,
再
选
取
出
SELECT
语
句
指
定
的
列
;
- WHERE
语
句
须
在
FROM
子
句
之
后
注释
单行注释:在 -- 之后;
多行注释:在 /* 和 */ 之间
算术运算符和比较运算符
含义 运算符
加法运算 +
减法运算 -
乘法运算 *
除法运算 /
SQL中的算数运算符
算数运算符示例
SELECT 列名1,列名2,列名2 * 3 FROM 表名;
-
其中列
名
2
的
数据
类
型
为
整数
型
时
,
直
接
进
行
数
学
运
算
-
所
有
包含
NULL
的
计
算
,
结
果
都
为
NULL
,
即
使
是
NULL / 0
这
样
的
计
算
SQL中的比较运算符
运算符 含义
= 和 XXX 相等
<> 和 XXX 不相等
>= 大于等于 XXX
> 大于 XXX
<= 小于等于 XXX
< 小于 XXX
比较运算符示例
SELECT 列名1,列名2 FROM 表名 WHERE 列名 < 值;
SELECT 列名1,列名2 FROM 表名 WHERE 列名 >= '日期';
SELECT 列名1,列名2 FROM 表名 WHERE 列名1 - 列名3 > 值;
-
小
于
某
个
日期
就
是
在
该
日期
之前
;
在
某日期
(
含
该
日期
)
之
后
的
查
询
条
件
时
,
使
用
>=
对字符串使用比较运算时
字符串类型的数据原则上按照字典顺序进行排序
该规则适用于长字符串和可变长字符串
不能对NULL使用比较运算符
SELECT 列名1,列名2 FROM 表名 WHERE 列名2 IS NULL;
SELECT 列名1,列名2 FROM 表名 WHERE 列名2 IS NOT NULL;
-
要
选
取
NULL
记
录
时
用
“IS NULL”
运
算符
,
选
取
不
是
NULL
记
录
使
用
"IS NOT NULL"
运
算符
逻辑运算符
NOT运算符
SELECT 列名1,列名2 FROM 表名 WHERE NOT 列名1 > 值;
- NOT
运
算符用
来
否
定
某
个
条
件
,
不
能
滥
用
AND和OR运算符
SELECT 列名1,列名2 FROM 表名 WHERE 列名 = 值 AND 列名3 <= 值;
SELECT 列名1,列名2 FROM 表名 WHERE 列名 = 值 OR 列名3 >= 值;
- AND
运
算符
:
在
其两侧
的
查
询
条
件
都
成
立
时整
个
查
询
条
件
才成
立
- OR
运
算符
:
在
其两侧
的
查
询
条
件
有
一
个
成
立
(
或
都
成
立
)
时整
个
查
询
条
件
都
成
立
- AND
运
算符
优先于
OR
运
算符
;
若
需
要
优先
执
行
OR
运
算符
,
可
使
用
括
号
3.聚合与排序
对表聚合查询
聚合函数
COUNT 记录表中的记录数(行数)
SUM 计算表中数值列中数据的合计值
AVG 计算表中数值列中数据的平均值
MAX 求出表中任意列中数据的最大值
剩余21页未读,继续阅读
cv.苏北
- 粉丝: 243
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0