学习链接:http://datawhale.club/t/topic/477
数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。该数据集合称为数据库(Database,DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。
数据库的特点及作用
- 对数据进行持久化的保存
- 方便数据的存储和查询,速度快,安全、方便
- 可以处理并发访问
- 更加安全的权限管理访问机制
DBMS的种类(5种)
- 层次数据库(Hierarchical Database,HDB)
- 关系数据库(Relational Database,RDB)
- 面向对象数据库(Object Oriented Database,OODB)
- XML数据库(XML Database,XMLDB)
- 键值存储系统(Key-Value Store,KVS)
SQL语句的分类(3类)和指令(增、删、改、查)
(1)DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL包含以下几种指令:
- CREATE : 创建数据库和表等对象
- DROP : 删除数据库和表等对象
- ALTER : 修改数据库和表等对象的结构
(2)DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录(语言使用率在90%左右)。DML 包含以下几种指令: - SELECT :查询表中的数据
- INSERT :向表中插入新数据
- UPDATE :更新表中的数据
- DELETE :删除表中的数据
(3)DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令: - COMMIT : 确认对数据库中的数据进行的变更
- ROLLBACK : 取消对数据库中的数据进行的变更
- GRANT : 赋予用户操作权限
- REVOKE : 取消用户的操作权限
编程实践
MySQL Workbench使用图文教程:https://www.jianshu.com/p/c3dcd4d9ce69
-
1.1 编写一条 CREATE TABLE 语句,用来创建一个包含表 1-A 中所列各项的表 Addressbook (地址簿),并为 regist_no (注册编号)列设置主键约束
表1-A 表 Addressbook (地址簿)中的列
create table Addressbook
(regist_no INTEGER not null,
name VARCHAR(128) not null,
address VARCHAR(256) not null,
tel_no char(10),
mail_address char(20),
PRIMARY KEY (regist_no));
- 1.2 假设在创建练习1.1中的 Addressbook 表时忘记添加如下一列 postal_code (邮政编码)了,请把此列添加到 Addressbook 表中。
列名 : postal_code
数据类型 :定长字符串类型(长度为 8)
约束 :不能为 NULL
ALTER TABLE Addressbook ADD COLUMN postal_code CHAR(8) NOT NULL;
- 1.3 编写 SQL 语句来删除 Addressbook 表。
DROP TABLE Addressbook;
- 1.4 编写 SQL 语句来恢复删除掉的 Addressbook 表。
删除后的表无法使用命令进行恢复