SQL基础知识V2——常用数据类型

简介: SQL数据库开发

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(时间类型,不带日期)。这些数据类型是在建表的时候就会用到的,其他一些定义参数时也会使用到。

相关文章
|
20天前
|
SQL 存储 关系型数据库
一文搞懂SQL优化——如何高效添加数据
**SQL优化关键点:** 1. **批量插入**提高效率,一次性建议不超过500条。 2. **手动事务**减少开销,多条插入语句用一个事务。 3. **主键顺序插入**避免页分裂,提升性能。 4. **使用`LOAD DATA INFILE`**大批量导入快速。 5. **避免主键乱序**,减少不必要的磁盘操作。 6. **选择合适主键类型**,避免UUID或长主键导致的性能问题。 7. **避免主键修改**,保持索引稳定。 这些技巧能优化数据库操作,提升系统性能。
215 4
一文搞懂SQL优化——如何高效添加数据
|
2月前
|
SQL 关系型数据库 MySQL
【MySQL进阶之路丨第十四篇】一文带你精通MySQL重复数据及SQL注入
【MySQL进阶之路丨第十四篇】一文带你精通MySQL重复数据及SQL注入
46 0
|
1月前
|
SQL 数据可视化 数据处理
使用SQL和Python处理Excel文件数据
使用SQL和Python处理Excel文件数据
54 0
|
23天前
|
SQL 关系型数据库 MySQL
SQL INSERT INTO order_record SELECT * FROM 从一张表查出数据插入到另一张表
SQL INSERT INTO order_record SELECT * FROM 从一张表查出数据插入到另一张表
14 0
|
30天前
|
SQL 安全 数据库
第三章用sql语句操作数据
第三章用sql语句操作数据
10 0
|
1月前
|
SQL 数据库 数据库管理
SQL中如何添加数据:基础指南
SQL中如何添加数据:基础指南
24 2
|
2月前
|
SQL 数据库 数据安全/隐私保护
sql注入碰到加密数据怎么办
sql注入碰到加密数据怎么办
19 1
|
2月前
|
分布式计算 资源调度 Hadoop
Flink报错问题之Sql往kafka表写聚合数据报错如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
2月前
|
SQL 消息中间件 Kafka
Flink sql 问题之主动使数据延时一段时间如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
53 2
|
2月前
|
SQL Oracle 关系型数据库
Flink SQL 问题之看不到数据如何解决
Flink SQL报错通常指在使用Apache Flink的SQL接口执行数据处理任务时遇到的问题;本合集将收集常见的Flink SQL报错情况及其解决方法,帮助用户迅速恢复数据处理流程。
51 3