SQL数据库字段数据类型说明
SQL基础T-SQL数据类型
SQL基础:T-SQL数据类型主要学习T-SQL的数据类型:数值型数据类型,字符型数据类型,临时数据类型,混合型数据类型,附带有VARDECIMAL的DECIMAL存储类型。
1、数值数据类型数值数据类型用于代表数据。
具体看下表:2、字符型数据类型字符型数据类型用两种普通形式。
它们可以是单字节的字符串,还可以使Unicode字符串。
此外,字符串有固定或可变长度。
具体看下表:注:VARCHAR数据类型和CHAR数据类型基本一样,只有一点不同,如果一个CHAR(n)字符串比n个字符要短,那么其余的字符串就会用空格来填充。
VARCHAR数据类型经常用数据长度存储。
3、临时数据类型T-SQL支持的临时数据类型有:DATETIME、SMALLDATETIME、DATE、TIME、DATETIME2和DETETINEOFFSET。
DATETIME和SMALLDATETIME数据类型指定日期和时间,每个值都为整数并分别用4个字节或2个字节保存。
DATETIME和SMALLDATETIME的值是作为两个单独的数值保存的。
DATETIME日期值的范围为01/01/1900至12/31/9999。
SMALLDATETIME相应的值为01/01/1900至06/06/2079。
时间部分能够再用4个字节或2个字节保存。
它表示午夜过后的一秒的三百分之一(DATETIME)或分钟(SMALLDATETIME)。
如果只想保存日期或时间部分,那么使用DATETIME和SMALLDATETIME非常不方便。
SQL SERVER 2008新增新的数据类型:DATE和TIME,这两种数据类型只能分别保存DATATIME数据的DATA或TIME部分。
DATE数据类型用3个字节的保存并且范围为01/01/0001至12/31/9999。
TIME数据类型用3-5个字节保存,且精确到100ns。
DATETIME2数据类型也是一种新的数据类型,用于保存精度度很高的日期和时间数据。
五:SQL语句中的数据类型
五:SQL语句中的数据类型⼀:MySQL数据类型 MySQL中定义数据字段的类型对你数据库的优化是⾮常重要的 MySQL⽀持多种数据类型,⼤致可以分为三类:数值⽇期/时间和字符串⼆、数值类型(12) 2.1、整数类型(6) ⼀张图就能解释清楚了: INTEGER同INT。
2.2、定点数(2) DECIMAL和NUMERIC类型在MySQL中视为相同的类型。
它们⽤于保存必须为确切精度的值。
使⽤⽅式如下:1. salary DECIMAL(5,2) 下⾯的介绍将基于上⾯这个例⼦。
我们看到其中有两个参数,即DECIMAL(M,D),其中M表⽰⼗进制数字总的个数,D表⽰⼩数点后⾯数字的位数,上例中的取值范围为-999.99~999.99。
如果存储时,整数部分超出了范围(如上⾯的例⼦中,添加数值为1000.01),MySql就会报错,不允许存这样的值。
如果存储时,⼩数点部分若超出范围,就分以下情况:若四舍五⼊后,整数部分没有超出范围,则只警告,但能成功操作并四舍五⼊删除多余的⼩数位后保存。
如999.994实际被保存为999.99。
若四舍五⼊后,整数部分超出范围,则MySql报错,并拒绝处理。
如999.995和-999.995都会报错。
M的默认取值为10,D默认取值为0。
如果创建表时,某字段定义为decimal类型不带任何参数,等同于decimal(10,0)。
带⼀个参数时,D取默认值。
M的取值范围为1~65,取0时会被设为默认值,超出范围会报错。
D的取值范围为0~30,⽽且必须<=M,超出范围会报错。
所以,很显然,当M=65,D=0时,可以取得最⼤和最⼩值。
已经解释很详细了,如还不清楚,请回复。
2.3、浮点数(3) 浮点数是⽤来表⽰实数的⼀种⽅法,它⽤ M(尾数) * B( 基数)的E(指数)次⽅来表⽰实数,相对于定点数来说,在长度⼀定的情况下,具有表⽰数据范围⼤的特点。
但同时也存在误差问题。
sql的数值类型
在SQL中,常见的数值类型包括以下几种:
整数类型:包括tinyint、smallint、int、bigint等,用于存储整数。
其中,tinyint可以存储从0到255之间的所有整数;smallint可以存储从-32768到32767之间的所有整数;int可以存储从-2147483648到2147483647之间的所有整数;bigint可以存储从-9223372036854775808到9223372036854775807之间的所有整数。
精确数字类型:包括bit、decimal等,用于存储精确的数字数据。
其中,bit可以取0或1,输入非0值时系统会将其替换为1;decimal可以存储从-10的38次幂到10的38次幂之间的任意数。
此外,SQL中还有浮点数类型(如float和double)用于存储浮点数数据。
这些类型可以用于进行数值计算和比较。
请注意,具体的数值类型可能因不同的数据库管理系统而有所差异,上述信息仅供参考。
建议查阅相关的数据库文档或手册以获取更准确和详细的信息。
SQL SERVER中字段类型及说明
SQL SERVER中字段类型及说明【收藏】【评论】【打印】【关闭】一.基本的数据类型数值bigint 8字节从 -2^63 到 2^63-1 的整型数据(所有数字)int 4字节从 -2^31 到 2^31-1 的整型数据(所有数字)smallint 2字节从 -2^15 到 2^15-1 的整数数据tinyint 1字节从 0 到 255 的整数数据bit 1位 1 或 0 的整数数据decimal Decimal (p,s) 从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据numeric 功能上等同于 decimalmoney 8字节货币数据值介于 -2^63 与 2^63 -1 之间,精确到货币单位的千分之十smallmoney 4字节货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十float 4字节,7位精度从 -1.79E + 308 到 1.79E + 308 的浮点精度数字real 8字节,15位精度从 -3.40E + 38 到 3.40E + 38 的浮点精度数字datetime 8字节从1753 年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒smalldatetime 4字节从1900 年1月1日到2079年6月6日的日期和时间数据,精确到分钟字符串char 固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符varchar 可变长度的非 Unicode 数据,最长为 8,000 个字符text 可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符Unicode 字符串nchar 固定长度的 Unicode 数据,最大长度为 4,000 个字符nvarchar 可变长度 Unicode 数据,其最大长度为 4,000 字符sysname 是系统提供用户定义的数据类型,在功能上等同于nvarchar(128),用于引用数据库对象名ntext 可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符二进制字符串binary 固定长度的二进制数据,其最大长度为 8,000 个字节varbinary 可变长度的二进制数据,其最大长度为 8,000 个字节image 可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节其它数据类型cursor 游标的引用。
SQL数据库中各种字段类型的说明
SQL数据库中各种字段类型的说明char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,⽽varchar是变长字符数据。
所谓定长就是长度固定的,当输⼊的数据长度没有达到指定的长度时将⾃动以英⽂空格在其后⾯填充,使长度达到相应的长度;⽽变长字符数据则不会以空格填充。
text存储可变长度的⾮Unicode数据,最⼤长度为2^31-1(2,147,483,647)个字符。
后⾯三种数据类型和前⾯的相⽐,从名称上看只是多了个字母"n",它表⽰存储的是Unicode数据类型的字符。
写过程序的朋友对Unicode 应该很了解。
字符中,英⽂字符只需要⼀个字节存储就⾜够了,但汉字众多,需要两个字节存储,英⽂与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题⽽产⽣的,它所有的字符都⽤两个字节表⽰,即英⽂字符也是⽤两个字节表⽰。
nchar、nvarchar的长度是在1到4000之间。
和char、varchar⽐较:nchar、nvarchar则最多存储4000个字符,不论是英⽂还是汉字;⽽char、varchar最多能存储8000个英⽂,4000个汉字。
可以看出使⽤nchar、nvarchar数据类型时不⽤担⼼输⼊的字符是英⽂还是汉字,较为⽅便,但在存储英⽂时数量上有些损失。
datetime:从1753年1⽉1⽇到9999年12⽉31⽇的⽇期和时间数据,精确到百分之三秒。
smalldatetime:从1900年1⽉1⽇到2079年6⽉6⽇的⽇期和时间数据,精确到分钟。
bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据。
int:从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据。
smallint:从-2^15(-32,768)到2^15-1(32,767)的整数数据。
SQL数据库字段数据类型说明Word版
SQL数据库字段数据类型说明Word版在SQL数据库中,字段数据类型是指存储在表中的某个字段上的数据的类型。
这些数据类型定义了可以在字段中存储的数据的种类,它们确定了字段可以存储的最大值和最小值。
以下是几种常见的SQL数据库字段数据类型:1. 字符型数据类型:这些类型用于存储字符和字符串。
它们包括CHAR、VARCHAR和TEXT等类型。
其中,CHAR类型用于存储固定长度的字符和字符串,而VARCHAR类型用于存储可变长度的字符和字符串。
TEXT类型用于存储较长的字符串。
2. 数值型数据类型:这些类型用于存储数值。
它们包括整型、浮点型和精度型等类型。
其中,整型包括INT、BIGINT和TINYINT等类型,而浮点型包括FLOAT和DOUBLE等类型。
精度型包括DECIMAL和NUMERIC等类型。
3. 日期/时间型数据类型:这些类型用于存储日期和时间。
它们包括DATE、TIME、DATETIME和TIMESTAMP等类型。
其中,DATE类型用于存储日期,TIME类型用于存储时间,DATETIME类型用于存储日期和时间,而TIMESTAMP类型用于存储日期和时间,与时区相关。
4. 二进制数据类型:这些类型用于存储二进制数据,如图像和音频。
它们包括BINARY和VARBINARY等类型。
5. 布尔型数据类型:这些类型用于存储布尔值(真或假)。
它们包括BOOLEAN和BOOL 等类型。
还有其他多种类型,如GEOMETRY、POINT、BLOB等类型,具体的使用取决于具体应用。
总的来说,选择数据类型时需要考虑存储数据的实际需求,以及表的设计和查询性能。
选择合适的数据类型可以提高表的性能和数据的存储效率。
SQLSERVER中字段类型及说明
SQLSERVER中字段类型及说明 格式说明: 数据类型 说明 同义 Bit 1位,值为0或1 Int Integer 4字节,值为-2^31~2^31-1 Smallint 2字节,值为-2^15~2^15-1 Tinyint 1字节,值为0~255 Decimal (p,s) 数字数据,固定精度为P,宽度为S Numeric Money 8字节,存放货币类型,值为-2^63~2^63-1 Small money 4字节,存放货币类型,值为-214748.3648~+214748.3647近似数值数据类型 Float (n) N在1~24之间,4字节,7位精度 N=1~7为real N在25~53之间,8字节,15位精度 =8~15为float Datetime 8字节,描述某天的⽇期和时刻,值的精确度为1/300秒 Smalldatetime 4字节,描述某天的⽇期和时刻,精度为分钟 Cursor 对游标的引⽤ Timestamp 8字节,存放在数据库内唯⼀的数据 Uniqueidentifier 16字节,存放全局唯⼀标识(GUID) Char (n) ⾮unicode字符串的固定长度,n=1~8000 Character (n) Varchar (n) 可变长度,⾮unicode字符串n=1~8000 Char varying(n) Text 服务器代码页中可变长度⾮unicode数据。
最⼤长度为231-1个字符 Nchar 固定长度unicode字符串n=1~4000 National character (n), National char(n) Nvarchar 固定长度unicode字符串n=1~4000 National character varying(n) Ntext 可变长度unicode数据,最⼤长度为230-1个字符 National text Binary (n) 固定长度⼆进制数据,n在1~8000之间,存储空间为n+4字节 Varbinary (n) 可变长度⼆进制数据,n=1~8000 Binary varying (n) Tmage 可变长度⼆进制数据,⼤⼩为0~231-1 注意: 1) 对于数值型数据类型,宽度(scale)是指存储在⼩数点后的数字位数,⽽精度(precision)是指能存储的包含⼩数点在内的所有数字位数。
sql server 字段描述
sql server 字段描述在 SQL Server 中,字段是表的基本组成部分,用于存储数据。
每个字段都有特定的数据类型和属性,这些属性包括默认值、是否为空、主键、外键等。
以下是 SQL Server 中常见的字段类型及其描述:1. 整型:包括 smallint、int、tinyint 等,表示大小为 1 到 8 的整数。
2. 浮点型:包括 float、double 等,表示精度有限的浮点数。
3. 字符型:包括 varchar、char 等,表示可变长度的字符数据类型。
4. 日期型:包括 datetime、date 等,表示日期和时间的数据类型。
5. 布尔型:表示只有两个值,即 true 和 false。
6. 其他型:包括 uniqueidentifier、image 等,表示其他类型的数据。
在 SQL Server 中,还可以使用自动增加字段功能。
这个功能可以使表在创建时自动增加一个字段,该字段的值由系统自动生成。
使用自动增加字段功能需要使用 SQL 语句来创建表,具体语法如下:```CREATE TABLE [表名] ([字段 1] [datatype] [not null] [unique] [index],[字段 2] [datatype] [not null],...[字段 n] [datatype] [not null],[自动增加字段] [datatype] [not null] [unique] [index])```其中,自动增加字段的语法为 `[自动增加字段] [datatype] [not null] [unique] [index]`,它的值由系统自动生成,不能修改。
自动增加字段通常用于创建索引或作为主键。
除了自动增加字段功能,SQL Server 还支持其他一些有用的功能,例如约束、索引、外键等,这些功能可以提高表的数据质量和查询效率。
SQL中的五种数据类型
SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型字符型VARCHAR VS CHARVARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。
他们都是用来储存字符串长度小于255的字符。
假如你向一个长度为四十个字符的VARCHAR型字段中输入数据BIll GAtES。
当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。
现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。
字符串的后面会被附加多余的空格。
当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。
使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。
VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。
当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要文本型TEXT使用文本型数据,你可以存放超过二十亿个字符的字符串。
当你需要存储大串的字符时,应该使用文本型数据。
注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。
一个文本型字段中的数据通常要么为空,要么很大。
当你从HTML fORM的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。
但是,无论何时,只要你能避免使用文本型字段,你就应该不适用它。
文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。
文本型字段还会吃掉大量的磁盘空间。
一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。
除非删除该记录,否则你无法收回这部分存储空间。
数值型SQL支持许多种不同的数值型数据。
你可以存储整数 INT 、小数 NUMERIC、和钱数 MONEY。
INT VS SMALLINT VS TINYINT他们的区别只是字符长度:INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数SMALLINT 型数据可以存储从-32768到32768的整数TINYINT 型的字段只能存储从0到255的整数,不能用来储存负数通常,为了节省空间,应该尽可能的使用最小的整型数据。
Sql数据库字段类型
SQL Server数据库的数据类型详细介绍SQLServer 提供了25 种数据类型:Binary [(n)],Varbinary [(n)],Char[(n)],Varchar[(n)],Nchar[(n)],Nvarchar[(n)],Datetime,SmalldatetimeDecimal[(p[,s])],Numeric[(p[,s])],Float[(n)],Real,Int,Smallint,Tinyint,Money,Smallmoney,Bit,CursorSysname,Timestamp,Uniqueidentifier,Text,Image,Ntext。
下面来分别介绍这些数据类型:(1)二进制数据类型二进制数据包括Binary、Varbinary 和ImageBinary[(n)]和Varbinary[(n)] :n 的取值范围是从1 到8000。
其存储窨的大小是n + 4 个字节。
Image 数据类型中存储的数据是以位字符串存储的,不是由SQL Server 解释的,必须由应用程序来解释。
例如,应用程序可以使用BMP、TIEF、GIF 和JPEG 格式把数据存储在Image 数据类型中。
(2)字符数据类型字符数据的类型包括Char,Varchar 和Text字符数据是由任何字母、符号和数字任意组合而成的数据。
Char和Varchar:长度不超过8KB。
超过8KB 的ASCII 数据可以使用Text数据类型存储。
例如,因为Html 文档全部都是ASCII 字符,并且在一般情况下长度超过8KB,所以这些文档可以Text 数据类型存储在SQL Server 中。
(3)Unicode 数据类型Unicode 数据类型包括Nchar,Nvarchar 和Ntext(4)日期和时间数据类型日期和时间数据类型包括Datetime, Smalldatetime, Date, TimeStamp日期和时间数据类型由有效的日期和时间组成。
sql数字和文字一起的数据类型
sql数字和文字一起的数据类型在SQL中,存在许多数据类型,可以同时存储数字和文字的数据类型也不少。
以下是常见的可以存储数字和文字的数据类型。
1.字符数据类型(Character Data Types):在SQL中,可以存储文字、字符串和数字的数据类型之一是字符数据类型。
这些类型包括:- CHAR:用于存储固定长度的字符串。
例如,可以使用CHAR(10)来定义一个长度为10的字符串。
- VARCHAR:用于存储可变长度的字符串。
例如,可以使用VARCHAR(255)来定义一个可变长度为255的字符串。
- TEXT:用于存储大型文本数据。
例如,可以使用TEXT来定义一段大段落的文字。
字符数据类型可用于存储数字以及文字,但需要注意的是,存储数字时需要把数字转为字符串进行存储。
2.数组数据类型(Array Data Types):数组数据类型是一种可以同时存储多个数值或文字的数据类型。
在SQL中,数组数据类型用于存储多个相同类型的数值。
例如,可以使用INTEGER[]来定义一个整数数组,在数组中可以存储多个整数,也可以存储文字。
例如,可以创建一个包含整数和文字的数组:`ARRAY[1, 2, '文本']`3.枚举数据类型(Enum Data Types):枚举数据类型用于定义一组固定的值。
在SQL中,可以使用ENUM类型来存储一组固定的文字和数值的值。
例如,可以定义一个enum类型,包含"小"、"中"、"大"的三个值,同时这个字段也可以存储数值。
`ENUM('小', '中', '大')`4. JSON数据类型:JSON数据类型是一种以文本为基础的数据类型,用于存储文字和数值的结构化数据。
在SQL中,可以使用JSON数据类型来存储复杂的数据结构,包括文字和数值。
例如,可以定义一个JSON类型的字段,存储包含文字和数值的数据:`{"name": "张三", "age": 30, "性别": "男"}`5.多态数据类型(Polymorphic Data Types):多态数据类型是一种可以存储不同类型的数值和文字的数据类型。
sql 0和1 字段类型
sql 0和1 字段类型在SQL中,字段类型通常由数据的大小和格式决定。
例如,整数类型通常包括 `TINYINT`, `SMALLINT`, `MEDIUMINT`, `INT` 和 `BIGINT`。
这些类型用于存储整数,其中 `TINYINT` 只能存储从 0 到 255 的值,而 `BIGINT` 可以存储非常大的整数。
如果你想存储0和1这两个值,你可以选择以下几种方法:1. 使用 TINYINT:`TINYINT` 是一个非常小的整数,可以存储从0到255的值。
所以,你可以将0和1存储为`TINYINT`类型。
2. 使用 BOOLEAN 类型 (如果数据库支持):一些数据库系统(如 MySQL)支持 `BOOLEAN` 类型,它实际上是一个 `TINYINT(1)`。
这意味着它可以存储0或1。
3. 使用 CHAR(1) 或 VARCHAR(1):你可以使用字符类型来存储单个字符'0'或'1'。
但是这种方法可能不太直观,因为'0'和'1'在字符上看起来一样,除非你使用单引号来区分它们。
例如,在MySQL中,你可能会这样定义一个表:```sqlCREATE TABLE example (id INT AUTO_INCREMENT PRIMARY KEY,flag TINYINT(1) NOT NULL, -- 使用 TINYINT 存储 0 和 1-- 或者-- flag BOOLEAN NOT NULL -- 使用 BOOLEAN 类型 (实际上是TINYINT(1)));```在选择字段类型时,请考虑你的具体需求、数据库的性能和可读性。
如果你经常需要查询基于这些值的条件,那么使用整数类型(如 `TINYINT` 或`BOOLEAN`)可能会更高效。
如果你需要存储更多的信息或文本,那么字符类型可能更适合。
SQL数据库字段数据类型说明
SQL数据库字段数据类型说明1)char、varchar、text和nchar、nvarchar、ntextchar和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。
所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。
text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。
后面三种数据类型和前面的相比,从名称上看只是多了个字母n,它表示存储的是Unicode 数据类型的字符。
写过程序的朋友对Unicode应该很了解。
字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
nchar、nvarchar的长度是在1到4000之间。
和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。
可以看出使用nchar、nvarchar 数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。
(2)datetime和smalldatetimedatetime:从1753年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒。
smalldatetime:从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟。
(3)bitint、int、smallint、tinyint和bitbigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据。
SQL中的五种数据类型
SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型字符型VARCHAR VS CHARVARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。
他们都是用来储存字符串长度小于255的字符。
假如你向一个长度为四十个字符的VARCHAR型字段中输入数据BIll GAtES。
当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。
现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。
字符串的后面会被附加多余的空格。
当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。
使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。
VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。
当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要文本型TEXT使用文本型数据,你可以存放超过二十亿个字符的字符串。
当你需要存储大串的字符时,应该使用文本型数据。
注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。
一个文本型字段中的数据通常要么为空,要么很大。
当你从HTML fORM的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。
但是,无论何时,只要你能避免使用文本型字段,你就应该不适用它。
文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。
文本型字段还会吃掉大量的磁盘空间。
一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。
除非删除该记录,否则你无法收回这部分存储空间。
数值型SQL支持许多种不同的数值型数据。
你可以存储整数 INT 、小数 NUMERIC、和钱数 MONEY。
INT VS SMALLINT VS TINYINT他们的区别只是字符长度:INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数SMALLINT 型数据可以存储从-32768到32768的整数TINYINT 型的字段只能存储从0到255的整数,不能用来储存负数通常,为了节省空间,应该尽可能的使用最小的整型数据。
SQL数据库字段类型说明
SQL有如下字段类型:一、文本类型char用法:char(length)char类型最大长度是255个字符。
当插入到表中的字符串的长度小于length时候,将给字段右边不够的部分用空格填补。
varchar用法:varchar(length)varchar的最大长度是255个字符。
varchar和char几乎一样,区别在于varchar 是变长的类型,不会填补空格。
tinytext用法:tinytexttinytext最大长度是255字符。
text用法:texttext最大长度是65535(2的17次方)字符。
mediumtext用法:mediumtextmediumtext最大长度是16777215个字符。
longtext用法:longtextlongtext最大长度是4294976259个字符。
(tinytext,text,mediumtext,longtext这四种类型,都是可变长字段类型,与varchar 一样,只是最大长度不同而已)enum用法:enum('value1','value2','value3',....)[default 'value']使用enum的时候,可以限制插入的值只能是括号里包含的值列表中的一个,同时也可以用可选的default 'value'指定缺省情况下的值。
set用法:set('value1','value2','value3',...)[default 'value']使用set的时候,可以限制插入的值只能是括号里包含的值列表中的一个或多个,同时也可以用可选的default 'value'指定缺省情况下的值。
二、数字类型int/integer用法:int(display size)[unsigned][zerofill]tinyint用法:tinyint(display size)[unsigned][zerofill]mediumint用法:mediumint(display size)[unsigned][zerofill]bigint用法:bigint(display size)[unsigned][zerofill]float用法:float()[zerofill] ; float[(m,d)][zerofill]表示一个小的浮点数(单精度),不能是无符号数。
sqlserver 字段类型
SQL Server 字段类型是用来描述数据的结构和属性的类型。
它是SQL Server数据库中的一个重要组成部分,也是数据库开发的基础。
SQL Server支持的字段类型很多,主要分为三大类,即数值型、日期型和字符型。
1、数值型。
数值型字段是指可以存储数值的字段,其中包括整型(int)、小数型(decimal)、浮点型(float)、布尔型(bit)等。
数值型字段可以用来存储数字,比如金额、库存、价格等。
2、日期型。
日期型字段是指可以存储日期的字段,其中包括日期时间型(datetime)、日期型(date)、时间型(time)等。
日期型字段可以用来存储日期信息,比如订单创建时间、货物发货日期等。
3、字符型。
字符型字段是指可以存储文本信息的字段,其中包括字符型(char)、文本型(text)、可变字符型(varchar)等。
字符型字段可以用来存储文本信息,比如客户名称、地址、电话号码等。
4、二进制型。
二进制型字段是指可以存储二进制数据的字段,其中包括二进制型(binary)、可变二进制型(varbinary)等。
二进制型字段可以用来存储二进制数据,比如图片、文件等。
SQL Server支持多种字段类型,可以满足各种应用场景的数据存储需求。
在使用SQL Server字段类型时,一定要根据实际需求选择合适的字段类型,以达到最优的存储效果。
sqlserver select 字段类型
sqlserver select 字段类型在SQL Server中,字段类型是指用来定义和存储数据的类型。
每个字段都必须具有一个特定的数据类型,以确保数据的一致性和完整性。
SQL Server提供了多种字段类型,每个类型都有其特定的用途和限制。
本文将介绍SQL Server中常用的字段类型,并分为以下几个类别进行讨论:数值类型、日期和时间类型、字符串类型、二进制类型和其他类型。
1.数值类型:- int:表示整数类型,范围为-2,147,483,648到2,147,483,647。
- bigint:表示大整数类型,范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
- smallint:表示小整数类型,范围为-32,768到32,767。
- tinyint:表示小整数类型,范围为0到255。
- decimal(p,s):表示精确的十进制数,其中p表示总的位数,s表示小数位数。
- numeric(p,s):与decimal相同,精确的十进制数。
- float(n):表示浮点数,其中n表示有效位数,并且范围更广。
- real:表示单精度浮点数。
- money:表示货币金额。
- smallmoney:表示小额货币金额。
2.日期和时间类型:- datetime:表示日期和时间,范围为1753年1月1日到9999年12月31日。
- smalldatetime:表示日期和时间,范围为1900年1月1日到2079年6月6日。
- date:表示日期部分,范围为0001年1月1日到9999年12月31日。
- time:表示时间部分,范围为00:00:00.0000000到23:59:59.9999999。
- datetime2(n):表示日期和时间,其中n表示小数秒的精度。
- datetimeoffset(n):表示日期和时间,包含时区信息,其中n 表示小数秒的精度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据类型 bit int
smallint tinyint numeric Decimal
Money Smallmoney
Float Real Datetime Smalldatetime cursor
类型 整型
整型
整型
整,其值只能是 0、1 或空值。这种数据 类型用于存储只有两种可能值的数据,如 Yes 或 No、True 或 Fa lse 、On 或 Off int 数 据 类 型 可 以 存 储 从 - 231(-2147483648) 到 231 (2147483 647)之间的整数。存储到数据库的几乎所有数值 型的数据都可以用这种数据类型。这种数据类型在数据库 里占用 4 个字节 smallint 数据类型可以存储从- 215(-32768)到 215(32767) 之间的整数。这种数据类型对存储一些常限定在特定范围 内的数值型数据非常有用。这种数据类型在数据库里占用 2 字节空间 tinyint 数据类型能存储从 0 到 255 之间的整数。它在你 只打算存储有限数目的数值时很有用。 这种数据类型在 数据库中占用 1 个字节
但如果是 char(10)和 varchar(10),充实度只有 30%的情况下,理论上就应该是 varchar 快了。 因为 varchar 需要额外空间存放块长度,所以只要 length(1-fillfactor)大于这个存放空间(好 像是 2 字节),那么它就会比相同长度的 char 快了。
5、text、ntext 上是无法创建索引的
6、OR Mapping 中对应实体的属性类型一般是以 string 居多,用 char[]的非常少,所以如果 按 mapping 的合理性来说,可变长度的类型更加吻合
7、一般基础资料表中的 name 在实际查询中基本上全部是使用 like '%xx%'这种方式,而这种 方式是无法利用索引的,所以如果对于此种字段,索引建了也白建
度设置尽可能地小;另一种是则是觉得无所谓,尽量用可变类型的,长度尽量放大些。
鉴于现在硬件像萝卜一样便宜的大好形势,纠缠这样的小问题实在是没多大意义,不过如果 不弄清它,总觉得对不起劳累过度的 CPU 和硬盘。
下面开始了(以下说明只针对 SqlServer 有效):
1、当使用非 unicode 时慎用以下这种查询: select f from t where f = N'xx'
8、其它一些像 remark 的字段则是根本不需要查询的,所以不需要索引
9、varchar 的存放和 string 是一样原理的,即 length {block}这种方式,所以 varchar 的长度和 它实际占用空间是无关的
10、对于固定长度的字段,是需要额外空间来存放 NULL 标识的,所以如果一个 char 字段中 出现非常多的 NULL,那么很不幸,你的占用空间比没有 NULL 的大(但这个大并不是大太多, 因为 NULL 标识是用 bit 存放的,可是如果你一行中只有你一个 NULL 需要标识,那么你就白 白浪费 1byte 空间了,罪过罪过!),这时候,你可以使用特殊标识来存放,如:'NV'
(2)datetime 和 smalldatetime datetime:从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒。 smalldatetime:从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。
数据。当定义一列为此类型时,你必须指定列长。当你总
能知道要存储的数据的长度时,此数据类型很有用。例如,
Char
字符型
当你按邮政编码加 4 个字符格式来存储数据时,你知道总
要用到 10 个字符。此数据类型的列宽最大为 8000 个字
符
Varchar Text
字符型 字符型
varchar 数据类型,同 char 类型一样,用来存储非统一编 码型字符数据。与 char 型不一样,此数据类型为变长。 当定义一列为该数据类型时,你要指定该列的最大长度。 它与 char 数据类型最大的区别是,存储的长度不是列长, 而是数据的长度
(3)bitint、int、smallint、tinyint 和 bit bigint:从-2^63(-9223372036854775808)到 2^63-1(9223372036854775807)的整型数据。 int:从-2^31(-2,147,483,648)到 2^31-1(2,147,483,647)的整型数据。 smallint:从-2^15(-32,768)到 2^15-1(32,767)的整数数据。 tinyint:从 0 到 255 的整数数据。 bit:1 或 0 的整数数据。
型
1)char、varchar、text 和 nchar、nvarchar、ntext char 和 varchar 的长度都在 1 到 8000 之间,它们的区别在于 char 是定长字符数据,而 varchar 是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自 动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。 text 存储可变长度的非 Unicode 数据,最大长度为 2^31-1(2,147,483,647)个字符。
Uniqueidentifier
特殊数 据型
Uniqueidentifier 数据类型用来存储一个全局唯一标识符, 即 GUID。GUID 确实是全局唯一的。这个数几乎没有机会 在另一个系统中被重建。可以使用 NEWID 函数或转换一 个字符串为唯一标识符来初始化具有唯一标识符的列
char 数据类型用来存储指定长度的定长非统一编码型的
text 数据类型用来存储大量的非统一编码型字符数据。这 种数据类型最多可以有 231-1 或 20 亿个字符
Nchar
统一编 码字符
型
nchar 数据类型用来存储定长统一编码字符型数据。统一 编码用双字节结构来存储每个字符,而不是用单字节(普 通文本中的情况)。它允许大量的扩展字符。此数据类型 能存储 4000 种字符,使用的字节空间上增加了一倍
Nvarchar
统一编 码字符
型
nvarchar 数据类型用作变长的统一编码字符型数据。此数 据类型能存储 4000 种字符,使用的字节空间增加了一倍
Ntext Binary varbinary image
统一编 码字符
型 二进制 数据类
型 二进制 数据类
型 二进制 数据类
ntext 数据类型用来存储大量的统一编码字符型数据。这 种数据类型能存储 230 -1 或将近 10 亿个字符,且使用的 字节空间增加了一倍 binary 数据类型用来存储可达 8000 字节长的定长的二进 制数据。当输入表的内容接近相同的长度时,你应该使用 这种数据类型 varbinary 数据类型用来存储可达 8000 字节长的变长的 二进制数据。当输入表的内容大小可变时,你应该使用这 种数据类型 image 数据类型用来存储变长的二进制数据,最大可达 231-1 或大约 20 亿字节
(5)float 和 real float:从-1.79^308 到 1.79^308 之间的浮点数字数据。 real:从-3.40^38 到 3.40^38 之间的浮点数字数据。在 SQL Server 中,real 的同义词为 float(24)。
数据库定义到 char 类型的字段时,不知道大家是否会犹豫一下,到底选 char、nchar、varchar、 nvarchar、text、ntext 中哪一种呢?结果很可能是两种,一种是节俭人士的选择:最好是用 定长的,感觉比变长能省些空间,而且处理起来会快些,无法定长只好选用定长,并且将长
近似数 值型
日期时 间型
日期时 间型
money 数据类型用来表示钱和货币值。这种数据类型能 存储从-9220 亿到 9220 亿之间的数据,精确到货币单位 的万分之一
smallmoney 数据类型用来表示钱和货币值。这种数据类 型能存储从-214748.3648 到 214748.3647 之间的数据, 精确到货币单位的万分之一
(4)decimal 和 numeric 这两种数据类型是等效的。都有两个参数:p(精度)和 s(小数位数)。p 指定小数点左边 和右边可以存储的十进制数字的最大个数,p 必须是从 1 到 38 之间的值。s 指定小数点右 边可以存储的十进制数字的最大个数,s 必须是从 0 到 p 之间的值,默认小数位数是 0。
numeric 数据类型与 decimal 型相同
精确数 值型
decimal 数据类型能用来存储从-1038-1 到 1038-1 的固定 精度和范围的数值型数据。使用这种数据类型时,必须指 定范围和精度。 范围是小数点左右所能存储的数字的总 位数。精度是小数点右边存储的数字的位数
货币型
货币型
近似数 值型
原因:无法利用到索引,因为数据库会将 f 先转换到 unicode 再和 N'xx'比较
2、char 和相同长度的 varchar 处理速度差不多(后面还有说明)
3、varchar 的长度不会影响处理速度!!!(看后面解释)
4、索引中列总长度最多支持总为 900 字节,所以长度大于 900 的 varchar、char 和大于 450 的 nvarchar,nchar 将无法创建索引
后面三种数据类型和前面的相比,从名称上看只是多了个字母 n,它表示存储的是 Unicode 数据类型的字符。写过程序的朋友对 Unicode 应该很了解。字符中,英文字符只需要一个字 节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱, Unicode 字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字 节表示,即英文字符也是用两个字节表示。nchar、nvarchar 的长度是在 1 到 4000 之间。和 char、varchar 比较:nchar、nvarchar 则最多存储 4000 个字符,不论是英文还是汉字;而 char、 varchar 最多能存储 8000 个英文,4000 个汉字。可以看出使用 nchar、nvarchar 数据类型时 不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。