5.17
一、DBMS的种类
1、层次数据库HDB
2、关系数据库RDB
- SQL Server:微软公司的RDBMS
- MySQL:开源的RDBMS
3、面向对象数据库OODB
4、XML数据库XMLDB
5、键值存储系统KVS
二、SQL的基本书写规则
1、以分号( ; )结尾
2、不区分关键字的大小写
3、win 系统不区分表名及字段名的大小写,linux / mac 默认严格区分
4、常数的书写方式固定
'abc', 1234, '26 Jan 2010', '10/01/26', '2010-01-26'
5、单词需要用半角空格或者换行来分隔
三、数据类型的指定
1、 integer 型 整数型
2、char型
3、varchar型
4、date 型
四、操作
1、创建数据
CREATE DATABASE < 数据库名称 > ;
2、创建表
CREATE TABLE 语句

3、删除表
DROP TABLE < 表名 > ;
4、添加列的 ALTER TABLE 语句
ALTER TABLE < 表名 > ADD COLUMN < 列的定义 >;
5、删除列的 ALTER TABLE 语句
ALTER TABLE < 表名 > DROP COLUMN < 列名 >;
6、清空表内容
TRUNCATE TABLE TABLE_NAME;
7、数据的更新


使用 UPDATE 也可以将列更新为 NULL(该更新俗称为NULL清空)。此时只需要将赋值表达式右边的值直接写为 NULL 即可。

8、多列更新
UPDATE 语句的 SET 子句支持同时将多个列作为更新对象。

9、insert语法

*全列insert时,values子句的值默认 从左到右 赋值

*多行的时候,可以更简略一点

10、创建索引

11、索引分类
1、主键索引
2、唯一索引
3、普通索引
4、前缀索引
5、全文索引
6、单列索引
7、联合索引
五、练习题
1、 编写一条 CREATE TABLE 语句,用来创建一个包含表 1-A 中所列各项的表 Addressbook (地址簿),并为 regist_no (注册编号)列设置主键约束
表1-A 表 Addressbook (地址簿)中的列


2、假设在创建练习1.1中的 Addressbook 表时忘记添加如下一列 postal_code (邮政编码)了,请编写 SQL 把此列添加到 Addressbook 表中。
列名 : postal_code
数据类型 :定长字符串类型(长度为 8)
约束 :不能为 NULL
alter table Addressbook add postal_code char(8) not null;
3、填空
drop table Addressbook;
4、判断题
是否可以编写 SQL 语句来恢复删除掉的 Addressbook 表?
不可以 永久删除 不能恢复