2.1SQL语言介绍

2.1.1SQL数据库的体系结构

SQL用户可以是应用程序,也可以是终端用户。SQL语言可以被嵌入在宿主语言的程序(如Python、C++、Java等)中使用,也可以作为独立的用户接口在DBMS环境下被用户直接使用

SQL用户可以用SQL语言对基本表和视图进行查询
一个视图是从若干基本表或其他视图上导出的表。数据库中只存放该视图的定义,而不存放该视图所对应的数据,这些数据仍然存放在导出该视图的基本表中。因此,可以说视图是一个虚表
一个或一些基本表对应于一个数据文件。一个基本表也可以存放在若干数据文件中。一个数据文件对应于存储设备上的一个存储文件
一个基本表可以带若干索引。索引也存放在数据文件中
一个表空间可以由若干个数据文件组成
一个数据库可以由多个存储文件组成

2.1.2SQL的特点

(1)综合统一

SQL集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括:

①定义关系模式,插入数据,建立数据库

②对数据库中的数据进行查询和更新

③数据库重构和维护

④数据库安全性、完整性控制

(2)高度非过程化

非关系数据模型的数据操纵语言是“面向过程”的,用“过程化”语言完成某项请求,必须指定存储路径

SQL进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存储路径。存储路径的选择以及SQL的操作过程由系统自动完成。这样可以减轻用户的负担,也提高了数据独立性

(3)面向集合的操作方式

非关系数据模型得采用提面向记录的操作方式,操作对象是一条记录

SQL采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合

(4)以同一种语法结构提供多种使用方式

SQL既是独立的语言,又是嵌入式语言

作为独立的语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作

作为嵌入式语言,SQL语句能够嵌入到高级语言(如Python、C++、Java)程序中,供程序员设计程序时使用

而在两种不同的使用方式下,SQL的语法结构基本上是一致的

(5)语言简洁,易学易用

SQL功能极强,完成核心功能只用了9个动词,接近英语口语,所以容易学习,易于使用

①数据定义                        CREATE      DROP         ALTER

②数据操纵                        SELECT      INSERT      UPDATE       DELETE

③数据控制                        GRANT        REVOKE

2.1.3SQL语言的组成

(1)数据定义语言(DDL)

DDL用来定义、修改、删除数据库中的各种对象。包括创建、修改、删除或者重命名模式对象(CREATE、ALTER、DROP、RENAME)的语句,以及删除表中所有行但不删除表(Truncate)的语句等

(2)数据操纵语言(DML)

DML的命令用来查询、插入、修改、删除数据库中数据。包含用于查询数据(Select)、添加新行数据(Insert)、修改现有行数据(Update)、删除现有行数据(Delete)的语句等

(3)数据控制语言(DCL)

用于事务控制、并发控制、完整性和安全性控制等

2.2.数据的定义

2.2.1数据库的定义和删除

(1)创建数据库

CREATE  DATABASE  数据库名;

(2)选择数据库

USE  数据库名;

(3)删除数据库

DROP  DATABASE  数据库名;

2.2.2数据类型

(1)字符串类型

CHAR,描述定长的字符串,说明格式为:CHAR(L)

VARCHAR,描述变长的字符串,说明格式为:VARCHAR(L)

字符串值用单引号或双引号括起来。如'abc'、"女",习惯使用单引号

(2)数值类型

INT,用于表示整数,存储长度默认为4个字节。说明格式为:INT

DECIMAL,可以用来表示所有的数值数据。说明格式为:DECIMAL(p,s)

(3)日期和时间类型

DATE,用来保存固定长度的日期数据。说明格式为:DATE

TIME,用来保存固定长度的时间数据。说明格式为:TIME

DATETIME,用来保存固定长度的日期时间数据。说明格式为:DATETIME

日期值格式为'YYYY-MM-DD';时间值格式为'HH:MM:SS';日期时间值格式为' YYYY-MM-DD HH:MM:SS'

(4)布尔类型

BOOLEAN,只有两个值:TRUE和FALSE,即真值和假值

2.2.3基本表的定义、删除和修改

(1)创建表

CREATE  TABLE  表名

( <列名>   <数据类型>  [DEFAULT   <默认值>]

[,…]

);

说明:DEFAULT选项是给指定列设置默认值

(2)利用子查询来创建表

CREATE  TABLE  <表名>

SELECT语句;

(3)修改表的结构

①在一个表中增加一个新列

ALTER  TABLE  <表名>

 ADD  [COLUMN]  <列名>   <数据类型>

       [DEFAULT  <默认值>]

②修改一个表中已有的列

ALTER  TABLE  <表名>

 MODIFY  [COLUMN]  <列名>  <数据类型> 

    [DEFAULT  <默认值>]

③从一个表中删除一列

ALTER  TABLE   <表名>

 DROP  [COLUMN]  <列名>

(4)截断表和删除表

①截断表

TRUNCATE   TABLE  <表名>

②删除表

DROP  TABLE  <表名>

