[TOC]

## 名稱
## 類型
### INT
### VARCHAR
### TEXT
### DATE
### 數字類型
#### **整型**
|||
|-|-|
|MySQL數據類型 |含義(有符號)|
|tinyint |1字節,范圍(-128~127)|
|smallint |2字節,范圍(-32768~32767)|
|mediumint |3字節,范圍(-8388608~8388607)|
|int |4字節,范圍(-2147483648~2147483647)|
|bigint |8字節,范圍(+-9.22*10的18次方)|
#### **浮點型**
|||
|-|-|
|MySQL數據類型| 含義|
|float(m, d) |4字節,單精度浮點型,m總個數,d小數位|
|double(m, d) |8字節,雙精度浮點型,m總個數,d小數位|
|decimal(m, d) |decimal是存儲為字符串的浮點數|
### 日期和時間類型
| | |
| -| -|
|MySQL數據類型 |含義|
|date |3字節,日期,格式:2014-09-18|
|time |3字節,時間,格式:08:42:30|
|datetime |8字節,日期時間,格式:2014-09-18 08:42:30|
|timestamp |4字節,自動存儲記錄修改的時間|
|year |1字節,年份|
### 字符串(字符)類型
|||
|-|-|
|MySQL數據類型| 含義|
|char(n) |固定長度,最多255個字符|
|varchar(n) |可變長度,最多65535個字符|
|tinytext |可變長度,最多255個字符|
|text |可變長度,最多65535個字符|
|mediumtext |可變長度,最多2的24次方-1個字符|
|longtext |可變長度,最多2的32次方-1個字符|
## 長度/值
## 默認
## 整理
## 屬性
### **BINARY 二進制**
[http://my.oschina.net/jsan/blog/336898](http://my.oschina.net/jsan/blog/336898)
**示例數據表:**
~~~
CREATE TABLE test_bin (
bin_id BINARY(16) NOT NULL
) Engine=InnoDB;
~~~
**插入數據(內容是一個32位的UUID字符串值):**
~~~
INSERT INTO test_bin(bin_id) VALUES(UNHEX('FA34E10293CB42848573A4E39937F479'));
INSERT INTO test_bin(bin_id) VALUES(UNHEX(?));
或
INSERT INTO test_bin(bin_id) VALUES(x'FA34E10293CB42848573A4E39937F479');
~~~
**查詢數據:**
~~~
SELECT HEX(bin_id) AS bin_id FROM test_bin;
SELECT HEX(bin_id) AS bin_id FROM test_bin WHERE bin_id = UNHEX('FA34E10293CB42848573A4E39937F479');
SELECT HEX(bin_id) AS bin_id FROM test_bin WHERE bin_id = UNHEX(?);
SELECT HEX(bin_id) AS bin_id FROM test_bin WHERE bin_id = x'FA34E10293CB42848573A4E39937F479';
~~~
> 查詢結果:
> bin_id
> --------------------------
> FA34E10293CB42848573A4E39937F479
### UNSIGNED 非負數
> unsigned 既為非負數,用此類型可以增加數據長度!
### UNSIGNED ZEROFILL
## 空
## 索引
### PRIMARY 主鍵,就是唯一且不能為空
### UNIQUE 唯一索引, 不允許有重復
### INDEX 索引,普通的
### FULLTEXT 是全文索引
> 用于在一篇文章中,檢索文本信息的
**例如**
~~~
有下列字段:
會員編號 INT
會員姓名 VARCHAR(10)
會員身份證號碼 VARCHAR(18)
會員電話 VARCHAR(10)
會員住址 VARCHAR(50)
會員備注信息 TEXT
~~~
> 會員編號,作為主鍵,使用 PRIMARY
> 會員姓名 如果要建索引的話,那么就是普通的 INDEX
> 會員身份證號碼 如果要建索引的話,那么可以選擇 UNIQUE (唯一的,不允許重復)
> 會員備注信息 , 如果需要建索引的話,可以選擇 FULLTEXT,全文搜索。
## A_I
**A_I = auto_increment 就是對主鍵 id 自動增加編號的。**
**創建表的語句-例如**
~~~
CREATE TABLE money (
id INT NOT NULL AUTO_INCREMENT ,
username VARCHAR(50) NOT NULL ,
balance FLOAT NOT NULL ,
province VARCHAR(20) NOT NULL ,
age TINYINT UNSIGNED NOT NULL ,
sex TINYINT NOT NULL ,
PRIMARY KEY (id(10))
) ENGINE = InnoDB CHARACTER SET utf8;
~~~