只是做笔记,来源于《SQL基础教程》这本书。
SQL(Structured Query Language,结构化查询语言)
1-1 数据库是什么
DB(数据库):是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。
DBMS:用来管理数据库的计算机系统
RDBMS:关系数据库管理系统
DSMS的重要性:实现多个用户同时安全简单地操作大量数据
(文本文件或电子制表软件存在的问题):
1.无法多人共享数据
2.无法提供操作大量数据所需的格式
3.实现读写自动化需要编程能力
4.无法应对突发事故
DBMS的种类
层次数据库 面向对象数据库 XML数据库 键值存储系统
关系数据库(现在应用最广泛):采用由行和列组成的二维表来管理数据,根据 SQL 语句的内容返回的数据同样必须是二维表的形式
● Oracle Database:甲骨文公司的RDBMS
● SQL Server:微软公司的RDBMS
● DB2:IBM公司的RDBMS
● PostgreSQL:开源的RDBMS
● MySQL:开源的RDBMS
1-2 数据库的结构
RDBMS的常见系统结构
使用 RDBMS 时,最常见的系统结构就是客户端 / 服务器类型(C/S 类型)
服务器:用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或者是安装了此类程序的设备(计算机)。在计算机上持续执行处理,并等接收下一条请求。RDBMS 也是一种服务器,它能够从保存在硬盘上的数据库中读取数据并返回,还可以把数据变更为指定内容。
客户端:向服务器发出请求的程序(软件),或者是安装了该程序 的设备(计算机)。访问由 RDBMS 管理的数据库,进行数据读写的程序称为 RDBMS 客户端。RDBMS 客户端将想要获取什么样的数据,或者想对哪些数据进行何种变更等信息通过 SQL 语句发送给 RDBMS 服务器。RDBMS 根据该语句的内容返回所请求的数据,或者对存储在数据库中的数据进行更新。
客户端就如同委托方,而服务器就像是受托方。由于两者关系类似受托方执行委托方发出的指令,故而得名。
这样就可以使用 SQL 语句来实现关系数据库的读写操作了。本书为了大家讲解 SQL,使用了可以显示如何将 SQL 语句发送到 RDBMS, 以及接收返回信息(数据)的客户端。另外,RDBMS 既可以和其客户端安装在同一台计算机上,也可以分别安装在不同的计算机上。这样一来,不仅可以通过网络使二者相互关联, 还可以实现多个客户端访问同一个 RDBMS(图 1-4)
RDBMS 除了需要同时接收多个客户端的请求之外,还需要操作存有大量数据的数据库,因此通常都会安装在比客户端性能更优越的计 算机上。操作数据量特别巨大的数据库时,还可以将多台计算机组合使用。
表的结构
列(字段)
行(记录)
关系数据库以行为单位读写数据
1-3 SQL摘要
标准SQL
SQL语句及其种类
SQL用关键字、表名、列名等组合而成的一条语句(SQL 语句)来描述操作的内容。
关键字:含义或使用方法已事先定义好的英语单词,存在包含“对表进行查询”或者“参考这个表”等各种意义的关键字。
DDL(Data Definition Language,数据定义语言):用来创建或者删除存储数据用的数据库以及数据库中的表等对象
指令:CREATE、 DROP、 ALTER
DML(Data Manipulation Language,数据操纵语言):用来查询或者变更表中的记录。
实际使用的 SQL 语句当中有 90% 属于 DML。
指令:SELECT、INSERT、UPDATE、 DELETE
DCL(Data Control Language,数据控制语言): 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。
指令:COMMIT(确认对数据库中的数据进行的变更)、ROLLBACK(取消对数据库中的数据进行的变更)、GRANT(赋予用户操作权限) REVOKE(取消用户的操作权限)
SQL的基本书写规则
1、SQL语句要以分号(;)结尾
2、SQL语句、关键字不区分大小写,插入到表中的数据是区分大小写的
本书:关键字大写 、表名的首字母大写 、其余(列名等)小写
3、常数的书写方式是固定的
常数:SQL 语句中直接书写的字符串、日期或者数字等
字符串和日期常数需要使用单引号(')括起来,数字常数无需加注单引号(直接书写数字即可)
4、单词之间需要使用半角空格或者换行符进行分隔