SQL数据库字段类型说明

SQL有如下字段类型:
一、文本类型
char
用法:char(length)
char类型最大长度是255个字符。

当插入到表中的字符串的长度小于length时候,将给字段右边不够的部分用空格填补。

varchar
用法:varchar(length)
varchar的最大长度是255个字符。

varchar和char几乎一样,区别在于varchar 是变长的类型,不会填补空格。

tinytext
用法:tinytext
tinytext最大长度是255字符。

text
用法:text
text最大长度是65535(2的17次方)字符。

mediumtext
用法:mediumtext
mediumtext最大长度是16777215个字符。

longtext
用法:longtext
longtext最大长度是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]
表示一个小的浮点数(单精度),不能是无符号数。

m表示显示宽度,d表示精度。

double
用法:double[(m,d)][zerofill]
表示一个双精度浮点数,不能是无符号数。

m表示显示宽度,d表示精度。

decimal/numeric
用法:decimal[(m[,d])][zerofill]
decimal列中的数字被存储为字符,每个数字被存储为一个字符串,每个字符代表值的每一位数。

如果d为0则表示没有小数点。

decimal的最大范围和double 一样,但是实际的范围是给定的参数m指定的,如果省略m,则m为0。

三、日期和时间类
date
用法:date
date类型以YYYY-MM-DD格式存储数据。

它允许1000-01-01到9999-12-31之间的值。

datetime
用法:datetime[null | not null][default]
datetime类型以YYYY-MM-DD HH:MM:SS格式存储数据。

timestamp
用法:timestamp(format)
format可以是2到14间的任意数字。

下面是format数字的对照列表:
YY
YYMM
YYMMDD
YYYYMMDD
YYMMDDHHMM
YYMMDDHHMMSS
YYYYMMDDHHMMSS
time
用法:time
以HH:MM:SS格式存储时间数据。

year
用法:year[(2 | 4)]
用2位数字格式,允许的日期是1970到2069之间的年份。

(79到99的前面加19,01到69的前面加20)
用4为数字格式允许1901到2155之间的值。

合集下载

SQL Server 2005数据类型

SQL Server 2005数据类型

SQL Server 2005数据类型说明用varchar(max)代替text。

varchar的最大长度为8000,但是varchar(max)则可以存储多达2G的数据,因此其作用相当于SQL 2000中的text。

但是微软可能会后续的SQL Server版本中移除text类型,从现在就应该用varchar(max) 来代替text。

