码迷,mamicode.com
首页 > 数据库 > 详细

3. mysql数据类型

时间:2015-06-14 10:43:26      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

1. 数值类型

Int   TINYINT, SMALLINT, MEDIUMINT,INT,BIGINT

默认是:signed

unsigned  无符号,不能取负数

ZEROFILL 修饰符规定 0(不是空格)可以用来真补输出的值。使用这个修饰符可以阻止 MySQL 数据库存储负值

zerofill只是在查询时的格式化输出, 数据库内部存储的还是1而不是0001

not null与default:

not null即值不能为null, 就是写null进去, 结果出错,判断时用  is

default默认值

当没有给某字段显式赋值时, 就用这个默认值, 默认为null

auto_increment  自动增长,一般只对整型指定,一张表最多一个,并且一般为主键索引(key,unique

select  last_insert_id();      --取自动增长列的值

 

Decimalnumeric

decimal(m,d)     可简写成dec

用来存钱,salry  dec(5,2) , 最多共5位,其中一定2位小数, 整数位最多3位,  5为精度, 2为标度。会4舍5入

 

Float

float 单精度,4B

real        double       double precision   均是 double   8B

注意:float时最好指定精度,不然查询会出错

UNSIGNED 和 ZEROFILL 修饰符也可以被 FLOAT、DOUBLE 和 DECIMAL 数据类型使用。并且效果与 INT 数据类型相同。

 

2.字符串类型

MySQL 提供了 8 个基本的字符串类型,可以存储的范围从简单的一个字符到巨大的文本块或二进制字符串数据。

技术分享

varchar(M) charset为utf8时, M取值为[0, 21???]      

char(8)存‘ab‘, 占8B         varchar(8)存的是‘ab‘, 占3B

varchar(8) -- 8个英文或中文字符

个人简介、微博内容用varchar, 文字量不是特别大就可用varchar而不用text

select length(‘中国人’);

 

text, blod,enum,set     (均没有默认值)

  • text 存大量文字如新闻内容, 不区分大小写, 搜索速度稍慢
  • blob(large binary object), 区分大小写
  • enum 一次只能选一个成员
  • set 与enum类似, 但一次可选多个成员

 

3.日期时间型

datetime    8B

date     4B

time     4B

year      1B

timestamp   4B

select now();

select curdate();

select curtime();

timestamp与时区相关

插入时: 先转成本地时区后存放            取出时: 先转成本地时区后显示





3. mysql数据类型

标签:

原文地址:http://www.cnblogs.com/51runsky/p/beb11317d3728bd40d286c9663bda328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!