MySQL-快速入门(2)数据类型

摘要:
2》日期/时间类型:year、time、date、datetime、timestamp。其存储占用的空间也不是固定的,是M+2个字节。'0'和'00'作用相同,插入超过取值范围的值将被转换为2000。5》二进制字符串类型二进制数据类型有:bit、binary、varbinary、tinyblob、blob、mediumblob、longblob。2˃binary和varbinary类型3˃blob类型3、如何选择数据类型

1、MySQL支持多种数据类型:

1》数值类型:整数类型tinyint、smallint、mediumint、bigint、int;浮点小数类型float、double;定点小数类型decimal。

2》日期 / 时间类型:year、time、date、datetime、timestamp。

3》字符串类型:char、varchar、binary、varbinary、blob、text、enum、set。

2、各种数据类型详解:

1》整数类型:

MySQL-快速入门(2)数据类型第1张

MySQL-快速入门(2)数据类型第2张

2》浮点数类型和定点数类型

MySQL中使用浮点数和定点数来表示小数。浮点数有两种:单精度浮点数(float)和双精度浮点数(double)。定点数只有一种类型:decimal。

浮点数类型和定点数类型都可以使用(M,N)来表示,其中M称为精度,表示总共的位数;N称为标度,是表示小数的位数。

MySQL-快速入门(2)数据类型第3张

decimal类型不同于float和double,decimal实际是以串存放的,decimal可能的最大取值范围与double一样,但是其有效的取值范围由M和D的值决定。如果改变M而固定D,则其取值范围将随M的变大而变大。其存储占用的空间也不是固定的,是M+2个字节。

数据类型有 / 无符号最小值最大值
float类型取值范围有符号的取值范围-3.402823466E+38-1.175494351E-38
无符号的取值范围0和1.175494351E3.402823466E+38
double类型取值范围有符号的取值范围-1.7976931348623157E+308-2.2250738585072014E-308
无符号的取值范围0和2.2250738585072014E-3081.7976931348623157E+308

不论是定点还是浮点类型,如果用户指定的精度超出精度范围,则会四舍五入进行处理。float、double在不指定精度时,默认会按照实际的精度(由计算机硬件和操作系统决定),decimal如果不指定精度,默认是(10,0)。

3》日期和时间类型

主要有:datetime、date、timestamp、time、year。

MySQL-快速入门(2)数据类型第4张

1>year:

输入格式范围示例
4位字符串或者4位数字格式表示year'YYYY'或YYYY'1901'~'2155'输入'2010'或2010
2位字符串格式表示year'00'~'69'范围值转换为2000~2069;'70'~'99'转换为1970~1999。'0'和'00'作用相同,插入超过取值范围的值将被转换为2000。'00'~'99'
2位数字表示year1~69转换为2001~2069;70~99转换为1970~1999。但0值将为转换为0000,而非2000。非法year值都将转换为0000。1~99

2>time:

MySQL-快速入门(2)数据类型第5张

currrent_time / current_time():时间函数

now():时间函数

3>date类型

可以使用字符串类型和数字类型的数据插入,只要符合date类型的日期格式。其中年份可以简写YY,但世纪不确定,解析同year的缩写形式。

使用current_date / current_date()、now()。允许使用不严格的语法,其中的格式分割符可以是非标准的分隔符。

4>datetime类型

now()函数。允许使用不严格的语法,其中的格式分割符可以是非标准的分隔符。

5>timestamp类型:

4》文本字符串类型:文本字符串、二进制字符串

MySQL-快速入门(2)数据类型第6张

1> char(M)和varchar(M)在严格模式下,字段最多存储M个字符,只是char(M)会一直占用M个字符的存储空间,而varchar(M)则根据实际存储的字符个数N存储N+1个字符的空间。

2>text类型:tinytext、text、mediumtext、longtext

MySQL-快速入门(2)数据类型第7张

3>enum类型:可以插入枚举值、枚举值对应的序号

字段名 enum('value1','value2',...,'valueN');

4>set类型:字符串对象最为元素。

5》二进制字符串类型

二进制数据类型有:bit、binary、varbinary、tinyblob、blob、mediumblob、longblob。

MySQL-快速入门(2)数据类型第8张

1>bit类型:位字段类型。

2>binary和varbinary类型

3>blob类型

3、如何选择数据类型

免责声明:文章转载自《MySQL-快速入门(2)数据类型》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇zabbix安装注意以下几个部分R语言快速深度学习进行回归预测(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Mysql的union

我同事写了一条Sql语句,当时没看明白,下面晒出来: SELECT SUM(new_cart) as new_cart,SUM(new_collect) as new_collect, SUM(total_cart) as total_cart, SUM(total_collect) as total_collect, SUM(ipv) ipv, SUM(...

mysql 日期处理

mysql获取一个小时内的数据 (第一种方法)SELECT * FROM 表名 WHERE 字段名>NOW()-INTERVAL 2 HOUR; (第二种方法)SELECT * FROM 表名 WHERE 字段名 > DATE_SUB(NOW(), INTERVAL 60 MINUTE); 字符串型日期比对 select name,cdate ...

mysql中使用show table status 查看表信息

本文导读:在使用mysql数据库时,经常需要对mysql进行维护,查询每个库、每个表的具体使用情况,Mysql数据库可以通过执行SHOW TABLE STATUS命令来获取每个数据表的信息。 一、使用方法 SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern'] 1、说明 [FROM db_name] 可选,表示...

MySQL主从报错1872 Slave failed to initialize relay log info structure from the repository【原创】

一台MySQL服务器重启后发现主从复制报错 Last_Errno: 1872 Last_Error: Slave failed to initialize relay log info structure from the repository   mysql> show slave statusG; ************************...

二十四、Mysql读写分离之Atlas

一、Atlas介绍 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条...

mysql:mysql安装及一些配置和图形界面介绍

关于mysql,我使用的不多,这次记录是在学习一位大牛的demo的契机下完成的。包括前面记录到的sqlserver的一些知识点,也是在新的项目组中协助时候学习记录的。希望通过记录加深印象和帮助后来者。 言归正传: 一、安装版的mysql 1.数据库版本:mysql 5.6 (网上有资源)我的安装目录 2.图形化界面:这个在网上搜索的话,会有一大堆介绍,在这...