用nvarchar(max)代替ntext,用binary(max)代替image.(Image类型对应C#的byte[])为XML数据选择xml类型。

在SQL Server 2005中,为XML数据添加了相应的数据类型,因此存储XML数据的列不需要用 varchar(max)或nvarchar(max),而应当用xml数据类型,以利用T-SQL中专门针对xml数据列的新命令,以及针对xml列的索引。

易混淆的数据类型 (C#:string)(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字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。

MySQL字段类型最全解析

MySQL字段类型最全解析

MySQL字段类型最全解析前⾔:要了解⼀个数据库,必须了解其⽀持的数据类型。

MySQL ⽀持⼤量的字段类型,其中常⽤的也有很多。

前⾯⽂章我们也讲过 int 及 varchar 类型的⽤法,但⼀直没有全⾯讲过字段类型,本篇⽂章我们将把字段类型⼀⽹打尽,讲⼀讲常⽤字段类型的⽤法。

常⽤的字段类型⼤致可以分为数值类型、字符串类型、⽇期时间类型三⼤类,下⾯我们按照分类依次来介绍下。

1.数值类型数值类型⼤类⼜可以分为整型、浮点型、定点型三⼩类。

整型主要⽤于存储整数值,主要有以下⼏个字段类型:整型经常被⽤到,⽐如 tinyint、int、bigint 。

默认是有符号的,若只需存储⽆符号值,可增加 unsigned 属性。

int(M)中的 M 代表最⼤显⽰宽度,并不是说 int(1) 就不能存储数值10了,不管设定了显⽰宽度是多少个字符,int 都是占⽤4个字节,即int(5)和int(10)可存储的范围⼀样。

存储字节越⼩,占⽤空间越⼩。

所以本着最⼩化存储的原则,我们要尽量选择合适的整型,例如:存储⼀些状态值或⼈的年龄可以⽤ tinyint ;主键列,⽆负数,建议使⽤ int unsigned 或者 bigint unsigned,预估字段数字取值会超过 42 亿,使⽤bigint 类型。

浮点型主要有 float,double 两个,浮点型在数据库中存放的是近似值,例如float(6,3),如果插⼊⼀个数123.45678,实际数据库⾥存的是123.457,但总个数还以实际为准,即6位,整数部分最⼤是3位。

float 和 double 平时⽤的不太多。

定点型字段类型有 DECIMAL ⼀个,主要⽤于存储有精度要求的⼩数。

DECIMAL 从 MySQL 5.1 引⼊,列的声明语法是 DECIMAL(M,D) 。

NUMERIC 与 DECIMAL 同义,如果字段类型定义为NUMERIC ,则将⾃动转成 DECIMAL 。

Mysql数据类型(字段)介绍

Mysql数据类型(字段)介绍

MySql数据库的列类型(字段类型)MySQL数据库的表是一个二维表,由一个或多个数据列构成。

每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。

MySQL中的列类型有三种:数值类、字符串类和日期/时间类。

从大类来看列类型和数值类型一样,都是只有三种。

但每种列类型都还可细分。

下面对各种列类型进行详细介绍。

数值类的数据列类型数值型的列类型包括整型和浮点型两大类。

TINYINT:1字节非常小的正整数,带符号:-128~127,不带符号:0~255SMALLINT:2字节小整数,带符号:-32768~32767,不带符号:0~65535MEDIUMINT:3字节中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215INT:4字节标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295BIGINT:8字节大整数,带符号:-9223372036854775808~9233372036854775807,不带符号:0~18446744073709551615FLOAT:4字节单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.402823466E+38 DOUBLE:8字节双精度浮点数,最小非零值:+-2.2250738585072014E-308,最大非零值:+-1.7976931348623157E+308DECIMAL:M+2字节以字符串形式表示的浮点数,它的取值范围可变,由M和D的值决定。

整型数据列类型MySQL有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。

它们之间的区别是取值范围不同,存储空间也各不相同。

在整型数据列后加上UNSIGNED属性可以禁止负数,取值从0开始。

SQLSERVER查看数据库表的字段类型,是否允许为NULL,默认值,主键等

SQLSERVER查看数据库表的字段类型,是否允许为NULL,默认值,主键等

SQLSERVER查看数据库表的字段类型,是否允许为NULL,默认值,主键等declare@table_name varchar(100)-- 表名set@table_name='bqcform101'--============表结构select类别,表名or字段名,描述,字段类型,是否⾃增,允许为NULL,默认值from(SELECT'表名'类别,-1 column_id, 表名or字段名,ds.value 描述,''字段类型,''是否⾃增,''允许为NULL,''默认值,1 rnFROM sys.extended_properties dsLEFT JOIN sysobjects tbs ON ds.major_id=tbs.idWHERE ds.minor_id=0and =@table_nameunionSELECT@table_name类别,c.column_id, 表名or字段名,s.value 描述,字段类型= +CASE er_type_id WHEN41THEN'('+CAST(C.scale AS VARCHAR) +')'-- timeWHEN42THEN'('+CAST(C.scale AS VARCHAR) +')'-- datetime2WHEN43THEN'('+CAST(C.scale AS VARCHAR) +')'-- datetimeoffsetWHEN106THEN'('+CAST(C.precision AS VARCHAR)+','+CAST(C.scale AS VARCHAR) +')'-- decimalWHEN108THEN'('+CAST(C.precision AS VARCHAR)+','+CAST(C.scale AS VARCHAR) +')'-- numericWHEN165THEN'('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')'-- varbinaryWHEN167THEN'('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')'-- varcharWHEN173THEN'('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')'-- binaryWHEN175THEN'('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')'-- charWHEN231THEN'('+ISNULL(CAST(NULLIF(C.max_length,-1)/2AS VARCHAR),'MAX') +')'-- nvarchar(该字段校检根据实际情况)WHEN239THEN'('+ISNULL(CAST(NULLIF(C.max_length,-1) AS VARCHAR),'MAX') +')'-- ncharELSE''END,case when C.is_identity=1then'是'else''end是否⾃增--cast(C.is_identity as varchar(10)) 是否⾃增,case when C.is_nullable=1then'是'else''end允许为NULL,默认值=ISNULL(STUFF(LEFT(D.definition,LEN(D.definition)-1),1,1,''),''),3 rnFROM sys.columns CINNER JOIN sys.types T ON er_type_id = er_type_idLEFT JOIN sys.default_constraints D ON D.[object_id]=C.default_object_id AND D.parent_object_id = C.[object_id]AND D.parent_column_id = C.column_id left join (select major_id,minor_id,value from sys.extended_properties) s on s.major_id = c.object_id and s.minor_id = c.column_idWHERE C.[object_id]=OBJECT_ID(@table_name)) sorder by column_id,rn--============主键select Primary_COLUMN_NAME =convert(sysname,)fromsysindexes i, syscolumns c, sysobjects owhere o.id =object_id(@table_name)and o.id = c.idand o.id = i.idand (i.status &0x800) =0x800and ( =index_col (@table_name, i.indid, 1) or =index_col (@table_name, i.indid, 2) or =index_col (@table_name, i.indid, 3) or =index_col (@table_name, i.indid, 4) or =index_col (@table_name, i.indid, 5) or =index_col (@table_name, i.indid, 6) or =index_col (@table_name, i.indid, 7) or =index_col (@table_name, i.indid, 8) or =index_col (@table_name, i.indid, 9) or =index_col (@table_name, i.indid, 10) or =index_col (@table_name, i.indid, 11) or =index_col (@table_name, i.indid, 12) or =index_col (@table_name, i.indid, 13) or =index_col (@table_name, i.indid, 14) or =index_col (@table_name, i.indid, 15) or =index_col (@table_name, i.indid, 16))。

查询数据库表字段类型

查询数据库表字段类型

查询数据库表字段类型在进行数据库表设计时,不仅需要确定表的结构和字段名,还需要确定每个字段的数据类型。

数据库字段类型定义了字段可以存储的数据的特定类型,进而限制了将要存储在该字段中的数据的格式和范围。

不同的数据库系统支持不同的字段类型,但是大部分数据库系统都提供了一些常见的基本字段类型和一些更特定的字段类型。

常见的基本字段类型包括:1.字符串类型(String):用于存储字符串或文本数据。

常见的字符串类型包括:- CHAR:固定长度的字符串,最多可以存储255个字符。

- VARCHAR:可变长度的字符串,可以存储最大长度为指定值的字符。

- TEXT:可变长度的字符串,可以存储更大量的字符,一般限制为最长不超过65535个字符。

2.数值类型(Numeric):用于存储数值数据。

常见的数值类型包括:- INT或INTEGER:用于存储整数值,一般占用4个字节。

- FLOAT或REAL:用于存储浮点数值,一般占用4个字节。

- DOUBLE:用于存储双精度浮点数值,一般占用8个字节。

- DECIMAL或NUMERIC:用于存储精确数值,指定精度和小数位数。

3.日期和时间类型(Date and Time):用于存储日期和时间数据。

常见的日期和时间类型包括:- DATE:用于存储日期,格式为YYYY-MM-DD。

- TIME:用于存储时间,格式为HH:MM:SS。

- DATETIME或TIMESTAMP:用于存储日期和时间,格式为YYYY-MM-DD HH:MM:SS。

4.布尔类型(Boolean):用于存储布尔值,表示真或假。

除了上述基本字段类型之外,一些数据库系统还提供了更特定的字段类型,以满足特定的数据存储需求。

例如:1.枚举类型(Enum):用于存储具有限值集合的数据,可以在定义时指定可用的枚举值。

2.集合类型(Set):用于存储多个值的集合,可以在定义时指定可用的集合值。

3.二进制类型(Binary):用于存储二进制数据,如图片、音频或视频。

sqlserver 中create table时指定字段的说明

sqlserver 中create table时指定字段的说明
sqlserver 中create table时指定字段的说明
在SQL Server 中,当您创建一个新表时,可以使用 CREATE TABLE 语句。如果您想为表的字段添加说明或注释,可以使用 COMMENT 关键字。这些注释可以帮助描述字段的用途或其他重要信息,使数据库更加可读和维护。
以下是一个示例,展示如何在创建表时为字段添加注释:
HireDate DATE COMMENT &ENT 关键字用于为每个字段添加注释。这些注释将在查询结果中不可见,但它们可以帮助其他开发人员或数据库管理员更好地理解表的结构和字段的用途。
请注意,这些注释不会影响表的实际功能或性能。它们只是为了提供额外的信息,以帮助维护和理解数据库结构。
sql
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName NVARCHAR(50) COMMENT '员工的名字',
LastName NVARCHAR(50) COMMENT '员工的姓氏',
BirthDate DATE COMMENT '员工的出生日期',

sql建表注释

sql建表注释摘要:一、SQL简介1.SQL是什么2.SQL的作用二、SQL建表基本语法1.CREATE TABLE语句2.字段类型及约束3.字段注释三、建表实例1.创建一个简单的员工信息表2.创建一个带有主键和外键的图书信息表3.创建一个带有唯一约束和检查约束的订单信息表四、总结1.SQL建表的重要性2.合理使用注释对数据库管理的帮助正文:一、SQL简介SQL(Structured Query Language,结构化查询语言)是一种专门用于管理关系型数据库的编程语言。

它被广泛应用于各种数据库管理系统,如MySQL、Oracle、SQL Server等。

SQL能够对数据库中的数据进行查询、插入、更新和删除等操作,是数据库管理员和开发人员必备的技能。

二、SQL建表基本语法1.CREATE TABLE语句创建表是SQL中非常基础的操作,通过CREATE TABLE语句来实现。

基本语法如下:```CREATE TABLE 表名(字段名1 字段类型约束,字段名2 字段类型约束,...);```其中,表名需要遵循标识符的命名规则,字段名和字段类型需要匹配,约束可以是主键、外键、唯一约束、检查约束等。

2.字段类型及约束在SQL中,字段类型决定了数据的存储格式和所能表示的数据类型。

常见的字段类型有:整型(INT)、浮点型(FLOAT)、字符型(VARCHAR)、日期时间型(DATETIME)等。

此外,还可以使用关键字`INT UNSIGNED`、`INT SIGNED`、`FLOAT UNSIGNED`、`FLOAT SIGNED`等来表示无符号或有符号整型和有符号或无符号浮点型。

字段约束用于限制字段的取值范围,以保证数据的完整性和一致性。

常见的字段约束有:主键(PRIMARY KEY)、外键(FOREIGN KEY)、唯一约束(UNIQUE)和检查约束(CHECK)。

3.字段注释字段注释是对字段含义的简要说明,能够提高代码的可读性和便于后期维护。

SQL_用户自定义的数据类型规则默认

用户自定义的数据类型、默认值、规则一、用户自定义的数据类型用户自定义数据类型可看做是系统数据类型的别名。

在多表操作的情况下,当多个表中的列要存储相同类型的数据时,往往要确保这些列具有完全相同的数据类型、长度和为空性(数据类型是否允许为空)。

例如,对于student数据库中表student、grade和course三张表的xh,kh两个列必须具有相同的数据类型。

创建用户自定义数据类型时首先应考虑如下三个属性:(1)数据类型名称(2)新数据类型所依据的系统数据类型(又称为基类型)(3)为空性如果为空性未明确定义,系统将依据数据库或连接的ANSI NULL默认设置进行指派。

1、创建用户自定义数据类型的方法如下:(1)利用企业管理器定义(2)利用SQL命令定义数据类型在SQL Server中,通过系统存储过程实现用户数据类型的定义。

语法格式如下:sp_addtype [@typename=] type, /*自定义类型名称*/[@phystype=] system_data_type /*基类型*/[,[@nulltype=] null_type /*为空性*/[,[@owner=] owner_name] /*创建者或所有者*/其中:type:用户自定义数据类型的名称。

System_data_type:用户自定义数据类型所依据的基类型。

如果参数中嵌入有空格或标点符号,则必须用引号将该参数引起来。

null_type:指明用户自定义数据类型处理空值的方式。

取值可为’NULL’、’NOT NULL’、’NONULL’三者之一(注意:必须用单引号引起来)。

如果没有用sp_addtype显式定义null_type,则将其设置为当前默认值,系统默认值一般为’NULL’。

例:定义学号字段的数据类型sp_addtype ’student_xh’,’char(4)’,’not null’2、删除用户自定义数据类型(1)利用企业管理器(2)利用SQL语句语法格式如下:sp_droptype [@typename=] type其中type为用户自定义数据类型的名称,应用单引号括起来。

sql server数据库无符号的整数类型

SQL Server数据库是一种常用的关系型数据库管理系统,它支持多种数据类型,包括整数类型。

在SQL Server中,整数类型可以分为有符号整数和无符号整数两种。

而在实际应用中,无符号整数类型在某些场景下可以提供更高的性能和更大的数据范围。

本文将详细介绍SQL Server数据库中无符号整数类型的使用方法和注意事项。

一、无符号整数类型概述1.1 有符号整数类型有符号整数类型是指可以表示正数、负数和零的整数类型。

在SQL Server中,常见的有符号整数类型包括TINYINT、SMALLINT、INT 和BIGINT等,分别对应不同的数据范围和存储空间大小。

1.2 无符号整数类型无符号整数类型是指只能表示正数和零的整数类型,不能表示负数。

在一些特定的场景下,无符号整数类型可以提供更大的数据范围,节省存储空间,并且在计算过程中不需要考虑正负数的符号位,因而具有一定的性能优势。

二、SQL Server中的无符号整数类型2.1 SQL Server 2005及之前的版本在SQL Server 2005及之前的版本中,并没有原生支持无符号整数类型的数据类型。

在这些版本中,如果需要使用无符号整数类型,通常需要通过其他方式来模拟实现,比如使用有符号整数类型并添加约束条件限制取值范围,或者使用字符串类型存储。

2.2 SQL Server 2008及之后的版本从SQL Server 2008开始,SQL Server引入了新的数据类型HUGEINT,用于存储无符号整数。

HUGEINT类型拥有64位,可以存储0~2^64-1的数据范围,不支持负数。

使用HUGEINT类型可以直接存储无符号整数,无需额外的约束条件,而且由于其底层存储结构的特点,可以提供较好的性能。

三、无符号整数类型的使用方法和注意事项3.1 使用方法在SQL Server 2008及之后的版本中,使用HUGEINT类型可以直接定义无符号整数类型的字段或变量,例如:```sqlCREATE TABLE ExampleTable(ID HUGEINT PRIMARY KEY);```在这个例子中,ID字段的数据类型为HUGEINT,可以存储无符号整数,并且作为主键使用。

数据库建表字段类型

数据库建表字段类型
在设计数据库时,建立合适的表结构是至关重要的。

表结构的一部分是定义表中的字段及其类型,这些字段类型的选择对于数据的正确存储和检索至关重要。

以下是一些常见的数据库字段类型:
1. 整型(Int):表示整数,通常用于存储数量或标识符。

可以指定不同的大小范围,如tinyint、smallint、int和bigint。

2. 浮点型(Float):用于存储可变小数,通常用于表示货币或科学数据。

可以指定不同的精度和范围,如float和double。

3. 字符串型(Char、Varchar):用于存储文本数据,char是固定长度的字符串类型,而varchar是可变长度的字符串类型。

4. 日期/时间型(Date、Time、Datetime):用于存储日期和时间。

可以存储单个日期或时间,或者日期和时间的组合。

5. 布尔型(Boolean):用于存储真和假的值。

6. 大文本型(Text):用于存储较长的文本数据,如文章或博客。

7. 二进制型(Blob):用于存储二进制数据,如图像或音频文件。

选择正确的字段类型可以确保数据不会丢失或格式不正确,并且可以更有效地检索和处理数据。

- 1 -。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档