内容简介

  SQL(Structured Query Language)作为一门结构化的查询语言,是关系数据库中最常用的语言。《零基础学SQL》的内容包括数据库创建和管理、数据表与视图的创建和维护、数据查询、数据更新、数据控制、SQL的扩展PL/SQL编程等方面的内容,通过这些内容可以掌握编写SELECT语句、DML语句(INSERT、UPDATE和DELETE)、DDL语句(CREATE、ALTER和DROP)、DCL语句(GRANT、REVOKE)和事务控制语句(COMMIT、ROLLBACK和SAVEPOINT)的使用方法,与PL/SQL编程有关的结构控制语句、记录集合类型的使用,存储过程、函数、包,以及触发器的创建和使用方法,最后在SQL应用中介绍了查询优化、动态SQL以及数据库的存取访问等在数据库中的应用方面的内容。

  《零基础学SQL》附有配套光盘,光盘中提供了实例的全程视频讲解及所有实例源代码。

  《零基础学SQL》旨在为SQL语言的初学者和大中专院校计算机专业的学生和教师提供易于入门的、全面了解和掌握SQL语言的教辅资料,同时对有一定经验的数据库管理人员和软件开发人员也有一定的参考价值。

电子书下载地址:http://www.400gb.com/file/22469480

如觉得有用,可购买纸质书籍支持一下原作者:http://book.jd.com/10059818.html

出版说明
前言
第一篇 关系数据库与SQL语言
第1章 关系数据库介绍 1
1.1 数据模型 1
1.1.1 概念模型 1
1.1.2 关系数据模型 3
1.2 关系模式 3
1.3 常用关系数据库 4
1.3.1 Oracle数据库 4
1.3.2 Microsoft SQL Server数据库 4
1.3.3 MySQL数据库 4
1.3.4 PostgreSQL数据库 5
1.4 安装与使用MySQL 5.0数据库 5
1.4.1 安装MySQL 5.0 5
1.4.2 安装用户图形界面 7
1.4.3 运行MySQL 5.0 8
1.5 小结 9

第2章 SQL语言概述 10
2.1 SQL语言介绍 10
2.2 SQL语句的分类 11
2.3 SQL语言的特点 11
2.4 常用数据类型 12
2.4.1 整数类型与浮点类型 12
2.4.2 数值类型 13
2.4.3 字符类型 13
2.4.4 日期与时间类型 14
2.4.5 二进制类型 15
2.5 SQL语句书写规范 15
2.6 小结 16

第二篇 数据库与数据表的创建和管理
第3章 数据库的创建与删除 17
3.1 创建数据库 17
3.1.1 使用SQL语句创建数据库 17
3.1.2 在MySQL 5.0 Command Line Client窗口下创建数据库 18
3.1.3 在MySQL 5.0用户图形界面中创建数据库 18
3.2 删除数据库 19
3.2.1 使用SQL语句删除数据库 19
3.2.2 在MySQL 5.0 Command Line Client窗口下删除数据库 19
3.2.3 在MySQL 5.0用户图形界面中删除数据库 20
3.3 小结 21

第4章 数据表的创建与更新 22
4.1 数据库中的表 22
4.1.1 数据记录、属性、字段、列和行 22
4.1.2 主键 23
4.1.3 外键 23
4.1.4 索引 24
4.1.5 约束 24
4.2 创建数据表 25
4.3 使用约束 27
4.3.1 唯一约束 27
4.3.2 主键约束 28
4.3.3 外键约束 30
4.3.4 检查约束 31
4.3.5 非空约束 32
4.4 使用索引 33
4.4.1 索引的分类 33
4.4.2 创建与删除索引 33
4.5 修改数据库中的表 35
4.5.1 向表中增加一列 35
4.5.2 增加一个约束条件 36
4.5.3 增加一个索引 37
4.5.4 修改表中的某一列 38
4.5.5 删除表中某一列 38
4.5.6 删除一个约束条件 39
4.6 删除数据库中的表 39
4.7 数据库test_STInfo中的表 39
4.7.1 学生信息表T_student 40
4.7.2 课程信息表T_curriculum 40
4.7.3 成绩信息表T_result 40
4.7.4 教师信息表T_teacher 41
4.7.5 院系信息表T_dept 41
4.7.6 计算机系教师信息表T_CSteacher 41
4.8 小结 42

第三篇 数 据 查 询
第5章 基本查询操作 43
5.1 查询全部列的记录 43
5.2 查询表中指定的列 44
5.3 查询表中不重复的记录 45
5.4 使用列别名查询 46
5.5 对查询的记录进行算术运算 47
5.6 使用连接符(Ⅱ)连接字段
5.7 关于NULL值
5.8 小结

