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 存储结果集,供稍后处理

SQL 语言特点、功能和数据类型相关推荐

  1. 关系数据库SQL语言核心功能

    SQL语言的功能极强,完成核心功能只要9个动词,分别为如下4类: 1. 数据查询:SELECT 说明:select是用于表信息查询,构成SQL唯一查询语句 2. 数据定义:CREATE.DROP.AL ...

  2. 【数据库和SQL学习笔记】1.SQL语言的功能和特点,数据定义语言和应用,主键和外键

    本专栏是我对数据库系统和SQL语言的学习笔记分享~ 数据库系统软件:SQL Server 2019 Express(免费,初学者使用足够,足够部署小型项目) 操作系统:Windows 10 安装过程略 ...

  3. java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法

    在Java系统中封装SQL语言的处理方法及系统的制作方法[ 技术领域: ][0001]本发明涉及计算机数据处理 技术领域: ,特别是涉及一种在Java系统中封装SQL语言的处理方法及系统.[ 背景技术 ...

  4. MySQL基本的SELECT语句,SQL语言概述,基础和重要不冲突,完整详细可收藏

    文章目录 1.SQL语言的分类 2.SQL语言的规则与规范 3.基本的SELECT语句 4.DESCRIBE显示表结构 5.WHERE过滤数据 1.SQL语言的分类 SQL语言在功能上主要分为如下3大 ...

  5. Hello MySQL(三)——SQL语言

    一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language),是用于访问和处理数据库的标准计算机语言. SQL语言的功能如下: A.SQL面向数 ...

  6. mysql请输入一个有效类型的长度值_MySQL数据库基础(三)——SQL语言

    MySQL数据库基础(三)--SQL语言 发布时间:2020-05-19 16:40:05 来源:51CTO 阅读:10596 作者:天山老妖S MySQL数据库基础(三)--SQL语言 一.SQL语 ...

  7. MySQL从删库到跑路(三)——SQL语言

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language) ...

  8. Oracle PL/SQL语言初级教程(自学)

    Oracle PL/SQL语言初级教程 PL/SQL 语言基础 PL/SQL 是一种高性能的基于事务处理的语言,能运行在任何 ORACLE 环境中,支持所有数据处理命令. 通过使用 PL/SQL 程序 ...

  9. SQL语言(一)数据库定义语言DDL

    我们可以把 SQL 语言按照功能划分成以下的 4 个部分: DDL,英文叫做 Data Definition Language,也就是数据定义语言,它用来定义我们的数据库对象,可以创建,删除和修改数据 ...

  10. 【数据库学习笔记】Day03 - SQL语言基础及数据库定义功能

    [数据库学习笔记]Day03 - SQL语言基础及数据库定义功能 〇.本文所用数据库表格: 一.关系运算: 关系运算,数学名词,基本运算有两类:一类是传统的集合运算(并.差.交等),另一类是专门的关系 ...

最新文章

  1. BZOJ3743 : [Coci2014]Kamp
  2. 博图程序需要手动同步_贴吧求助帖博图实例单按钮控制灯的程序
  3. 广州计算机专业王健,王健-计算机与信息工程学院
  4. 随机数生成器c语言,句子随机生成器-怎么用C语言生成随机数
  5. Cloud一分钟 | 加码云计算!IBM斥340亿美元收购Red Hat
  6. android studio安装教程完整,Android Studio 安装配置方法完整教程【小白秒懂】
  7. Java基础之深入认识hashCode和equals
  8. PHP中smart原则,制定目标时的SMART原则不包括什么
  9. uml通信图画法_UML各种图画法总结
  10. 星空编程 小甲鱼c语言,c++快速入门(小甲鱼)
  11. Snipaste--截屏--贴图
  12. 攻防世界 pwn进阶区----No.012 babyfengshui 解题思路
  13. 信息系统项目管理-项目进度管理-(六)
  14. 58 mysql 军规_58到家MySQL军规升级版(转)
  15. 软文营销文案兼具有趣的灵魂才能形成广泛传播
  16. oracle bin 打头的表,关于WRI$和WRH$打头的表
  17. 自动化测试软件费用,计费引擎资费自动化测试
  18. ARP渗透与攻防(二)之断网攻击
  19. 【web课程设计】用HTML+CSS做一个漂亮简单的动漫网页
  20. 美国“鼠女”放生数千老鼠 旧金山成鼠城

热门文章

  1. java毕业设计题目大全
  2. Thinkpad x200 X201拆机换风扇教程 实图
  3. 数字图像处理 采样定理_数字图像处理(第4版)
  4. 《数字图像处理》——高频强调滤波
  5. java web个人博客开发(一需求获取和需求分析文档)
  6. 从理论到工程实践——用户画像入门宝典
  7. Java项目:药品管理系统(java+SSM+html+jQuery+Tomcat+mysql)
  8. 重磅!清华大学网上课程面向全国免费开放!无需登录、注册!在家上清华!...
  9. DBeaver数据库连接工具的简单操作
  10. html360se,360浏览器发布SE版本