视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql常用数据类型详细说明及实例说明(学习笔记一)_MySQL
2020-11-09 18:39:48 责编:小采
文档
 bitsCN.com

1.Mysql 在windows下

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

最大长度为k的变长文本

longtext

与text相同,但最大长度为4GB

enum

接受最多k个串组成的一个预定义集合的某个串

set

接受最多k个串组成的一个预定义集合的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-位.(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

kb

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.6插入进去是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 必须放在类型之后

bitsCN.com

下载本文
显示全文
专题