当前课程知识点:数据库概论 >  第三章 结构化查询语言SQL >  3.1 SQL概述 >  SQL概述

返回《数据库概论》慕课在线视频课程列表

SQL概述在线视频

SQL概述

下一节:数据定义DDL

返回《数据库概论》慕课在线视频列表

SQL概述课程教案、知识点、字幕

各位同学 大家好

我是来自云南大学软件学院的张璇

下面由我为大家介绍SQL语言

SQL是Structured Query Language的缩略语

其含义是结构化查询语言

使用SQL可以帮助我们定义

操作和控制关系数据库中存储的数据

那么

按照对数据的定义 操作和控制

SQL语言就可以分为三类

自然分别就是数据定义语言

数据操作语言和数据控制语言

数据定义语言

Data Definition Language

简称为DDL

用于定义数据库 数据表 视图和索引等数据库对象

数据操作语言

Data Manipulation Language

简称为DML

用于完成数据的查询和更新两类操作

其中更新主要指插入删除或更新数据

数据控制语言

Data Control Language

简称为DCL

用于数据表和视图等数据库对象的访问授权

完整性规则的描述和事务控制等

那么

如何使用SQL语言完成定义操作和控制呢

下面

我们首先介绍一下SQL语言的基本结构

然后再介绍SQL语言的使用

一个SQL语言的构成由定义操作的动词

定义数据库对象的标识符

定义操作数据的数据类型

运算符号

常量

变量和函数构成

下面我们来介绍这些结构成分

首先

SQL的动词定义SQL的基本操作命令

例如

在定义数据库时使用CREATE动词

如果定义一个数据库就使用CREATE DATABASE

如果定义一个数据表就使用CREATE TABLE

而数据查询则使用SELECT动词等等

而标识符是是数据库对象的名称

比如说

我们所有课程内容会使用两个数据库给大家做介绍

一个是CAP数据库

另一个是Student_DB数据库

CAP和Student_DB就是两个定义数据库名称的标识符

如果我们使用的标识符与数据库保留字冲突时

可以使用双引号或方括号等

定界符标识这些特殊的标识符

数据类型是存储常量和变量的数据特性

它决定了数据的存储格式

代表着不同的信息类型

数据类型分为系统定义数据类型和用户定义数据类型

系统定义数据类型是由系统定义的常用数据类型

我们可以直接使用

具体系统数据类型我们后面稍微详细介绍一下

用户定义数据类型可以使用系统存储过程sp_addtype

或者在数据库管理窗口中采用交互式方式进行定义

在定义后可以像系统定义数据类型一样使用

运算符自然是用来执行数据之间的数学运算和比较操作了

例如

数学运算包括基本的加 减 乘和除运算

比较操作包含基本的大于 等于和小于等等

常量是存储的具体数据

而变量则可以接收不同的输入数据完成数据运算

函数则用于在数据上执行某些操作

例如

我们会经常使用聚合函数完成数据的汇总

求平均值 统计数量 求最大最小值等等

我们也可能用字符串函数完成字符的ASC码转换

大小写转换 抽取部分字符数据等

还可以使用数学函数进行四舍五入 求圆周率 产生随机数据等等

上述结构成分中的系统定义数据类型我们要稍作介绍

这样子我们后面才可以给大家介绍SQL语言的使用

系统定义数据类型

我们来看一下这个表格

系统定义数据类型包括日期时间型

整数型

精确数值型

近似数值型

货币型

位型

字符型

Unicode字符型

二进制数据类型和特殊数据类型

日期时间数据类型代表日期和时间

这种数据类型分为datetime和smalldatetime两种

它们的区别主要在于存储长度表示的时间范围和精度不同

在输入日期时间型数据时一般需要将数据放在单引号中

与日期时间数据类型相似

整数数据类型分为bigint int smallint和tinyint四种

它们的区别同样是存储长度表示的数值范围和精度不同

精确数值数据类型由整数和小数两部分组成

在SQL Server中提供了两种不同精度与范围的精确数值类型

decimal[(p[, s])] 和 numeric[(p[, s])]

其参数由精度p和小数位数s构成

精度p表示所存十进制数据的位数总和

包括整数和小数部分

s存储小数部分

需要注意的是

我们在讲结构的时候说过

方括号表示列出的选项是可选的

用户可以不选择

也就意味着小数位数s可以不在精确数值数据中设置

近似数值数据类型也称为浮点数

在SQL Server中

单精度浮点数real和双精度浮点数float

分别是两种不同精度的近似数值数据类型

货币数据类型有8字节构成的money和4字节构成的smallmoney两类

位数据类型用bit关键字声明

数据有0和1两种取值

通常可以作为逻辑变量使用

