
*****
## 數據完整性
在表中為了更加準確的存儲數據,保證數據的正確有效,可以在創建表的時候,為表添加一些強制性的驗證,包括數據字段的類型、約束
### 常見的數據類型
- 整數:int
- 小數:decimal
- 字符串:varchar,char
- 日期時間: date, time, datetime
- 枚舉類型:enum
### 特別說明的類型
decimal表示浮點數,如decimal(5,2)表示共存5位數,小數占2位
<br>char表示固定長度的字符串,如char(3),如果填充'ab'時會補一個空格為'ab '
<br>varchar表示可變長度的字符串,如varchar(3),填充'ab'時就會存儲'ab'
<br>字符串text表示存儲大文本,當字符大于4000時推薦使用
<br>對于圖片、音頻、視頻等文件,不存儲在數據庫中,而是上傳到某個服務器上,然后在表中存儲這個文件的保存路徑
<br>
更全的數據類型可以參考:http://blog.csdn.net/anxpp/article/details/51284106
### 數值類型

### 字符串

### 日期時間類型

## 約束
* 主鍵primary key:物理上存儲的順序
* 非空not null:此字段不允許填寫空值
* 惟一unique:此字段的值不允許重復
* 默認default:當不填寫此值時會使用默認值,如果填寫時以填寫為準
* 外鍵foreign key:對關系字段進行約束,當為關系字段填寫值時,會到關聯的表中查詢此值是否存在,如果存在則填寫成功,如果不存在則填寫失敗并拋出異常
- 1-數據庫-基本使用
- 1-1-數據存儲
- 1-2-數據庫
- 1-3-MySQL安裝和配置
- 1-4-SQL
- 1-5-數據完整性
- 1-6-命令行操作數據庫
- 2-MySQL查詢
- 2-1-MySQL查詢
- 2-2-條件
- 2-3-聚合函數
- 2-4-分組
- 2-5-排序
- 2-6-分頁
- 2-7-連接查詢
- 2-8-子查詢
- 2-9-自關聯
- 3-MySQL外鍵
- 4-MySQL與Python交互
- 4-1-數據準備
- 4-2-數據表的拆分
- 4-3-Python操作MySQL
- 5-MySQL高級
- 5-1-視圖
- 5-2-事務
- 5-3-索引
- 5-4-賬戶管理(了解)
- 6-數據庫存儲引擎
- 6-1-MyISAM存儲引擎
- 6-2-Innodb存儲引擎
- 6-3-CSV存儲引擎
- 6-4-Memory存儲引
- 7-MySQL基準測試
- 8-explain分析SQL語句
- 8-1-影響服務器性能的幾個方面
- 8-2-explain分析SQL
- 9-索引優化案例
- 10-索引優化
- 11-排序優化
- 12-慢查詢日志
- 13-Show Profile進行SQL分析
- 14-數據庫鎖
- 15-主從復制
- 16-MySQL分區表
- 17-MySQL操作規范