一、数据库和SQL
1、数据库定义
数据库(DB):是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。
数据库系统(DBMS):用来管理数据库的计算机系统。
DBMS的重要意义:
- 能够实现多个用户同时安全简单地操作大量数据
- 可以提供操作大量数据所需要的格式
- 通过编程技术能力实现读写自动化
- 可以对文件进行备份
DBMS种类:
- 层次数据库(Hierarchical Database,HDB):把数据通过层次结构(树形结构)的方式表 现出来。
- 关系数据库(Relational Database,RDB):用由行和列组成的二维表来管理数据.比较具代表性的有5种,Oracle Database,QL Server,DB2,PostgreSQL,MySQL。
- 面向对象数据库(Object Oriented Database,OODB):把数据以及对数据的操作集合起来以对象为单位进行管理被称为面向对象语言的语言 ,主要的面向对象语言包括 Java和 C++等。
- XML数据库(XML Database,XMLDB):eXtensible Markup Language 的缩写,一种使用 HTML那样的 标签来表现数据结构的语言。以<name>铃木<name> 这样的形式来保存数据。
- 键值存储系统(Key-Value Store,KVS):这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组 合的数据库。
(RDBMS也可以向XML数据库那样操作XML形式的数据,并且具有面向对象数据库的功能。)
2、数据库的结构(这里介绍的是RDBMS管理的数据库)
RDBMS的常见系统结构:
客户端/服务器(C/S类型):能够通过网络实现多个客户端访问同一个数据库。
服务器:指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或者是安装了此类程序的设备(计算机)。RDBMS也是一种服务器,它能够从保存在硬盘上的数据库中读取数据并反汇编,还可以把数据变更为指定内容。
客户端:向服务器发出请求的程序(软件),或者是安装了该程序的设备(计算机)。
表的结构:
表:用来管理数据的二维表。表的列(垂直方向)称为字段,它代表了保存在表中的数据项目。表的行(水平方向)称为记录,它相当于一条数据。
关系数据库必须以行为单位进行数据读写
根据 SQL 语句的内容返回的数据同样必须是二维表的形式
RDBMS的用户管理:为了防止重要数据被窃读或篡改,RDBMS 只允许注册用户接触数据库。这里 的用户并不是指 Windows 等操作系统的注册用户,而是只能用于 RDBMS 的用 户。RDBMS 允许注册多个用户。 注册用户的时候除了设定用户名(账号),还需要设定密码。虽然密码并不是 必需的,但为了防止重要信息的泄露,还是希望大家能够设定密码。
3、SQL语句
SQL 语句是由关键字、表名、列名等组合而成的一条语句。根据对 RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类:
● DDL
DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储 数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令:
CREATE:创建数据库和表等对象
DROP: 删除数据库和表等对象
ALTER: 修改数据库和表等对象的结构
● DML (使用最多)
DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更 表中的记录。DML 包含以下几种指令:
SELECT:查询表中的数据
INSERT:向表中插入新数据
UPDATE:更新表中的数据
DELETE:删除表中的数据
● DCL
DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据 库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限 操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令:
COMMIT: 确认对数据库中的数据进行的变更
ROLLBACK:取消对数据库中的数据进行的变更
GRANT: 赋予用户操作权限
REVOKE: 取消用户的操作权限