# 初識數(shù)據(jù)庫
## DBMS的類型
### 層次數(shù)據(jù)庫
### 關系數(shù)據(jù)庫
- Mysql
- sql server
- oracle
### 面向對象數(shù)據(jù)庫
### XML數(shù)據(jù)庫
### 鍵值儲存數(shù)據(jù)庫
- MongoDB
## 初識SQL
### SQL語句分類
- DDL
- CREATE
- 創(chuàng)建數(shù)據(jù)庫和表等對象
- DROP
- 刪除數(shù)據(jù)庫和表等對象
- ALTER
- 修改數(shù)據(jù)庫和表等對象
- DML(重點)
- SELECT
- 查詢表中數(shù)據(jù)
- INSERT
- 向表中插入新數(shù)據(jù)
- UPDATE
- 更新表中的數(shù)據(jù)
- DELETE
- 刪除表中數(shù)據(jù)
- DCL
- COMMIT
- 確認對數(shù)據(jù)庫中的數(shù)據(jù)進行的變更
- ROLLBACK
- 取消對數(shù)據(jù)庫中的數(shù)據(jù)進行的變更
- GRANT
- 賦予用戶操作權限
- REVOKE
- 取消用戶的操作權限
### SQL語句基本書寫規(guī)則
- 以分號結尾
- 屬性不區(qū)分關鍵字大小寫,數(shù)據(jù)區(qū)分大小寫
- 單詞需要半角空格或者換行來分隔
### 數(shù)據(jù)庫的創(chuàng)建
- CREATE DATABASE<數(shù)據(jù)庫名稱>;
### 表的創(chuàng)建
- CREATE TABLE <表名>
### 命名規(guī)則
- 只能使用半角英文字母、數(shù)字、下劃線作為數(shù)據(jù)庫、表、列的名稱
- 名稱必須以半角英文字母開頭
### 數(shù)據(jù)類型的指定
- INTEGER型 整型,只能儲存整數(shù)
- CHAR型 字符型,儲存定長度字符
- VARCHAR型 可變字符型,儲存可變長度字符串
- DATE型 日期型, 儲存日期
### 約束的設置
- 1NF
- 2NF
- 3NF
- BCNF
### 表的刪除和更新
- 刪除表
- DROP TABLE <表名>;
- 添加列的ALTER TABLE 語句
- ALTER TABLE <表名> ADD COLUME <列的定義>;
- 刪除列的ALTER TABLE 語句
- ALTER TABLE <表名> DROP COLUME <列名>;
- 清空表內容
- TRUNCATE TABLE <表名>;
- 數(shù)據(jù)的更新
- UPDATE <表名>
SET <列名>=<表達式>[,<列名2>=<表達式2>...];
WHERE <條件>;--可選(非常重要)
ORDER BY 子句;--可選
LIMIT 子句;--可選
### 向表中插入數(shù)據(jù)
- INSERT INTO <表名> (list1,list2,list3,list4...) VALUES (value1,value2,value3...)
*XMind - Trial Version*