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

相关文章
|
1月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
简介:本文整理自阿里云高级技术专家李麟在Flink Forward Asia 2025新加坡站的分享,介绍了Flink 2.1 SQL在实时数据处理与AI融合方面的关键进展,包括AI函数集成、Join优化及未来发展方向,助力构建高效实时AI管道。
412 43
|
28天前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
本文整理自阿里云的高级技术专家、Apache Flink PMC 成员李麟老师在 Flink Forward Asia 2025 新加坡[1]站 —— 实时 AI 专场中的分享。将带来关于 Flink 2.1 版本中 SQL 在实时数据处理和 AI 方面进展的话题。
125 0
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
|
2月前
|
SQL
SQL如何只让特定列中只显示一行数据
SQL如何只让特定列中只显示一行数据
|
6月前
|
SQL 自然语言处理 数据库
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
153 4
|
2月前
|
SQL
SQL中如何删除指定查询出来的数据
SQL中如何删除指定查询出来的数据
|
2月前
|
SQL 关系型数据库 MySQL
SQL如何对不同表的数据进行更新
本文介绍了如何将表A的Col1数据更新到表B的Col1中,分别提供了Microsoft SQL和MySQL的实现方法,并探讨了多表合并后更新的优化方式,如使用MERGE语句提升效率。适用于数据库数据同步与批量更新场景。
|
3月前
|
SQL DataWorks 数据管理
SQL血缘分析实战!数据人必会的3大救命场景
1. 开源工具:Apache Atlas(元数据管理)、Spline(血缘追踪) 2. 企业级方案:阿里DataWorks血缘分析、腾讯云CDW血缘引擎 3. 自研技巧:在ETL脚本中植入版本水印,用注释记录业务逻辑变更 📌 重点总结:
|
4月前
|
SQL 数据挖掘 关系型数据库
【SQL 周周练】一千条数据需要做一天,怎么用 SQL 处理电表数据(如何动态构造自然月)
题目来自于某位发帖人在某 Excel 论坛的求助,他需要将电表缴费数据按照缴费区间拆开后再按月份汇总。当时用手工处理数据,自称一千条数据就需要处理一天。我将这个问题转化为 SQL 题目。
162 12
|
4月前
|
SQL 数据采集 资源调度
【SQL 周周练】爬取短视频发现数据缺失,如何用 SQL 填充
爬虫爬取抖音和快手的短视频数据时,如果遇到数据缺失的情况,如何使用 SQL 语句完成数据的补全。
110 5
|
7月前
|
SQL 关系型数据库 MySQL
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
241 9

热门文章

最新文章