未加星标

MySQL数据类型简述

字体大小 | |
[数据库(mysql) 所属分类 数据库(mysql) | 发布者 店小二04 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

mysql的数据类型主要分为以下几大类:

数值类型
整型:tinyint、smallint、mediumint、int、bigint 浮点型:float、double 字符类型
文本:char、varchar、text 二进制:binary、blob 时间类型:date、time、datetime、year、timestamp 复合类型:enum、set 一、数值类型 1>、整型 类 型 字 节 范围(signed) 范围(unsigned) tinyint 1 -128 ~ 127 0~255 smallint 2 -32267 ~ 32267 0~65535 mediumint 3 -8388608 ~ 8388608 0~16777215 int 4 -2147483648 ~ 2147483647 0~4294967295 bigint 8 -9233372036854775808 ~ 9223372036854775807 18446744073709551615 2>、浮点型 类 型 字 节 范围(signed) 范围(unsigned) float 4 -3.402823466E+38 ~ 1.175494351E-38 0 ~ 3.402823466351E+38) double 8 -1.7976931348623157E+308 ~ 2.2250738585072014E-308 0 ~ 1.7976931348623157E+308) decimal(M,D) m + 2 M是数字的最大长度, 取值范围1~65,默认值为10。
D是小数点位数,取值范围为0~30,不得超过M的长度 说明:

1>四舍五入:对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,再插入它。比如:decimal(5,2)类型的值为123.456,会自动截断为123.46。

2>取值范围说明 float(5,2):表示数值最大长度为5位,不包括小数点,其中3位为整数,2位为小数。如果超过取值范围,则取其表示的最大值。如:1234.56,整数部份超过了3位,MySQL会取整个数的最大值999.99。

二、字符串类型 类 型 字符长度取值范围 说明 char 0 ~ 255 定长字符串,如:lating1编码,char(10),占10个字节 varchar 0 ~ 255 可变长度字符串,如:varchar(10),根据实际存放的字符串长度计算存储空间 text 0 ~ 65535 长文本字符串 blob 0 ~ 65535 长文本二进制字符串 tinytext 0 ~ 255 短长度文本字符串 tinyblob 0 ~ 255 短长度二进制字符串 mediumtext 0 ~ 16777215 中长度文本字符串 mediumblob 0 ~ 16777215 中长度二进制字符串 longtext 0 ~ 4294967295 极大文本字符串 longblob 0 ~ 4294967295 极大二进制字符串 binary(M) 0 ~ M 保存定长二进制字符串,注意它保存的是字节而不是字符,没有字符集限制,区分大小写,不足长度用\0填充 varbinary(M) 0 ~ M 保存变长的二进制字符串,同binary保存的是字节,没有字符集限制,区分大小写,不足后面不会补\0 三、日期和时间类型 类 型 取值范围 格式 说明 date 1000-01-01 ~ 9999-12-31 yyyy-MM-dd、yyyy/MM/dd、yyyyMMdd,如:2016-07-03、2016/07/03、20160703 存储年月日 time -838:59:59 ~ 838:59:59 HH:mm:ss,HHmmss,如:08:24:53,082453 存储时分秒 year 1901 ~ 2155 yyyy,如:2016 存储4位数的年份,不在取值范围用0表示 datetime 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 yyyy-MM-dd HH:mm:ss,yyyy/MM/dd HH:mm:ss date和time类型的组合 timestamp 1970-01-01 00:00:00 ~ 2037某时 yyyy-MM-dd HH:mm:ss date和time类型的组合,如果没有对该类型的字段赋值或赋值为null,默认值为当前时间 四、复合类型 类 型 语法 说明 enum enum(‘a’,’b’) 一次只能存取其中的一个值,如果不是其中的某一个值,mysql会插入一个空字符串。适合单选值,比如性别 set set(‘a’,’b’,’c’) 可以存取其中的多个值,多个字符之间用逗号分隔,最多不能超过64个。如果不是其中的值,mysql会插入一个空字符串。适合多选,比如个人爱好 create table mixtab (
radiovalue enum('a','b','c'), checkvalue set('a','b','c','d')
);
mysql> insert into mixtab values ('b', 'a,b,c'); # success
mysql> insert into mixtab values ('d', 'a,b'); # error,'d'不在enum范围内
mysql> insert into mixtab values ('d', 'ab'); # error,'ab'没用逗号分隔

注意:数值类型默认都是signed(有符号),在创建字段的时候可以显示指定unsigned或signed。如: create table user(age int unsigned);

本文地址 : http://www.linuxidc.com/Linux/2017-02/140425.htm

本文数据库(mysql)相关术语:navicat for mysql mysql workbench mysql数据库 mysql 存储过程 mysql安装图解 mysql教程 mysql 管理工具

主题: SQLMySQL数据Linux
分页:12
转载请注明
本文标题:MySQL数据类型简述
本站链接:http://www.codesec.net/view/532233.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(mysql) | 评论(0) | 阅读(70)