【数据原理及应用 学习总结】第二章 关系数据库标准语言SQL(1)相关推荐

  1. 重温《数据库系统概论》【第一篇 基础篇】【第3章 关系数据库标准语言SQL】

    本篇内容为中国人民大学教授王珊.萨师煊的<数据库系统概论>自学课程的复习笔记,学习视频源于小破站(传送门),对应视频P16-P27,属教材"[第一篇 基础篇]"的&qu ...

  2. 第3章关系数据库标准语言SQL

    第3章关系数据库标准语言SQL 本文全部内容来自数据库系统概论(第5版)-王珊.萨师煊著 3.1SQL概述 综合统一 高度非过程化 面向集合的操作方式 以同一种语法结构提供多种使用方式 语法简洁,易学 ...

  3. 第三章关系数据库标准语言SQL

    第三章关系数据库标准语言SQL 3.1_SQL的特点 3.3_数据定义 3.3.1_基本表的定义.删除与修改 3.3.3_索引的建立与删除 3.4_数据查询 3.4.1_查询时消除重复行 3.4.2_ ...

  4. [XJTUSE DATABASE]——第三章 关系数据库标准语言SQL

    文章目录 [XJTUSE DATABASE]--第三章 关系数据库标准语言SQL 一.SQL概述 二.数据定义 模式的定义与删除 定义模式 删除模式 基本表的定义.删除与修改 数据类型 模式与表 修改 ...

  5. (数据库系统概论|王珊)第三章关系数据库标准语言SQL:习题

    文章目录 名词解释 简答题 应用题 名词解释 视图:视图是一个虚表,其本质就是一条SELECT语句,而查询结果被赋予了一个名字,也即视图名字.或者说视图本身不包含任何数据,它只包含映射到基表的一个查询 ...

  6. 数据库系统概论第五版(第 3 章 关系数据库标准语言SQL)习题答案

    习题目录 1.试述 SQL 的特点. 2. 说明DROP TABLE 时,RESTRICT 和 CASCADE 的区别. 3 有两个关系S(A,B,C,D)和T(C,D,E,F), 写出与下列查询等价 ...

  7. 数据库系统-第三章-关系数据库标准语言SQL

    内容来自2021春季学期<数据库系统>课程的PPT SQL概述 SQL(Structured Query Language)--结构化查询语言,是关系数据库的标准语言:是一个通用的.功能极 ...

  8. 王珊,萨师煊.数据库系统概论(第5版) 第三章.关系数据库标准语言SQL课后习题及总结

    一.试述SQL的特点. 综合统一.集数据定义语言(DDL).数据操纵语言(DML).数据控制语言(DCL)的功能于一体 高度非过程化.无需了解存取路径.存取路径的选择以及SQL的操作过程由系统自动完成 ...

  9. 数据库系统概论-第三章 关系数据库标准语言 SQL

    概述 SQL的特点 综合统一 SQL集数据定义语言,数据操纵语言,数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,可以执行以下一系列要求: 定义和修改.删除 关系模式 ...

最新文章

  1. 如何评价创作歌手的业务能力?试试让NLP帮你分析一下
  2. 《告别失控:软件开发团队管理必读》一一第1章 程序员为何难以管理
  3. optee中的thread_vector_table线程向量表
  4. GDCM:gdcm::ByteBuffer的测试程序
  5. 回顾 | 进击吧! Blazor !第四期 组件开发
  6. wps表格里面计算机在哪里,WPS的Word居然还有计算神器?在哪里能找到又是怎么进行计算呢?...
  7. PERKET(洛谷P2036题题解,Java语言描述)
  8. Hibernate面试总结
  9. ZNYW.20180201_02_YunWeiJianXiu_ShouYe.svg
  10. 设计灵感|三维时代!C4D人物设计案例
  11. 绑定数据源注意的地方
  12. 汇编语言 emu8086软件的安装和输出Hello,world
  13. U8v10.1销售发货单打印模板取客户名称不正确的问题
  14. bmp 和JPG有什么区别
  15. 常用英语后缀和全部英语后缀——190个
  16. 高中英语解析(3500词汇)
  17. 注册表 关闭打印机服务器,Windows 2016 server部署打印机服务器后 重启服务器,出现“重定向的打印机”,如何来删除?...
  18. 淘宝店铺宝贝转化率该如何提升
  19. JavaScript中的ReferenceError和TypeError两种错误的区别
  20. PyTorch ResNet 实现图片分类

热门文章

  1. Java并发编程--volatile关键字解析
  2. android手机中指纹识别应用相关功能的讲解
  3. 7-12 列车厢调度(25 分)
  4. 苹果群控 国内唯一首创 安装流程
  5. vue 报错:Module not found:Error:Can't resolve 'vuex' in XXX
  6. 【以太网数据包】微信数据包
  7. 常用的图表类型有哪些?
  8. 微信小程序组件思维导图
  9. pg表常用sql语句
  10. mybatis 查询报错:SQLException: 无效的列类型: 1111