mysql 数据类型,字符集

数据类型

 

1,数值类型
2,字符串类型
3,日期和时间
4,ENUM和SET
5,几何数据类型

 
数据类型选项

unsigned   无负值
zerofill        数值显示有影响,会前置0来填充不足位数的数据。对值无影响,只是在输出是进行了格式化输出
auto_increment      自动递增
serial default value==声明auto_increment not null
 
tinyint    -128----127
smallint    -32768----32767
mediumint    -8388608-----8388607
int(integer)  -2147483648----2147483647
bigint                 -9223372036854775808----9223372036854775807
浮点数
float       4字节        正负1.175494351E-38-----正负3.402823466E+38
double   8字节        正负2.2250738585072014E-308---正负1.7976931348623157E+308
定点数
DEC
DECIMAL
BIT

 
 
字符型

char            0-255
varchar       0-65535
 
tinyblob      0-255
blob             0-65535
mediumblob  0-167772150
longblob         0-4294967295
 
tinytext           0-255
text                  0-65535
mediumtext    0-167772150
longtext           0-4294967295
二进制字符,只能是二进制的字符
varbinary          0-M
binary               0-M
 
 
时间类型

datetime    占8个字节    可以显示日期同时显示时间  yyyy-mm-dd hh:mm:ss
显示范围  1000-01-01 00:00:00----9999-12-31 23:59:59
可用格式
2011-01-01 00:01:10
2011/01/01 00+01+10
20110101000110
11/01/01/  00@01@10
mysql5.5版本之前日期类型无法精确到微秒级别
 
date               占3个字节   显示日期
显示范围   1000-01-01----9999-12-31 
 
 
timestamp     占用4个字节       1970 10 10 80001----2038-01-19 03:14:07
timestamp 和datetime显示结果一样
但是显示范围不同,其次建表时timestamp格式可以设置默认值,datetime不行
更新表时可以设置timestamp类型的列自动更新为当前时间
 
 
 
time                -838:59:59 ----838:59:59
year               1901----2155   可以使用year(2)和year(4)
 
与时间相关的函数

now   current_timestamp    sysdate
 
1,now和current_timestamp是同样的
2,sysdate函数返回执行当前函数时的时间,而now返回的事执行sql语句时的时间
 
时间加减
如果出现目标年份是闰月,会自动加减1天
date_add(date,interval   expr  unit)
date_sub(date,interval   expr  unit)
 
date_add(now(),interval 1  day)
unit  可以是如下数据
year
month
day
week
hour
minute
second
microsecond
 
date_format()函数,其作用是按用户需求格式化打印日期,如果查询条件使用建议使用时间索引。
 
 
 
 
select date_format(now() ,'%Y%m%d') as datetime ;
 

 字符集

mysql字符集在选择字符集是
_ci   大小写不敏感
_cs   大小写敏感
_bin  二进制
 
字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
 
常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。
 
字符编码(Character Encoding):是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对。即在符号集合与数字系统之间建立对应关系,它是信息处理的一项基本技术。通常人们用符号集合(一般情况下就是文字)来表达信息。而以计算机为基础的信息处理系统则是利用元件(硬件)不同状态的组合来存储和处理信息的。元件不同状态的组合能代表数字系统的数字,因此字符编码就是将符号转换为计算机可以接受的数字系统的数,称为数字代码。
 
 
Unicode统一码万国码单一码标准万国码)是业界的一种标准,它可以使电脑得以体现世界上数十种文字的系统。
可以这样理解:Unicode是字符集,UTF-32/ UTF-16/ UTF-8是三种字符编码方案。
 
 
 
 
posted @ 2013-07-01 12:58  fsl  阅读(2182)  评论(0编辑  收藏  举报