第6章使用WHERE子句查询表中满足条件的记录
6.1 比较查询
6.1.1 算术比较运算符
6.1.2 BETWEENAND运算符查询指定条件范围的记录
6.1.3 IN运算符查询与列表匹配的记录
6.1.4 字符串比较
6.1.5 日期时间的比较
6.2 逻辑查询
6.2.1 使用AND运算符查询同时满足多个条件的记录
6.2.2 使用OR运算符查询满足任一条件的记录
6.2.3 使用NOT运算符查询满足相反条件的记录
6.2.4 复杂逻辑查询
6.3 空值查询
6.4 使用LIKE操作符实现模糊查询
6.4.1 匹配任意单个字符
6.4.2 匹配O个或者多个字符
6.4.3 使用转义字符
6.5 使用REGEXP关键字进行模式匹配
6.6 小结

第7章 表中数据的排序与分组
7.1 使用ORDERBY子句对数据记录进行排序
7.1.1 指定表中的一列进行排序
7.1.2 指定表中列的位置序号进行排序
7.1.3 对SELECT语句中的非选择列进行排序
7.1.4 指定表中的多列进行排序
7.2 常用的聚合函数
7.3 使用GROIJPBY子句对表中数据进行分组
7.3.1 单列分组
7.3.2 多列分组
7.3.3 使用H.AVING限制分组后的查询结果
7.3.4 对分组结果进行排序
7.3.5 GROUPBY子句中处理NULL值
7.4 使用ROLLUP关键字统计数据
7.5 限制结果集行数
7.5.1 使用MySQL数据库限制结果集行数
7.5.2 使用Oracle数据库限制结果集行数
7.5.3 使用MicrosoftSQLServer数据库限制结果集行数
7.6 小结

第8章 连接查询与集合查询
8.1 内连接查询
8.1.1 等值连接
8.1.2 非等值连接
8.1.3 使用ON子句建立相等连接
8.1.4 使用USING子句建立相等连接
8.2 交叉连接
8.3 自连接查询
8.4 外连接查询
8.4.1 左外连接
8.4.2 右外连接
8.4.3 全外连接
8.5 集合查询
8.5.1 并操作
8.5.2 交操作
8.5.3 差操作
8.6 小结

第9章 子查询
9.1 单行子查询
9.2 多行子查询
9.2.1 使用IN运算符的子查询
……
第10章 常用函数
第11章 视图的创建与删除

第四篇 数据更新
第12章 插入数据记录
第13章 修改数据记录
第14章 删除数据记录

第五篇 数据控制
第15章 权限的授予与回收
第16章 事务的控制与管理

第六篇 PL/SQL
第17章 PL/SQL概述
第18章 PL/SQL基础
第19章 PL/SQL中的控制结构
第20章 使用游标
第21章 异常处理
第22章 存储过程
第23章 函数
第24章 包
第25章 触发器

第七篇 SQL应用
第26章 SQL语句性能优化
第27章 动态SQL
第28章 数据库的存取访问
附录A 常用SQL语句
附录B 常用函数对照

前言
  在实际的应用开发中,无论是应用软件的开发人员还是数据库的管理人员都需要与数据库打交道,而SQL语言作为数据库语言之一,是关系数据库系统中最常用的一种语言。因此全面了解并掌握SQL语言无论是对于软件开发人员还是对数据库的管理人员都是非常重要的。
  大多数有关数据库的图书一般都会涉及关系数据库基本理论、数据库的设计与管理等方面的内容,对SQL语句部分并没有详细的阐述。本书是一本从基础知识开始全面讲解SQL的图书,从最简单的数据查询开始,到对数据的排序分组,再到一些复杂的数据查询,例如,数据表的连接、子查询以及一些数据库中的常用函数,然后再渐进到PL/SQL编程基础,PL/SQL中常量、变量、记录、集合的声明和使用,以及控制结构、存储过程、函数、包、触发器的创建和使用,在SQL应用中介绍了查询优化、动态以及使用高级程序设计语言通过SQL实现对数据库中数据的存取访问,循序渐进、系统全面地介绍了SQL的相关知识。
  本书特点
  1. 由浅入深,循序渐进
  为了方便读者学习,本书从关系数据库的基础知识讲起,以易于安装的开源数据库MySQL 5.0为基础,从SQL语句的基本语法入手,从简单的数据检索到对数据的排序分组再到数据表的连接、子查询,然后再渐进到PL/SQL编程、查询优化、SQL应用开发。
  2. 内容全面,结构清晰
  不同的数据库系统对SQL的支持和扩展存在很大差异。为了方便读者学习,本书充分对比SQL Server、Oracle、MySQL在SQL实现上的差异,进行详细讲解。读者通过本书,可以全面掌握三种数据库的SQL使用。同时,本书按照数据定义语言(DDL)、数据查询语言(DQL)、数据操作语言(DML)、数据控制语言(DCL)、事务控制语言、SQL的扩展PL/SQL编程的顺序对SQL语句进行全面的讲解。
  3. 实例丰富,结合实际
  本书对于每一个SQL语句的讲解都配有多个实例,使读者在了解SQL语法的同时,能够真正掌握其用法。同时结合目前主流的数据库Microsoft SQL Server和Oracle,对SQL语句在这些数据库中的使用差别也都在实例中给出了相应的实现方法。
  4. 查询方便,便于自学
  对于大部分的SQL语句采用“语法规范、语法说明、实例代码、实例讲解、显示结果”的结构进行阐述。对于每一个SQL和PL/SQL语句都进行了详细讲解,便于读者理解。在本书的附录中还提供了常用SQL语句和在MySQL、Microsoft SQL Server以及Oracle数据库中常用函数的对照表,便于读者对每一部分进行查询和学习。

