30 常用数据类型
30.1 常用数据类型定义
数据类型定义了存储在列中的值的类型。
30.2 常用数据类型作用
数据库中的每一列都需要有一个名称和数据类型。
SQL开发人员必须在创建SQL表时决定表中的每个列将要存储的数据的类型。数据类型是一个标签,是便于SQL了解每个列期望存储什么类型的数据的指南,它也标识了SQl如何与存储的数据进行交互。
30.3 常用的数据类型
数据类型 | 描述 |
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数据 |
30.4 示例脚本
--创建客户表 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, [城市] [VARCHAR](20) NULL, [邮编] [CHAR](6) NULL, [省份] [VARCHAR](20) NULL ) ;
上面的中括号可以省略不写。