SQL常用数据类型定义

数据类型定义了存储在列中的值的类型。

SQL常用数据类型作用

数据库表中的每一列都需要有一个名称和数据类型。

SQL 开发人员必须在创建 SQL 表时决定表中的每个列将要存储的数据的类型。数据类型是一个标签,是便于 SQL 了解每个列期望存储什么类型的数据的指南,它也标识了 SQL 如何与存储的数据进行交互。

常用数据类型

数据类型

描述

CHARACTER(n)

字符/字符串,固定长度 n。

VARCHAR(n) 或

CHARACTER VARYING(n)

字符/字符串,可变长度,最大长度 n。

BINARY(n)

二进制串,固定长度 n。

BOOLEAN

存储 TRUE 或 FALSE 值

VARBINARY(n) 或

BINARY VARYING(n)

二进制串,可变长度。最大长度 n。

INTEGER(p)

整数值(没有小数点)。精度 p。

SMALLINT

整数值(没有小数点)。精度 5。

INTEGER

整数值(没有小数点)。精度 10。

BIGINT

整数值(没有小数点)。精度 19。

DECIMAL(p,s)

精确数值,精度 p,小数点后位数 s。例如:decimal(5,2) 是一个小数点前有 3 位数小数点后有 2 位数的数字。

NUMERIC(p,s)

精确数值,精度 p,小数点后位数 s。(与 DECIMAL 相同)

FLOAT(p)

近似数值,尾数精度 p。一个采用以 10 为基数的指数计数法的浮点数。该类型的 size 参数由一个指定最小精度的单一数字组成。

REAL

近似数值,尾数精度 7。

FLOAT

近似数值,尾数精度 16。

DOUBLE PRECISION

近似数值,尾数精度 16。

DATE

存储年、月、日的值。

TIME

存储小时、分、秒的值。

TIMESTAMP

存储年、月、日、小时、分、秒的值。

INTERVAL

由一些整数字段组成,代表一段时间,取决于区间的类型。

ARRAY

元素的固定长度的有序集合

MULTISET

元素的可变长度的无序集合

XML

存储 XML 数据

这些数据类型通常在定义表结构,定义变量时使用,具有固定的写法。我们可以建几个表给大家做个示例:

示例脚本



--创建客户表Customers
CREATE TABLE [dbo].[Customers](
  [客户ID] [INT] IDENTITY(1,1) NOT NULL,
  [姓名] [VARCHAR](10) NULL,
  [地址] [VARCHAR](50) NULL,
  [城市] [VARCHAR](20) NULL,
  [邮编] [CHAR](6) NULL,
  [省份] [VARCHAR](20) NULL
) ;
--创建订单表Orders
CREATE TABLE [dbo].[Orders](
  [订单ID] [INT] IDENTITY(1,1) NOT NULL,
  [客户ID] [INT] NULL,
  [员工ID] [INT] NULL,
  [订单日期] [DATETIME] NULL,
  [发货ID] [INT] NULL
) ;
--创建产品表Products
CREATE TABLE [dbo].[Products](
  [产品ID] [INT] IDENTITY(1,1) NOT NULL,
  [名称] [VARCHAR](20) NULL,
  [供应商ID] [INT] NULL,
  [目录ID] [INT] NULL,
  [规格] [VARCHAR](50) NULL,
  [价格] [NUMERIC](18, 2) NULL
) ;
--创建供应商表Suppliers
CREATE TABLE [dbo].[Suppliers](
  [供应商ID] [INT] IDENTITY(1,1) NOT NULL,
  [供应商名称] [VARCHAR](20) NULL,
  [地址] [VARCHAR](50) NULL,
  [城市] [VARCHAR](20) NULL,
  [邮编] [CHAR](6) NULL,
  [省份] [VARCHAR](20) NULL
) ;



如上是演示数据库的建表语句,其中用的较多的就是INT,CHAR,VARCHAR,DATETIME,NUMERIC等数据类型,上面的中括号([  ])可以省略不写.

注释:在不同的数据库中,相同的数据类型可能有不同的名称。即使名字相同,大小和其他细节也可能不同!请随时检查文件!

批注

以上是比较全的数据类型,SQL Server一般常用的数据类型就几种INT(整数类型),VARCHAR(可变长字符类型),CHAR(固定长度字符类型),DATETIME(日期类型,带时间),TIME(时间类型,不带日期)。这些数据类型是在建表的时候就会用到的,其他一些定义参数时也会使用到。