# 初识数据库
## DBMS的类型
### 层次数据库
### 关系数据库
- Mysql
- sql server
- oracle
### 面向对象数据库
### XML数据库
### 键值储存数据库
- MongoDB
## 初识SQL
### SQL语句分类
- DDL
- CREATE
- 创建数据库和表等对象
- DROP
- 删除数据库和表等对象
- ALTER
- 修改数据库和表等对象
- DML(重点)
- SELECT
- 查询表中数据
- INSERT
- 向表中插入新数据
- UPDATE
- 更新表中的数据
- DELETE
- 删除表中数据
- DCL
- COMMIT
- 确认对数据库中的数据进行的变更
- ROLLBACK
- 取消对数据库中的数据进行的变更
- GRANT
- 赋予用户操作权限
- REVOKE
- 取消用户的操作权限
### SQL语句基本书写规则
- 以分号结尾
- 属性不区分关键字大小写,数据区分大小写
- 单词需要半角空格或者换行来分隔
### 数据库的创建
- CREATE DATABASE<数据库名称>;
### 表的创建
- CREATE TABLE <表名>
### 命名规则
- 只能使用半角英文字母、数字、下划线作为数据库、表、列的名称
- 名称必须以半角英文字母开头
### 数据类型的指定
- INTEGER型 整型,只能储存整数
- CHAR型 字符型,储存定长度字符
- VARCHAR型 可变字符型,储存可变长度字符串
- DATE型 日期型, 储存日期
### 约束的设置
- 1NF
- 2NF
- 3NF
- BCNF
### 表的删除和更新
- 删除表
- DROP TABLE <表名>;
- 添加列的ALTER TABLE 语句
- ALTER TABLE <表名> ADD COLUME <列的定义>;
- 删除列的ALTER TABLE 语句
- ALTER TABLE <表名> DROP COLUME <列名>;
- 清空表内容
- TRUNCATE TABLE <表名>;
- 数据的更新
- UPDATE <表名>
SET <列名>=<表达式>[,<列名2>=<表达式2>...];
WHERE <条件>;--可选(非常重要)
ORDER BY 子句;--可选
LIMIT 子句;--可选
### 向表中插入数据
- INSERT INTO <表名> (list1,list2,list3,list4...) VALUES (value1,value2,value3...)
*XMind - Trial Version*