MySql数据类型有哪些 (mysql数据库备份与还原)
本文目录导航:
MySql数据类型有哪些
类型
说明
存储需求(取值范畴)
tinyint很小整数1字节([0~255]、[-128~127]); 255=2^8-1;127=2^7-1
smallint小整数2字节(0~、-~) ;=2^16-1
mediumint中等3字节(0~) ;=2^24-1
int(integer)普通4字节(0~) ;=2^32-1
bigint大整数8字节(0~);=2^64-1
浮点数&定点数:
类型称号
说明
存储需求
float单精度浮点数4字节
double双精度浮点数8字节
decimal紧缩的“严厉”定点数M+2字节
注:定点数以字符串方式存储,对精度要求高时经常使用decimal较好;尽量防止对浮点数启动减法和比拟运算。
2.期间/日期类型:year范畴:1901~2155;time格局:‘HH:MM:SS’(假设省略写,并且没有冒号,则自动最右起2位为秒,再到分,最后到时);拔出系统以后期间:insert into 表名 values(current_date()),(now());date类型:‘YYYY-MM-DD’;datetime(日期+期间):‘YYYY-MM-DD HH:MM:SS’或‘YYYYMMDDHHMMSS’,取值范畴:‘1000-01-01 00:00:00’~‘9999-12-31 23:59:59’;timestamp格局同datetime,但在存储时须要4个字节(datetime须要8字节),并且以UTC(环球规范期间)启动存储(即timestamp会随设置的时区而变动,而datetime存储的绝不会变动);timestamp的范畴:1970-2037。
3.字符串类型:text类型:tinytext、text、mediumtext、longtext;
类型
范畴
tinytext255=2^8-1
text=2^16-1
mediumtex=2^24-1
longtext=4GB=2^32-1
char的存储需求是定义时指定的固定长度;varchar的存储需求是取决于实践值长度。
set类型格局:set(’值1’,’值2’…) ——可以有0或许多个值,关于set而言,若拔出的值为重复的,则只娶一个。
拔出的值乱序,则智能按顺序拔出陈列。
拔出不反常值,则疏忽。
二进制类型:bit(M)——保留位字段值(位字段类型),M示意值的位数;eg:select BIN(b+0) from 表名;—–b为列名;b+0示意将二进制的结果转换为对应的数字的值,BIN()函数将数字转换为二进制。
blog——-二进制大对象,用来存储可变数量的数据。
数据类型
存储范畴(字节)
tinyblog最多255=2^8-1 字节
bolg最多=2^16-1 字节
mediumblog最多=2^24-1 字节
longblog最多=4GB=2^32-1 字节
10位字段是什么意思?
意思是指字段是数字型,长度为10,小数为两位。
(1)二进制数据类型
二进制数据包括 Binary、Varbinary 和 Image
Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(n)] 是 n 位固定的二进制数据。
其中,n 的取值范畴是从 1 到 8000。
其存储空间的大小是 n + 4 个字节。
Varbinary[(n)] 是 n 位变长度的二进制数据。
其中,n 的取值范畴是从 1 到 8000。
其存储空间的大小是 n + 4个字节,不是n 个字节。
在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必定由运行程序来解释。
例如,运行程序可以经常使用BMP、TIEF、GIF 和 JPEG 格局把数据存储在 Image 数据类型中。
(2)字符数据类型
字符数据的类型包括 Char,Varchar 和 Text
字符数据是由任何字母、符号和数字恣意组合而成的数据。
Varchar 是变长字符数据,其长度不超越 8KB。
Char 是定长字符数据,其长度最多为 8KB。
超越 8KB 的ASCII 数据可以经常使用Text数据类型存储。
例如,由于 Html 文档所有都是 ASCII字符,并且在普通状况下长度超越 8KB,所以这些文档可以 Text 数据类型存储在SQL Server 中。
(3)Unicode 数据类型
Unicode 数据类型包括 Nchar,Nvarchar 和Ntext
在 Microsoft SQL Server 中,传统的非 Unicode 数据类型准许经常使用由特定字符集定义的字符。
在 SQL Server装置环节中,准许选用一种字符集。
经常使用 Unicode 数据类型,列中可以存储任何由Unicode 规范定义的字符。
在 Unicode 规范中,包括了以各种字符集定义的所有字符。
经常使用Unicode数据类型,所占用的空间是经常使用非Unicode数据类型所占用的空间大小的两倍。
在 SQL Server 中,Unicode 数据以 Nchar、Nvarchar 和 Ntext 数据类型存储。
经常使用这种字符类型存储的列可以存储多个字符集中的字符。
当列的长度变动时,应该经常使用Nvarchar字符类型,这时最多可以存储 4000 个字符。
当列的长度固定不变时,应该经常使用 Nchar字符类型,雷同,这时最多可以存储4000 个字符。
当经常使用 Ntext 数据类型时,该列可以存储多于 4000 个字符。
Set DateFormat {format | @format _var|
(5)数字数据类型
数字数据只蕴含数字。数字数据类型包括正数和正数、小数(浮点数)和整数
整数由正整数和负整数组成,例如 39、25、0-2 和 。
在 Microsoft SQL Server 中,整数存储的数据类型是 Int,Smallint和 Tinyint。
Int 数据类型存储数据的范畴大于 Smallint 数据类型存储数据的范畴,而 Smallint 据类型存储数据的范畴大于Tinyint 数据类型存储数据的范畴。
经常使用 Int 数据类型存储数据的范畴是从 -2 147 483 648 到 2 147 483 647(每一个值要求4个字节存储空间)。
经常使用 Smallint 数据类型时,存储数据的范畴从 -32 768 到 32 767(每一个值要求2个字节存储空间)。
经常使用Tinyint 数据类型时,存储数据的范畴是从0 到255(每一个值要求1个字节存储空间)。
准确小数数据在 SQL Server 中的数据类型是 Decimal 和 Numeric。
这种数据所占的存储空间依据该数据的位数后的位数来确定。
Decimal 数据类型经常使用128位来示意值来用作数值计算。
在SQL Server 中,近似小数数据的数据类型是 Float 和 Real。
例如,三分之一这个分数记作0.,当经常使用近似数据类型时能准确示意。
因此,从系统中检索到的数据或许与存储在该列中数据不齐全一样。
裁减资料:
1、货币数据类型
在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney
Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。
2、不凡数据类型
不凡数据类型包括前面没有提过的数据类型。
不凡的数据类型有3种,即 Timestamp、Bit 和 Uniqueidentifier。
Bit 由 1 或许 0 组成。
当示意真或许假、ON 或许 OFF 时,经常使用 Bit 数据类型。
例如,征询能否是每一次性访问的客户机恳求可以存储在这种数据类型的列中。
Uniqueidentifier 由 16字节的十六进制数字组成,示意一个全局惟一的。
当表的记载行要求惟一时,GUID是十分有用。
例如,在客户标识号列经常使用这种数据类型可以区别不同的客户。
细节辨别
1、CHAR。
CHAR存储定长数据很繁难,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据能否到达了10个字节,都要占去10个字节的空间。
2、VARCHAR。
存储变长数据,但存储效率没有CHAR高。
假设一个字段或许的值是不固定长度的,咱们只知道它无法能超越10个字符,把它定义为 VARCHAR(10)是最合算的。
VARCHAR类型的实践长度是它的值的实践长度从空间上思考,用varchar适合;从效率上思考,用char适合,关键是依据实践状况找到掂量点。
3、TEXT。
text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。
4、NCHAR、NVARCHAR、NTEXT。
这三种从名字上看比前面三种多了个“N”。
它示意存储的是Unicode数据类型的字符。
咱们知道字符中,英文字符只有要一个字节存储就足够了,但汉字泛滥,须要两个字节存储,英文与汉字同时存在时容易形成凌乱,Unicode字符集就是为了处置字符集这种不兼容的疑问而发生的,它一切的字符都用两个字节示意,即英文字符也是用两个字节示意。
nchar、nvarchar的长度是在1到4000之间。
和char、varchar比拟起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。
可以看出经常使用nchar、nvarchar数据类型时不用担忧输入的字符是英文还是汉字,较为繁难,但在存储英文时数量上有些损失。
所以普通来说,假设含有中文字符,用nchar/nvarchar,假设纯英文和数字,用char/varchar。
参考资料:网络百科——SQL数据类型
c言语位操作的位字段填充
单片机分8bit\16bit\32bit的数据宽度,这与配件设计无关,咱们在访问数据时,如过存储宽度是8bit的MCU,那么上图中 ,opaque 、fill_color、和第三行的缺省定义占了8bit,存储为1个有效的最小单元,前面的 show_border、bordrr_coler、border_style和前面的2bit缺省为一个8bit最小存储单元。这样做的目标是在访问这这结构体成员的的时刻,可以极速的存取这些变量;假设不要缺省的第三行和第8行,读取数据时,须要移位的变量就会比拟多,这样糜费MCU的期间资源;