Chinaunix首页 | 论坛 | 博客
  • 博客访问: 106560
  • 博文数量: 20
  • 博客积分: 1486
  • 博客等级: 上尉
  • 技术积分: 205
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-06 09:29
个人简介

平静

文章分类

全部博文(20)

文章存档

2010年(2)

2007年(6)

2006年(12)

我的朋友
最近访客

分类: Mysql/postgreSQL

2006-12-12 10:03:49

mysql数据类型

数字类型
日期和时间类型
字符串(字符)类型
--------
数字类型
---
---decimal=numcric  //作为字符串存储,不是以二进制浮点数
商品价格888.88 price decimal(5,2) //数字总长度为5位,小数位是2位,小数点不占位数
create table t (a decimal(5,2))
insert into t values(100.111);
select * from t;
100.11  //会丢掉最后一个1
insert into t values(1000000000000000);
select * from t;
100.11
9999.99    //对很大的数,以最高值来表示
----
mysql中整数有5种
integer(int 4个字节,2的32次方减1),smallint,tinyint,bigint,..
create table zhen(a int);
insert into t values(1.1);
insert into t values(1.5);
select *from t;
1
2
--------
所有的整形实数可以有一个可选(非标准的)属性unsigned,如果希望在一个列中只允许正值并需要一个稍大一点的数字范围,就可以使用无符号值
create table test(price int unsigned);
---------
单精度浮点数,4个字节   float
也可以指定精度如:col float(4,2);
也可以是无符号数,如col float(4,2)unsigned
双精度浮点数,8个字节     double
real,
----------
日期和时间类型
datatime,date,timestamp(时间戳,和datatime差不多),time,year
注意:MYSQL允许存储不严格的,合法的日期,例如
1999.11.31        //11月没有31号,mysql不管
datatime : yyyy-mm-dd hh:mm:ss
date      :  yyyy-mm-dd
reate table tt(a datetime);
insert into tt values('2006-11-22 18:58:12');
insert into tt values(now());
-------
timestamp   yyyy-mm-dd hh:mm:ss
             范围1970-2037,任意一时刻
如果插入超过这个范围的,显示的是0000-00-00-00:00:00
--------
time   : hhh:mm:ss
    -838:59:59~838:59:59
小部分可以>24,time类型不仅可以用于表示一天的时间,还可以表示所经过的时间或二个事件之间的时间间隔,可是一个负值
不合法的值转为00:00:00
-------
year类型是一个以1个字节描述年份
yyyy      1901-2155
超出的置0000
--------
固定长度char
name char(10),  n(长度)<255
可变长度varchar  开销位:1
name varchar(10),  需要11个字节,n<255
如果name只用了4个,就分配5个字节
blob  tinyblob,medimblob,longblob
可以保存可变长度数据的二进制大对像 n<216 ,开销位:2
-------
test类似blob
是一个忽略字母大小写的blob
--------
ENUM 枚举类型 通常是一个允许的值列表
level enum("A","B","C","D")
 
 
 
阅读(1558) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~