SQL 语言特点、功能和数据类型

SQL 语言

SQL语言的特点

  1. 一体化。SQL语言风格统一,可以完成数据库活动中的全部工作,包括创建数据库、定义模式、更改和查询数据以及安全控制和维护数据库等。
  2. 高度非过程化。在使用SQL语句访问数据库时,用户没有必要告诉计算机如何一步步完成任务,只需要用SQL语言描述要做什么就行了,数据库管理系统会自动完成全部工作。
  3. 面向集合的操作方式。SQL语言采用集合操作方式,不仅查询结果是记录的集合,而且插入、删除和更新操作也是记录的集合。
  4. 提供多种方式使用。SQL既是自含式语言,又是嵌入式语言。自含式语言可以独立地联机交互,即用户可以直接以命令的方式交互使用。嵌入式语言是指SQL可以嵌入到向Java、C#等高级程序设计语言中使用。
  5. 语言简洁。SQL语法简单,易学易用。

SQL语言的功能

SQL语言按其功能可分为4大部分:数据定义、数据查询、数据操作、数据控制。相关谓词为:

SQL功能 谓词
数据定义(DDL) CREATE、DROP、ALTER
数据查询(DQL) SELECT
数据操纵(DML) INSERT、UPDATE、DELETE
数据控制(DCL) GRANT、REVOKE、DENY
  • 数据定义功能用于定义、删除和修改数据库中的对象,数据库、关系表、视图、索引等都是数据库对象。
  • 数据查询功能用于实现查询数据的功能,数据查询是数据库中使用最多的操作。
  • 数据操作功能用于添加、删除和修改数据库。
  • 数据控制功能用于控制用户对数据的操作权限。

SQL支持的数据类型

主要是 Microsoft SQL Server 中的类型

数值型

精确数字
数据类型 描述 存储
tinyint 允许从0到255的所有数字 1字节
smallint 允许从-32 768到32 767的所有数字 2字节
int 允许从-2 147 483 648 到 2 147 483 647 的所有数字 4字节
bigint 允许从 -9 233 372 036 854 775 808 到 9 233 372 036 854 775 807 的所以数字 8字节
decimal(p,s)

numeric(p,s)
固定精度和比例的数字,允许从 -10^38+1 到 10^38-1 之间的数字,p表示可以存储的最大位数(小数点左侧和右侧),p必须是 1~38 之间的值。默认是18;s表示小数点右侧存储的最大位数,s必须是0到p之间的值,默认是0 5-17字节
smallmoney 介于 -214 748. 364 8 和 214 748. 364 7 之间的货币数据 4字节
money 介于 -922 337 203 685 477. 850 8和 922 337 206 685 477. 580之间的货币数据 8字节
近似数据
数据类型 描述 存储
float(n) 从 -1.79E+308 到 1.79E+308 的浮动精度数字数据;参数n表示该字段保留4字节还是8字节,float(24)保存4字节,float(53)保存8字节,n的默认值为53 4或8字节
real 从 -3.40E+38 到 3.40E+38 的浮动精度数字数据 4字节
日期类型
数据类型 描述 存储
datetime 从1753年1月1日到9999年12月31日,精度为3.33ms 8字节
datetime2 从1753年1月1日到9999年12月31日,精度为100ns 6~8字节
smalldatetime 从1900年1月1日到2079年6月6日,精度为1min 4字节
date 仅存储日期,从0001年1月1日到9999年12月31日 3字节
datetimeoffset 与datetime2相同,外加时区偏移 8~10字节
timestamp 存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp基于内部时钟,不对应真实时间,每个表只能有一个timestamp变量

字符串型

普通字符编码串
数据类型 描述 存储
char(n) 固定长度的字符串,最多8000个字符 n字节
varchar(n) 可变长度的字符串,最多8000个字符 由实际长度决定
varchar(max) 可变长度的字符串,最多1073741824个字符 由实际长度决定
text 可变长度的字符串,最多2GB字符数据 由实际长度决定
统一字符编码串
数据类型 描述 存储
nchar(n) 固定长度的Unicode数据,最多4000个字符 n字节
nvarchar(n) 可变长度的Unicode数据,最多4000个字符 由实际长度决定
nvarchar(max) 可便长度的Unicode数据,最多536870912个字符 由实际长度决定
ntext 可变长度的Unicode数据,最多2GB字符数据 由实际长度决定
二进制串
数据类型 描述 存储
bit 允许0,1或NULL
binary(n) 固定长度的二进制数据,最多8000B n B
varbinary(n) 可变长度的二进制数据,最多8000B 由实际长度决定
varbinary(max) 可变长度的二进制数据,最多2GB 由实际长度决定
image 可变长度的二进制数据,最多2GB 由实际长度决定

其他类型

数据类型 描述
sql_variant 存储最多8000字节不同数据类型的数据,除了text、ntext、timestamp
uniqueidentifier 存储全局标识符(GUID)
xml 存储XML格式化数据,最多2GB
cursor 存储对用于数据库操作的指针的引用
table 存储结果集,供稍后处理

你可能感兴趣的:(数据库基础,数据库)