暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

14、SQL必知必会(第5版)学习笔记9

小样有样儿 2021-08-16
1601

点击上方蓝字(小样有样儿)关注我们


本文分享《SQL必知必会(第5版)》第十六章至第十九章的学习笔记。之前的分享详见文后所附链接。

16

更新和删除数据(Update语句、Delete语句)


1、指导原则


序号

原则

除非确实打算更新和删除每一行,否则Where子句不可省略。

确保每张表都有主键,并结合Where子句指定各主键、值的范围。

先使用Select…where…语句进行筛选,再使用update/delete+where语句,谨防更新错或删除错

使用强制实施引用完整性的数据库,谨防删除数据与其他表相关联的行

实施约束语句,防止执行不带WHERE子句的UPDATEDELETE语句。

说明:
a.以上五项指导原则对Update语句、Delete语句均适用。
b. DELETE删除整行而不是删除列。要删除指定的列,请使用UPDATE语句。
 
2、使用Update语句更新数据

语法结构
Update+要更新的表名
Set列名1=新值1
列名2=新值2
Where子句设置要更新哪些行;
 
3、使用Delete语句删除数据

语法结构
Deletefrom +要从中删除数据的表名
Where子句设置要删除哪些行;  

17

创建和操纵表

CREATETABLE用来创建新表,

ALTERTABLE用来更改表列(或其他诸如约束或索引等对象),

DROP TABLE用来完整地删除一个表。

这些语句必须小心使用,并且应该在备份后使用。

 

1、使用CREATETABLE创建新表


语法结构

CreateTable +新表名

(列名a   数据类型   是否为空值   是否指定默认值,

列名b   数据类型   是否为空值   是否指定默认值,

列名c   数据类型   是否为空值   是否指定默认值,

列名d   数据类型   是否为空值   是否指定默认值)

 

2、使用ALTERTABLE来更改表定义


语法结构

AlterTable +表名

Add+列名+数据类型

Drop+列名+数据类型

 

复杂的表结构如何进行更改?

a.用新的列布局创建一张新表;

b.使用Insert Select语句把数据从旧表复制到新表;

c.检验包含所需数据的新表;

d.重命名旧表(如果确定,可以删除它);

e.根据需要重新创建触发器、存储过程、索引和外键。

 

3、使用DROPTABLE删除表


语法结构:

DropTable +表名;

注意:

a.删除表没有确认步骤,也不能撤销,执行这条语句将永久删除该表。

b.可以实施有关规则,要求在删除某张表之前,先删除表之间的联结关系。

 

4Mysql使用Rename语句重命名表


所有重命名表都要求指定新表名和旧表名。

18

使用视图

1、什么是视图?视图有什么用途?


视图是虚拟的表;

视图包含的不是数据而是根据需要检索数据的查询;

视图提供了一种封装SELECT语句的层次,可用来简化数据处理,重新格式化或保护基础数据。

 

2、视图创建和使用应遵循哪些规则和限制?


创建视图需要足够的访问权限;
视图命名具有唯一性;
视图可以嵌套使用;
许多数据库管理系统禁止在视图查询中使用Order by语句;
有的数据库管理系统要求对返回的所有列进行重命名,
如果是计算字段,则需要使用别名;
视图不能索引,也不能有关联的触发器或默认值;
需确认所使用数据库管理系统是否将视图作为只读的查询;
有些数据库管理系统不能进行导致行不再属于视图的插入或更新。
因此,在创建视图前,有必要花点时间了解必须遵守的规定。

3、使用Createview 语句创建视图

功能

举例

简化复杂的联结

重新格式化检索出的数据

过滤不想要的数据

简化计算字段


4、调用视图


语法结构:

Select * from+视图名

Where子句进行过滤

19

使用存储过程

存储过程是个相当重要的主题,各种数据库管理系统对存储过程的实现不一。

1、什么叫做存储过程

存储过程就是为以后使用而保存的一条或多条SQL语句。

2、为什么要使用存储过程?

简单、安全、高性能。

3、创建存储过程

一般来说,编写存储过程比编写基本SQL语句复杂,需要更高的技能,更丰富的经验。因此,许多数据库管理员把限制存储过程的创建作为安全措施。

适用于Mysql的语法结构如下:

上图参考自:https://www.w3cschool.cn/sql/sql-storage.html

4、使用Execute语句执行存储过程

语法结构:

Execute +存储过程名+‘’

存储过程如果有参数,后面加参数格式为:@参数名=value,也可直接为参数值value

5、删除存储过程

drop procedure+存储过程名


END



之前的分享详见下表:

13、SQL必知必会(第5版)学习笔记8
12、SQL必知必会(第5版)学习笔记7
11、SQL必知必会(第5版)学习笔记6
10、SQL必知必会(第5版)学习笔记5
9、SQL必知必会(第5版)学习笔记4
8、SQL必知必会(第5版)学习笔记3
7、SQL必知必会(第5版)学习笔记2
6、SQL必知必会(第5版)学习笔记1
5、如何配置MySQL的环境变量以及为什么要配置?
4、如何验证是否已成功安装了MySQL?适合小白的详细图文教程
3、如何安装MySQL?适合小白的详细图文教程~
2、如何免费下载并安装Visual Studio 2019?适合小白的详细图文教程~
1、如何免费下载MySQL?适合小白的详细图文教程~





您点的每一个“在看”都是鼓励


文章转载自小样有样儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论