mysql常用数据类型详细说明及实例说明(学习笔记

页面导航:首页 > 数据库 > Mysql > mysql常用数据类型详细说明及实例说明(学习笔记

mysql常用数据类型详细说明及实例说明(学习笔记

来源: 作者: 时间:2016-02-18 10:28 【

mysql常用数据类型详细说明及实例说明(学习笔记一)1.Mysql在windows下Netstartmysql[启动]Netstopmysql[停止]Quit[退出mysql命令行]\c[取消输入的命令]Selectversion(),current_date()Mysql版本号,现在的日期
常用数据类型详细说明及实例说明(学习笔记一)
 
1.Mysql 在下
Net start mysql[启动]
Net stop mysql[停止]
Quit[退出mysql命令行]
\c[取消输入的命令]
Select version(),current_date()
Mysql 版本号,现在的日期(年月日如2013-7-15)
Now()现在时间(年月日时分秒如 2013-07-15 08:29:56)
User() 用户
2.当简单的计算器
select sin( pi()/6),100/3;

3.不必全在一个行内给出一个命令,较长的命令可以输入到多个行中。Mysql 通过寻找终止分号而不是输入行的结束来决定语句在哪结束。
Mysql状态
提示符
含义
Mysql>
准备好接受新命令
->
等待多行命令的下一行
‘>
等待下一行,等待以单引号(“’”)开始的字符串的结束
等待下一行,等待以双引号(“’”)开始的字符串的结束
`
等待下一行,等待以反斜点(“`”)开始的字符串的结束
/*
等待下一行,等待以/*开始的注释的结束

注意:当输入’, “, `时若不输入与之对应的结束符则无法输入新的命令

4.Mysql常用列类型
①串数据数据类型
数据类型
  说明
char
1-255个字符的定长串。他的长度必须在创建时指定否则Mysql假定为char(1)
varchar
长度可变,整体体最大长度是65,532字节如果创建时指定为varchar(n),则可存储0-n个字符的变长串(n<=65535)字符集而定
tinytext
与text相同,最大长度为255字节
mediumtext
与text相同,但最大16k
text
最大长度为64k的变长文本
longtext
与text相同,但最大长度为4GB
enum
接受最多64k个串组成的一个预定义集合的某个串
set
接受最多64k个串组成的一个预定义集合的0个或多个串
数值数据类型 
数据类型
  说明
tinyint
整数值,支持-128-127(如果unsigned,为0-255)的数 1字节
smallint
整数值,支持-32768-32767(unsigned,0-65535)  2字节
mediumint
  -8388608-8388607(undesigned 0-)  3字节 223
  -223-223-1
int
 231  4字节 
bigint
 8字节
float
单精度浮点值
double
双精度浮点值
boolean
布尔
decimal
精度可变的浮点值
peal
4字节的浮点值
bit
为字段,1-64位.(mysql5之前功能上等于tinyint)
 
日期和时间数据类型
数据类型
  说明
DATE
表示1000-01-01至9999-12-31的日期,格式(YYYY-MM-DD)
DATETIME
DATE和TIME的组合
TIMESTAMP
功能上同DATETIME(但范围较小)
TIME
格式 HH:MM:SS
YEAR
用2位数字表示,范围是70(1970)-69(2069),4位表示,1901-2155
 
二进制数据
数据类型
  说明
TINYBLOB
Blob最大长度为255字节
BLOB
 64kb
MEDIUMBLOB
  16MB
LONGBLOB
  4GB
5.相关数据类型说明补充
列声明中可选属性 unsigned ,zerofill
Tinyint时默认tinyint(4)
只有当给zerofill时括号里给定长度才有意义
比如定义了zerofill tinyint(5) 插入1时则插入的是00001 
小数型:
浮点型(不太标准),定点型(4或8个字节较复杂)
Float(M,D) M不算.的总位数,D小数点后的位数
比如float(6,4)范围是
-9999.99-9999.99
688.896插入进去是688.90
1,3,7,9舍去
2,4,6,8,5进位
定点型:
Decimal(M,D)
插入时数据与存入的数据差异小
字符型:
Char(M) M均代表可容纳的字符长度而非字节大小一个汉字z占3个字节而它仍是一个字符(据编码而定),插入的数据小于规定长度时用空格补齐 取出时去掉尾部空格,如果插入的数据尾部就是带有空格的,则一存一取后尾部空格会丢失,小于M时也占M个字符,利用率<=100%;

Varchar(M) 小于M个,最大有65535字节(ascii时),如果实存n个字符,n<=M,它必须还得用1-2个字节来记录实际存多少,取时取多少,尾部有空格也不会丢失,利用率=n/(n+1~2字节)<100%,小于255记录时用一个字节,大于时用2个字节
证明以上差异实例:
创建表t2
CREATE TABLE `t2` (
 `id` int(10) unsigned NOT NULL auto_increment,
 `name` char(7) NOT NULL,
 `pass` varchar(8) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
插入尾部带空格的数据
insert into t2(name,pass)
value('hk ','hk ');
取出数据
 select concat(name,'!'),concat(pass,'!') from t2;
会发现
Char与varchar区别
1.Char :1-255定长串 Varchar:0-65535
2.实占空间与利用效率不一样
3.对尾部空格的处理
Char(可以不给长度默认1),varchar在表创建时都必须给定长度,tinytext类型的不能给定长度,text可以不给可以给定长度,text类型的数据不能设置默认值

修改列数据属性
ALTER TABLE `t1` CHANGE `id` `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT
alter table 表名 change 字段名 字段列声明(包括字段名)
其中unsigned 必须放在类型之后

Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<