用于表示真 假

或是 否等二值选择

字符数据类型数据由字母 符号和数字组成

在输入字符数据时应将数据放在单引号内

字符型数据有定长char

变长varchar和文本text三种类型

Char和Varchar类型的取值范围相同

不同的是char类型长度固定

当实际存储数据长度小于给定长度值时

存储字符串的后面将被填充空格保证固定长度

而varchar类型则长度不固定

text类型长度也可变

不过可以存储更大范围的字符数据

Unicode数据类型用于支持国际上的非英语语种

也分为nchar nvarchar和ntext三种

对于Unicode字符常量数据应在前面加上标识符N

但是存储时并不存储该字符只是为了标识是Unicode类型

二进制数据类型在SQL Server中

包括binary varbinary和image三种通常用于存储图象

有格式的文本

比如说Word文件 Excel文件等等

也可以存储程序文件数据等等

以上

是系统定义数据类型

用户定义数据类型

我们前面大致说过

可以使用系统存储过程sp_addtype生成用户定义数据类型

不使用的时候

用sp_droptype删除即可

比如说

我们执行Exec sp_addtype phone ‘char(13)’

这里就定义了一个长度限定为

13个字符的电话数据类型

需要注意是

如果任何数据表使用用户定义数据类型

就不能删除这个用户定义数据类型

当然我们前面也说过

用户定义数据类型可以在数据库管理交互界面中添加或删除

现在我们已经学习了SQL语言的基本概念和基本结构

也了解了系统定义数据类型

下面

我们来具体看看

如何使用SQL语言定义 操作或控制数据

谢谢大家

数据库概论课程列表:

导论

-数据库概述

--Video

-导论--数据库概述

第一章 数据库基础

-1.1 数据库基础

--Video

-第一章 数据库基础--1.1 数据库基础

第二章 关系运算

-2.1 CAP数据库

--CAP数据库

-第二章 关系运算--2.1 CAP数据库

-2.2 自然关系运算1

-- 自然关系运算1

-第二章 关系运算--2.2 自然关系运算1

-2.3 自然关系运算2

--自然关系运算2

-第二章 关系运算--2.3 自然关系运算2

第三章 结构化查询语言SQL

-3.1 SQL概述

-- SQL概述

-3.1 SQL概述--作业

-3.2 数据定义DDL

--数据定义DDL

-3.2 数据定义DDL--作业

-3.3 SQL数据更新DML

--SQL数据更新DML

-3.3 SQL数据更新DML--作业

-3.4 复杂SQL查询操作1

--复杂SQL查询操作1

-第三章 结构化查询语言SQL--3.4 复杂SQL查询操作1

-3.5 复杂SQL查询操作2

--复杂SQL查询操作2

-第三章 结构化查询语言SQL--3.5 复杂SQL查询操作2

第四章 数据库完整性、视图与安全性

-4.1 数据完整性

--4.1 数据完整性

-4.1 数据完整性--作业

-4.2 完整性约束

--完整性约束

-4.2 完整性约束--作业

-4.3 外键约束

--外键约束

-4.3 外键约束--作业

-4.4 触发器

--触发器

-4.4 触发器--作业

-4.5 视图

--视图

-4.5 视图--作业

-4.6 安全性

--安全性

-4.6 安全性--作业

第五章 索引

-5.1 索引

--Video

-5.2 B+树索引

--Video

第六章 规范化理论

-6.1 函数依赖

--Video

-6.2 Armstrong公理

--Video

-6.3 无损分解

--Video

-6.4 范式举例

--Video

-6.5 三种范式

--Video

-6.5 三种范式--作业

第七章 实体关系模型

-7.1-E-R模型概述

--E-R模型概述

-7.2 E-R模型详解

--Video

-7.3 E-R模型的拓展

--Video

-7.4 E-R模型实例分析

--Video

第八章 事务处理

-8.1 事务的ACID性质介绍

--ACID介绍

-8.1 事务的ACID性质介绍--作业

-8.2 事务经历

--事务经历

-8.2 事务经历--作业

-8.3 可串行化调度和前趋图

--可串行化调度和前趋图

-8.3 可串行化调度和前趋图--作业

-8.4 两阶段封锁

--两段锁协议

-8.4 两阶段封锁--作业

-8.5 隔离级别

--隔离级别

-8.5 隔离级别--作业

-8.6 事务恢复

--事务恢复

-8.6 事务恢复--作业

第九章 数据库应用与开发

-9.1 数据库使用介绍

--数据库使用介绍

-9.2 Java访问数据库

--Java访问数据库

-9.2 Java访问数据库--作业

第十章 其他数据库技术概述

-10.1 数据库新技术概述

--Video

SQL概述笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。