多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[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; ~~~