[TOC]
![](https://box.kancloud.cn/2015-11-27_565826f5ea7c6.jpg)
## 名称
## 类型
### 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;
~~~