SQL 语言特点、功能和数据类型
SQL 语言
SQL语言的特点
- 一体化。SQL语言风格统一,可以完成数据库活动中的全部工作,包括创建数据库、定义模式、更改和查询数据以及安全控制和维护数据库等。
- 高度非过程化。在使用SQL语句访问数据库时,用户没有必要告诉计算机如何一步步完成任务,只需要用SQL语言描述要做什么就行了,数据库管理系统会自动完成全部工作。
- 面向集合的操作方式。SQL语言采用集合操作方式,不仅查询结果是记录的集合,而且插入、删除和更新操作也是记录的集合。
- 提供多种方式使用。SQL既是自含式语言,又是嵌入式语言。自含式语言可以独立地联机交互,即用户可以直接以命令的方式交互使用。嵌入式语言是指SQL可以嵌入到向Java、C#等高级程序设计语言中使用。
- 语言简洁。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 | 存储结果集,供稍后处理 |
SQL 语言特点、功能和数据类型相关推荐
- 关系数据库SQL语言核心功能
SQL语言的功能极强,完成核心功能只要9个动词,分别为如下4类: 1. 数据查询:SELECT 说明:select是用于表信息查询,构成SQL唯一查询语句 2. 数据定义:CREATE.DROP.AL ...
- 【数据库和SQL学习笔记】1.SQL语言的功能和特点,数据定义语言和应用,主键和外键
本专栏是我对数据库系统和SQL语言的学习笔记分享~ 数据库系统软件:SQL Server 2019 Express(免费,初学者使用足够,足够部署小型项目) 操作系统:Windows 10 安装过程略 ...
- java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法
在Java系统中封装SQL语言的处理方法及系统的制作方法[ 技术领域: ][0001]本发明涉及计算机数据处理 技术领域: ,特别是涉及一种在Java系统中封装SQL语言的处理方法及系统.[ 背景技术 ...
- MySQL基本的SELECT语句,SQL语言概述,基础和重要不冲突,完整详细可收藏
文章目录 1.SQL语言的分类 2.SQL语言的规则与规范 3.基本的SELECT语句 4.DESCRIBE显示表结构 5.WHERE过滤数据 1.SQL语言的分类 SQL语言在功能上主要分为如下3大 ...
- Hello MySQL(三)——SQL语言
一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language),是用于访问和处理数据库的标准计算机语言. SQL语言的功能如下: A.SQL面向数 ...
- mysql请输入一个有效类型的长度值_MySQL数据库基础(三)——SQL语言
MySQL数据库基础(三)--SQL语言 发布时间:2020-05-19 16:40:05 来源:51CTO 阅读:10596 作者:天山老妖S MySQL数据库基础(三)--SQL语言 一.SQL语 ...
- MySQL从删库到跑路(三)——SQL语言
作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language) ...
- Oracle PL/SQL语言初级教程(自学)
Oracle PL/SQL语言初级教程 PL/SQL 语言基础 PL/SQL 是一种高性能的基于事务处理的语言,能运行在任何 ORACLE 环境中,支持所有数据处理命令. 通过使用 PL/SQL 程序 ...
- SQL语言(一)数据库定义语言DDL
我们可以把 SQL 语言按照功能划分成以下的 4 个部分: DDL,英文叫做 Data Definition Language,也就是数据定义语言,它用来定义我们的数据库对象,可以创建,删除和修改数据 ...
- 【数据库学习笔记】Day03 - SQL语言基础及数据库定义功能
[数据库学习笔记]Day03 - SQL语言基础及数据库定义功能 〇.本文所用数据库表格: 一.关系运算: 关系运算,数学名词,基本运算有两类:一类是传统的集合运算(并.差.交等),另一类是专门的关系 ...
最新文章
- BZOJ3743 : [Coci2014]Kamp
- 博图程序需要手动同步_贴吧求助帖博图实例单按钮控制灯的程序
- 广州计算机专业王健,王健-计算机与信息工程学院
- 随机数生成器c语言,句子随机生成器-怎么用C语言生成随机数
- Cloud一分钟 | 加码云计算!IBM斥340亿美元收购Red Hat
- android studio安装教程完整,Android Studio 安装配置方法完整教程【小白秒懂】
- Java基础之深入认识hashCode和equals
- PHP中smart原则,制定目标时的SMART原则不包括什么
- uml通信图画法_UML各种图画法总结
- 星空编程 小甲鱼c语言,c++快速入门(小甲鱼)
- Snipaste--截屏--贴图
- 攻防世界 pwn进阶区----No.012 babyfengshui 解题思路
- 信息系统项目管理-项目进度管理-(六)
- 58 mysql 军规_58到家MySQL军规升级版(转)
- 软文营销文案兼具有趣的灵魂才能形成广泛传播
- oracle bin 打头的表,关于WRI$和WRH$打头的表
- 自动化测试软件费用,计费引擎资费自动化测试
- ARP渗透与攻防(二)之断网攻击
- 【web课程设计】用HTML+CSS做一个漂亮简单的动漫网页
- 美国“鼠女”放生数千老鼠 旧金山成鼠城
热门文章
- java毕业设计题目大全
- Thinkpad x200 X201拆机换风扇教程 实图
- 数字图像处理 采样定理_数字图像处理(第4版)
- 《数字图像处理》——高频强调滤波
- java web个人博客开发(一需求获取和需求分析文档)
- 从理论到工程实践——用户画像入门宝典
- Java项目:药品管理系统(java+SSM+html+jQuery+Tomcat+mysql)
- 重磅!清华大学网上课程面向全国免费开放!无需登录、注册!在家上清华!...
- DBeaver数据库连接工具的简单操作
- html360se,360浏览器发布SE版本