【愚公系列】软考高级-架构设计师 061-SQL语言
🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
🚀前言
SQL,全称为Structured Query Language(结构化查询语言),是一种专门用来管理和操作关系型数据库系统的语言。SQL的主要功能是执行对数据库的查询和更新操作,包括数据的插入、修改、删除以及查询。
SQL语言包含以下几种类型的语句:
-
数据定义语言 (DDL, Data Definition Language): 这些语句用于定义、修改或删除数据库结构和表结构。例如:
CREATE
创建新的表格或数据库。ALTER
修改现有的数据库结构。DROP
删除表格或数据库。
-
数据操作语言 (DML, Data Manipulation Language): 这些语句用于数据的增加、删除、更新和查询操作。例如:
INSERT
向数据库表添加新的数据行。UPDATE
更新表中的数据。DELETE
删除表中的数据。SELECT
用于查询数据库中的数据。
-
数据控制语言 (DCL, Data Control Language): 这些语句用于控制对数据库的访问和权限。例如:
GRANT
授权用户某些权限。REVOKE
撤销用户的权限。
-
事务控制语言 (TCL, Transaction Control Language): 这些语言用于管理数据库中所发生的事务,确保数据的完整性和一致性。例如:
COMMIT
提交一个事务,使事务中的所有操作成为数据库的一部分。ROLLBACK
在遇到错误时撤销事务中的操作。SAVEPOINT
设置事务中的一个保存点,可以回滚到这个点。
SQL语言的设计宗旨是让用户不必关注数据在物理存储上的组织方式,只需要通过声明式的语句来表达他们想要执行的操作,数据库系统会解释这些语句并以最优的方式执行。
SQL语言是一种标准化语言,由ISO和ANSI维护,大多数关系型数据库管理系统(如MySQL, PostgreSQL, SQL Server, Oracle, SQLite等)都支持SQL,虽然在具体实现上各自有一些差异和扩展。
🚀一、SQL语言
🔎1.常见的DDL操作
DDL(数据定义语言)操作用于定义、修改或删除数据库的结构,包括创建、修改和删除数据库、表格、视图、索引等对象。以下是常见的DDL操作:
- CREATE DATABASE: 创建一个新的数据库。
CREATE DATABASE database_name;
- DROP DATABASE: 删除一个数据库。
DROP DATABASE database_name;
- CREATE TABLE: 创建一个新的表格。
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
...
);
- ALTER TABLE: 修改现有表格的结构,可以添加、修改或删除列。
ALTER TABLE table_name
ADD column_name datatype;
ALTER TABLE table_name
MODIFY column_name datatype;
ALTER TABLE table_name
DROP COLUMN column_name;
- DROP TABLE: 删除一个表格。
DROP TABLE table_name;
- CREATE INDEX: 在表格的列上创建索引,以加速查询。
CREATE INDEX index_name
ON table_name (column1, column2, ...);
- DROP INDEX: 删除一个索引。
DROP INDEX index_name;
- CREATE VIEW: 创建一个虚拟表格,基于现有的表格,可以用于简化复杂查询或隐藏敏感数据。
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
- DROP VIEW: 删除一个视图。
DROP VIEW view_name;
这些DDL操作是SQL中常见的一些操作,用于管理数据库的结构和对象。它们允许数据库管理员和开发人员定义和维护数据库的结构。
🔎2.常见的DML操作
DML(数据操纵语言)操作用于对数据库中的数据进行操纵,包括插入、更新、删除。以下是常见的DML操作:
- INSERT: 向数据库中插入新的数据行。
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
- UPDATE: 更新数据库中的数据行。
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
- DELETE: 从数据库中删除数据行。
DELETE FROM table_name
WHERE condition;
这些DML操作是对数据库中数据进行插入、更新和删除的基本操作。通过结合使用这些操作,可以对数据库进行有效的数据管理和操作。
🔎3.常见的DQL操作
DQL(数据查询语言)操作用于从数据库中检索数据,是SQL中最常见和重要的操作之一。以下是常见的DQL操作:
- SELECT: 从表格中检索数据行。
SELECT column1, column2, ...
FROM table_name;
- DISTINCT: 检索唯一不同的值。
SELECT DISTINCT column1, column2, ...
FROM table_name;
- WHERE: 指定检索条件。
SELECT column1, column2, ...
FROM table_name
WHERE condition;
- ORDER BY: 指定结果集的排序顺序。
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 ASC|DESC, column2 ASC|DESC, ...;
- GROUP BY: 将结果集按指定列分组。
SELECT column1, column2, aggregate_function(column3)
FROM table_name
GROUP BY column1, column2;
- HAVING: 指定对分组后的结果集的条件。
SELECT column1, column2, aggregate_function(column3)
FROM table_name
GROUP BY column1, column2
HAVING condition;
- LIMIT: 限制返回的行数。
SELECT column1, column2, ...
FROM table_name
LIMIT number_of_rows;
- OFFSET: 指定起始返回行的偏移量。
SELECT column1, column2, ...
FROM table_name
LIMIT number_of_rows OFFSET offset_value;
这些是常见的DQL(数据查询语言)操作,用于从数据库中检索数据并对其进行排序、筛选、聚合和限制。通过组合使用这些操作,可以实现复杂的数据查询和分析需求。
🔎4.常见的TCL操作
TCL(事务控制语言)操作用于管理数据库中的事务,包括提交事务、回滚事务和设置事务的保存点。以下是常见的TCL操作:
- COMMIT: 提交当前事务的所有更改,使它们永久生效。
COMMIT;
- ROLLBACK: 回滚当前事务的所有更改,使数据库恢复到事务开始之前的状态。
ROLLBACK;
- SAVEPOINT: 在当前事务中设置一个保存点,以便稍后可以回滚到该保存点。
SAVEPOINT savepoint_name;
- ROLLBACK TO SAVEPOINT: 将当前事务回滚到指定的保存点。
ROLLBACK TO SAVEPOINT savepoint_name;
- RELEASE SAVEPOINT: 删除指定的保存点,释放与其相关联的所有资源。
RELEASE SAVEPOINT savepoint_name;
这些TCL操作用于管理事务的提交、回滚和保存点,帮助确保数据库操作的一致性和完整性。
🔎5.常见的DCL操作
1. 创建用户(CREATE USER):用于创建新的数据库用户。
2. 删除用户(DROP USER):用于删除已存在的数据库用户。
3. 修改用户密码(ALTER USER):用于修改数据库用户的密码。
4. 授予权限(GRANT):用于为用户或角色授予对数据库对象的权限。
5. 撤销权限(REVOKE):用于撤销用户或角色已获得的对数据库对象的权限。
6. 创建角色(CREATE ROLE):用于创建新的数据库角色。
7. 删除角色(DROP ROLE):用于删除已存在的数据库角色。
8. 授予角色(GRANT ROLE):用于将角色授予给用户或其他角色。
9. 撤销角色(REVOKE ROLE):用于撤销用户或角色已获得的角色。
🔎6.其他的表操作
1.指定主键(primary key()):用于设置某个表的字段为主键。
2.指定外键(foreign key()):用于设置某个表的某个字段为外键,后面还需要接关联哪个表的主键字段。
🔎7.练习
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。
如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。
再次感谢您的阅读和支持!
最诚挚的问候, “愚公搬代码”
- 点赞
- 收藏
- 关注作者
评论(0)