SQL进阶操作初步

简介: 引入SQL作为一种语言,肯定不仅仅有之前提到的创建、插入、查找、提取等功能,它势必存在一些“看起来像是编程语言的功能”今天我们就一起来看看SQL的进阶操作有哪些吧

引入


SQL作为一种语言,肯定不仅仅有之前提到的创建、插入、查找、提取等功能,它势必存在一些“看起来像是编程语言的功能”

今天我们就一起来看看SQL的进阶操作有哪些吧


1.order by语句排序


和python这类高级编程语言一样,SQL的排序也不需要自己从底层的算法写起。不用管什么冒泡排序还是快速排序,我们只需要会用order by就可以了——语法如下

select 字段名 from 表名 order by 字段1,字段2,... asc|desc;


其中asc表示升序排序,desc反之,是降序排序。

字段1,字段2,...表示的是我们需要按照什么字段为关键字段排序。默认先按字段1排序,在字段1一样的情况下按字段2排序……以此类推


image.png

image.png

比如上面的例子是我们需要提取员工的姓名和薪资这两列,但是我们希望提取的信息按照员工的薪资升序排序,于是我们加上order by并且设定字段1为salary,就成功输出了我们想要的信息,如图。

在没有加asc或desc的情况下,是默认按照升序排列的


2.update语句更新数据


前面我们介绍了insert语句用于插入数据到指定的表里。那么如果我们想在已经有的表里把数据修改一下呢?。update就是实现这个功能的。

语法:

update 表名 set 字段1=值1,字段2=值2,... [where子句];

中括号中的where子句是可以省略的。在我们需要对特定记录进行更新的时候添加where子句指定条件,否则默认更新所有数据。


image.png

image.png

上面的例子中,我们发现赵六的员工号和经历编号都未填写,此时我们希望对其进行更新。将deptno=2,manager=4参数传入,我们就成功更新了数据。再次查询发现结果是我们需要的。


3.delete语句删除记录


这个无需多解释了,顾名思义就是把数据从表中移除。为什么把它放到进阶操作里呢?因为删除是个严肃的事,一个疏忽可能造成严重的后果。 把它放到进阶操作来勉励自己要把这个简单的东西当作复杂的语句来认真对待。

语法很简单:

delete from 表名 [where 子句];

这里的where子句和上面一样,是选择性输入的。如果不输入,表中所有数据都会被删掉

所以我才说必须要注意吧~


4.index索引访问


使用索引可以提高计算机运行效率、提高访问数据的速度。

创建索引的语句如下:

create index 索引名 on 表名(字段1,字段2,...)

使用索引查找时SQL语法和直接查找是一样的。不过SQL会自动使用索引提高访问数据的速度。


5.view视图


利用这个语句可以提取多个数据组建一个新的可视化表。这个视图中的字段可以是来自多个数据库的。视图语法为:

create view 视图名 as select语句;

image.png

我们直接来看一个例子。我们选取员工的名字和薪资创建了一个视图。可以直接用select来查询视图。

image.png

我们修改了张三的薪资,然后重新查找,发现原表中的数据也已经被修改了。说明视图是可以用来更新原数据的


6.null值


代表遗漏的未知数据。他的作用是一个占位符,用以代替未知或不合适的数据

需要特别注意的是,null的判断不是用=或者<>,而是is null或者is not null


7.字段和表的别名


SQL中允许我们赋予表名或字段名临时的别名,别名只在当前该句SQL语句中有效,但其可以加强语句的可读性。

当字段名字过长、语句涉及多个表(表中有相同字段名)的时候,我们往往就会赋予表或者字段别名。用法如下:

select 字段名 [as] 别名 from 表名 [as] 别名;

as可选择性输入


image.png

image.png

如图,我们在上面的操作中就是将name赋予了“姓名”的别名,salary赋予“工资”的别名,输出的就是如图中显示的别名。

相关文章
|
6月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之SQL错误[0A000],通常是什么造成的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
55 1
|
5月前
|
SQL 分布式计算 MaxCompute
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
|
5月前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
【7月更文挑战第26天】在 Web 开发中, SQL 注入与 XSS 攻击常令人担忧, 但掌握正确防御策略可化解风险. 对抗 SQL 注入的核心是避免直接拼接用户输入至 SQL 语句. 使用 Python 的参数化查询 (如 sqlite3 库) 和 ORM 框架 (如 Django, SQLAlchemy) 可有效防范. 防范 XSS 攻击需严格过滤及转义用户输入. 利用 Django 模板引擎自动转义功能, 或手动转义及设置内容安全策略 (CSP) 来增强防护. 掌握这些技巧, 让你在 Python Web 开发中更加安心. 安全是个持续学习的过程, 不断提升才能有效保护应用.
56 1
|
5月前
|
SQL 分布式计算 DataWorks
MaxCompute操作报错合集之使用sql查询一个表的分区数据时遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
5月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在执行SQL查询时遇到报错,代码为[XX000],该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
SQL 分布式计算 资源调度
MaxCompute操作报错合集之执行SQL Union All操作时,数据类型产生报错,该怎么解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
135 1
|
5月前
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之执行多条SQL语句时,使用同一个实例来运行,遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
5月前
|
SQL DataWorks NoSQL
DataWorks操作报错合集之在执行带with语句的SQL查询时出现了错误,是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之重新上传后只有SQL无法运行,而Python可以正常运行,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
SQL Java 数据库连接
深入理解SQL中的LEFT JOIN操作
深入理解SQL中的LEFT JOIN操作
下一篇
无影云桌面