精彩书摘
  4.1.4索引
  在实际应用中,为了加快访问速度,节省访问时间,一般都需要使用索引进行查询。例如,在使用电话簿查询电话时,为了减少查询的时间,一般都会使用电话簿中提供的企业名称作为索引来查询;在使用一本书学习某一部分知识的时候,一般都需要翻看书后提供的索引,一般书后的索引都会以字母顺序将相关的主题信息列出,通过这个索引的指引,读者可以很快查找到想要的信息,而不需要为了查询某一个知识点而将书中所有的内容都翻看一遍,节省了查阅的时间,也保证了学习效率。
  数据库中的索引与书后提供的索引的功能相同,在数据库的应用中,往往一张数据表中会包含上千条甚至上万条记录,因此为了加快对数据表的访问,通常需要在数据表中建立适当的索引。通过建立索引,在查询数据表中的数据时,数据库可以很快地将其找到,而不用扫描整个数据表。
  索引是一个指向数据表中数据的指针,指向索引字段在数据表中的物理位置。如果在执行查询操作时,WHERE子句中指定的字段是被设置为索引的字段,则数据库会首先在索引中对指定的值进行查询,并返回查询的数据在数据表中的位置。如果在执行查询操作时,WHERE子句中指定的字段没有设置为索引的字段,那么数据库会对查询数据表中的每一行数据记录进行扫描。因此适当地创建索引,可以加快数据的检索速度,提高对数据的访问效率,提供数据查询的性能。
  当然,索引本身也有一些弊端,例如,索引会占用大量的硬盘空间;随着数据列的增加,创建和维护索引的时间也会随之增加;在对数据进行增加、删除和修改等更新操作的时候,需要对索引进行维护,降低更新数据的速度。因此,对那些不是在查询过程中经常用到的列以及在数据表中经常需要进行增加、删除和修改等更新操作的列就不适合建立索引。
  虽然创建索引可以提高查询的速度,但是由于索引本身会占用物理空间以及维护索引可能带来的时间的损耗,所以在为数据表中的列创建索引时,并不是为数据表中的每一个列都要创建索引,那样做反而不会起到提高查询效率的作用。因此需要在数据表的适当的列上创建索引。一般可以在下面这些列中创建索引。

