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之间的值,默认是05-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的默认值为534或8字节
real从 -3.40E+38 到 3.40E+38 的浮动精度数字数据4字节
日期类型
数据类型描述存储
datetime从1753年1月1日到9999年12月31日,精度为3.33ms8字节
datetime2从1753年1月1日到9999年12月31日,精度为100ns6~8字节
smalldatetime从1900年1月1日到2079年6月6日,精度为1min4字节
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)固定长度的二进制数据,最多8000Bn B
varbinary(n)可变长度的二进制数据,最多8000B由实际长度决定
varbinary(max)可变长度的二进制数据,最多2GB由实际长度决定
image可变长度的二进制数据,最多2GB由实际长度决定

其他类型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值