【带书签】零基础学SQL.pdf(孙浏毅 等著) 下载相关推荐

  1. 零基础学SQL(1):初识数据库与SQL

    零基础学SQL(1):初识数据库与SQL 一.初识数据库 数据库是将大量数据保存起来,通过计算机加工而成的可以 进行高效访问的数据集合.该数据集合称为数据库(Database,DB).用来管理数据库的 ...

  2. 强哥带你零基础学java-03运行第一个java程序

    java是什么,java是一种编程语言的名字,在生活中,我们知道的有汉语,英语.运用汉语语法,我们可以写一篇文章.同样的道理,用java的语法,我们就可以写程序了. 那么现在的问题是,要如何来写呢?现 ...

  3. 零基础学sql要多久_成人零基础学习钢琴,要多久能学会?

    越来越多的人都开始在开始工作之后想要练习一门技艺了.不知道大家身边的朋友是不是也在报一些培训班,健身班,瑜伽班,舞蹈班.每个人都有自己向往的生活与目标,那学会钢琴,也慢慢变成了更多喜爱音乐的朋友的目标 ...

  4. 小甲鱼python课后题答案_小甲鱼python视频教程下载|小甲鱼零基础学python视频教程附习题答案_ - 极光下载站...

    小甲鱼零基础学python视频教程下载,最完整的小甲鱼python语言学习视频来啦,想要学习python语言的小白们不妨点击观看视频在下学习吧! Python语言介绍 Python是一种面向对象的解释 ...

  5. 零基础学sql要多久_零基础小白如何迈出学习SQL的第一步?文科生学SQL的心得

    本文适用对象:从没接触过编程的零基础小白 首先,判断是否需要学习SQL 学习的第一步:了解SQL的用途. 比如你的目的是处理小量数据,那么excel就能满足需求,且excel简单易学,适用性广,这种情 ...

  6. 零基础学SQL(二、MYSQL数据类型)

    目录 一.数据类型 一.数值型数据 1.整数类型 2.小数类型 二.字符串类型 1.char 2.VARCHAR 3.BLOB和TEXT类型 三.日期和时间类型 四.枚举类型 五.set类型 一.数据 ...

  7. 零基础学SQL(十一、视图)

    目录 前置建表 一.什么是视图 二.为什么使用视图 三.视图的规则和限制 四.视图的增删改查 五.视图数据的更新 前置建表 CREATE TABLE student (id int NOT NULL ...

  8. 零基础学SQL(九、分组 GROUP BY)

    目录 前置建表 ​编辑 一.分组的概念 二.分组案例 三.分组的过滤HAVING子句 前置建表 CREATE TABLE student (id int NOT NULL AUTO_INCREMENT ...

  9. 零基础学SQL(四、可视化工具连接数据库、数据库创建及删除)

    目录 一.使用Navicat链接MYSQL 二.创建数据库 1.创建数据库的命令 2.删除数据库  删库需谨慎 3.修改数据库名称 三.可视化工具操作 1.创建数据库 2.删除数据库 删库需谨慎 一. ...

  10. 零基础学SQL(六、数据的增删改查简单语句)

    目录 前置建表 一.数据的插入 1.插入数据语法 1.1.插入完整的行 1.2.插入行的一部分 1.3 .插入多行 1.4.插入某些查询的结果 二.数据的简单查询 1.查询数据语法 三.数据的修改 1 ...

最新文章

  1. 频域采样与恢复matlab实验,连续信号的采样与重构实验报告
  2. C/C++常见的预处理指令
  3. c语言程序设计第1章
  4. 72 页 PPT,带你梳理神经网络完整架构(含 PyTorch 代码)
  5. 使用css3实现瀑布流布局效果
  6. [python opencv 计算机视觉零基础到实战] 七、逻辑运算与应用
  7. python绝对导入_Python中的绝对导入和相对导入
  8. 力扣1047. 删除字符串中的所有相邻重复项(JavaScript)
  9. 沈向洋离开微软,曾是华人在美科技圈最高级高管,畅谈职业生涯的 7 堂课!...
  10. mysql 使用concat模糊查询
  11. deepin如何布署python_Dlib库教程(2):联合python的人脸检测、标记、识别
  12. 《圈圈教你玩USB》之 USB鼠标
  13. mysql 递归查询_Mysql递归查询,无限级上下级菜单
  14. c 语言读取硬盘序列号,C++读取硬盘序列号
  15. Cdn英文的读音音标_宋sir的美式音标教程 Unit 1 /i/ tea
  16. python基本写法_python操作文件常用写法
  17. ElasticSearch 7.7.0 高级篇-搜索技术
  18. c 语言 组合数,C++中求组合数的各种方法总结详解
  19. H5页面拉起指定app或跳转到应用市场下载
  20. Arduino提高篇24—摇杆调节时钟时间

热门文章

  1. 傻瓜式长文详细教程:无需u盘装系统(ubuntu、deepin双系统等)
  2. Tar的详细用法(转自Linux伊甸园)
  3. 为什么要选择Linux
  4. 大陆身份证号码格式校验代码
  5. lumaqq receiver
  6. h5优秀控件_HTML5优秀图表控件
  7. 模块“*.dll“已加载,但对DllRegisterServer的调用失败,错误代码0x8002801c
  8. Ubuntu中触摸板如何开启,关闭
  9. 解决Symantec卸载需要密码问题又一新招
  10. 消息称微软Windows暂停接受华为新订单;2019 Q1 亚太区公有云IaaS、PaaS服务收入排名现已揭晓……...