用好这13条SQL语句,就能解决90%的问题(下)

数据科学中90%的任务,可以借助这13条SQL语句解决。

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

结构化查询语言 (SQL) 是一种用于管理和操作关系数据库的编程语言。它被数据分析师和数据科学家广泛用于从大型数据集中提取见解。

SQL 是一种强大的工具,可用于执行各种数据操作任务,包括过滤、排序、分组和聚合数据。本文将介绍 13 个基本 SQL 语句,它们将帮助您执行 90% 的数据科学任务。这些语句易于理解和实现,将为您使用 SQL 打下坚实的基础。

无论您是 SQL 的新手还是有一定的使用经验,本文都将为您提供处理数据的宝贵见解和实用技巧。

7.UNION

在 SQL 中,UNION运算符用于将两个或多个 SELECT 语句的结果组合成一个结果集。SELECT语句必须具有相同的列数,并且列必须具有兼容的数据类型。重复的行会自动从结果集中删除。

下面是在 SQL 中使用 UNION 运算符的示例:

假设我们有两个名为“customers”和“employees”的表,都有“name”和“city”列。我们想创建一个包含所有居住在纽约市的人(包括客户和员工)的列表。我们可以使用 UNION 运算符来组合两个 SELECT 语句的结果:

SELECT name, city 
FROM customers 
WHERE city =  'New York' 
UNION 
SELECT name, city 
FROM employees 
WHERE city =  'New York' ;

此查询将返回居住在纽约市的所有人的列表,包括客户和员工。第一个 SELECT 语句检索居住在纽约市的所有客户,第二个 SELECT 语句检索居住在纽约市的所有员工。UNION 运算符组合这两个 SELECT 语句的结果并删除任何重复的行。

查询的输出结果如下所示:

name        | city| city
-------------------
John Smith  | New York
Jane Doe    | New York
Bob Johnson | New York
Samantha Lee| New York

在这个例子中,可以看到有四个人住在纽约市,两个来自“customers”表,两个来自“employees”表,UNION 运算符将两个 SELECT 语句的结果组合成一个单个结果集。

8. CREATE

CREATE 语句用于创建新的数据库表、视图或其他数据库对象。你应该掌握使用 CREATE 创建新表、视图和其他数据库对象的方法。下面是在 SQL 中使用CREATE 语句的示例:

假设我们要创建一个名为“customers”的新表,其中包含“id”、“name”、“email”和“phone”列。我们可以使用 CREATE 语句来做到这一点:

CREATE TABLE customers (id INT PRIMARY KEY,name VARCHAR(50),email VARCHAR(100),phone VARCHAR(20)
);

此查询将创建一个名为“customers”的新表,其中包含四列:“id”、“name”、“email”和“phone”。“id”列被定义为一个整数,并被设置为表的主键。“name”列定义为最大长度为 50 个字符的字符串,“email”和“phone”列也分别定义为最大长度为 100 和 20 个字符的字符串。

执行查询后,我们可以将新行插入“customers”表并从中检索数据:

INSERT INTO customers (id, name, email, phone)
VALUES (1, 'John Doe', 'johndoe@example.com', '555-555-1234');
SELECT * FROM customers;

此查询将在“customers”表中插入一个新行,ID 为 1,姓名为“John Doe”,电子邮件为“ johndoe@example.com ”,电话号码为“555–555–1234” . 第二个查询将从“customers”表中检索所有行,其中包括我们刚刚插入的新行:

id | name     | email                | phone
--------------------------------------------
1  | John Doe | johndoe@example.com | 555-555-1234

在这个例子中,我们使用CREATE语句在数据库中创建了一个新表,并在表中插入了一条新行。

9. INSERT 

插入 INSERT 语句用于将数据插入数据库表。你应该掌握使用 INSERT 向数据库表中添加新数据。下面是在 SQL 中使用 INSERT 语句的示例:

假设我们有一个名为“students”的表,其中包含“id”、“name”、“major”和“gpa”列。我们想在表中插入一个新行,记录 ID 为 1234、姓名为“John Doe”、主修“计算机科学”且 GPA 为 3.5 的学生。我们可以使用 INSERT 语句来做到这一点:

INSERT INTO students (id, name, major, gpa)
VALUES (1234, 'John Doe', 'Computer Science', 3.5);

此查询将向“students”表中插入一个新行,其中包含“id”、“name”、“major”和“gpa”列的指定值。INSERT 语句指定我们要插入的表的名称,后面是我们要插入值的列列表。然后我们使用 VALUES 关键字来指定我们想要插入到每一列中的值,按照列的列出顺序。

执行查询后,“students”表将有一个包含以下值的新行:

id   | name      | major            | gpa
-----------------------------------------
1234 | John Doe | Computer Science | 3.5

在这个例子中,我们使用INSERT语句在 "学生 "表中插入了一条新行。

10.UPDATE

更新 UPDATE语句用于修改数据库表中的现有数据。你应该掌握使用 UPDATE 来更新表中一个或多个列的值。以下是在 SQL 中使用UPDATE语句的示例:

假设我们有一个名为“students”的表,其中包含“id”、“name”、“major”和“gpa”列。我们想更新 ID 为 1234 的学生的专业和 GPA。我们可以使用UPDATE语句来执行此操作:

UPDATE students
SET major = 'Mathematics', gpa = 3.7
WHERE id = 1234;

此查询将更新 ID 为 1234 的“students”表中行的“major”和“gpa”列。UPDATE 语句指定我们要更新的表的名称,然后是 SET 关键字和列表,以及要更新的列值对。然后,我们使用 WHERE 子句指定要更新的行。在本例中,我们想要更新 ID 为 1234 的行,因此我们指定“WHERE id = 1234”。

执行查询后,“students”表将在 ID 为 1234 的行中更新“major”和“gpa”列的值:

id   | name      | major        | gpa
--------------------------------------
1234 | John Doe | Mathematics | 3.7

在这个例子中,我们使用UPDATE语句更新了 "students"表中某一行的 "专业 "和 "gpa "列。

11.DELETE

删除 DELETE 语句用于从数据库表中删除一行或多行。你应该掌握使用DELETE从表中删除数据的方法。下面是在 SQL 中使用DELETE语句的示例:

假设我们有一个名为“students”的表,其中包含“id”、“name”、“major”和“gpa”列。我们想从表中删除 ID 为 1234 的学生。我们可以使用DELETE语句来做到这一点:

从id = 1234的学生中删除;

DELETE FROM students
WHERE id = 1234;

此查询将从“students”表中删除 ID 为 1234 的行。DELETE语句指定我们要从中删除的表的名称, WHERE 子句用于指定要删除的行。在本例中,我们要删除 ID 为 1234 的行,因此我们指定“WHERE id = 1234”。

执行查询后,“students”表将不再有 ID 为 1234 的行:

id   | name      | major        | gpa
--------------------------------------
5678 | Jane Doe | Computer Science | 3.5

在这个例子中,我们使用DELETE语句从"students"表中删除了一条记录。

12.DROP

删除DROP 语句用于删除数据库表或其他数据库对象。你应该掌握使用 DROP 从数据库中删除不必要的表或其他对象。DROP 语句的语法因被删除对象的类型而异,一些常见的示例如下所示:

  1. DROP TABLE:此语句用于删除现有表及其所有数据和索引。DROP TABLE 语句的语法是:

DROP TABLE table_name;

2. DROP INDEX:该语句用于从表中删除现有索引。DROP INDEX 语句的语法是:

DROP INDEX index_name ON table_name;

3. DROP VIEW:该语句用于删除现有视图。DROP VIEW 语句的语法是:

DROP VIEW view_name;

4. DROP PROCEDURE:该语句用于删除一个现有的存储过程。DROP PROCEDURE 语句的语法是:

DROP PROCEDURE procedure_name;

请注意,DROP 语句的确切语法可能因所使用的特定数据库管理系统 (DBMS) 而异。此外,在使用 DROP 语句时要小心,因为它会永久删除指定的对象以及所有关联的数据和索引。请确保在使用 DROP 语句之前备份你的数据。

13.ALTER

改变 ALTER语句用于修改数据库表或其他数据库对象的结构。你应该掌握使用 ALTER 添加或删除列、更改数据类型或修改表的其他方面。ALTER 语句的语法因被修改对象的类型而异,但一些常见的示例是:

  1. ALTER TABLE:该语句用于修改现有表的结构,例如添加或删除列、更改数据类型或设置约束。ALTER TABLE 语句的语法是:

ALTER TABLE table_name
ADD column_name data_type [constraint],
MODIFY column_name data_type [constraint],
DROP column_name,
ADD CONSTRAINT constraint_name constraint_definition,
DROP CONSTRAINT constraint_name;

2. ALTER INDEX:该语句用于修改现有索引的结构,例如添加或删除列或更改索引类型。ALTER INDEX 语句的语法是:

ALTER INDEX index_name
ADD column_name,
DROP column_name;

3. ALTER VIEW:此语句用于修改现有视图的定义,例如更改用于创建它的SELECT 语句。ALTER VIEW 语句的语法是:

ALTER VIEW view_name
AS select_statement;

请注意,ALTER 语句的确切语法和窗口函数的语法可能因所使用的特定数据库管理系统 (DBMS) 而异。

推荐书单

《MySQL从入门到精通(第2版)》

 《MySQL从入门到精通(第2版)/软件开发视频大讲堂》从初学者角度出发,通过通俗易懂的语言和丰富多彩的实例,详细介绍了MySQL开发需要掌握的各方面技术。

《MySQL从入门到精通(第2版)/软件开发视频大讲堂》共分为4篇24章,包括数据库基础,初识MySQL,使用MySQL图形化管理工具,数据库操作,存储引擎及数据类型,数据表操作,MySQL基础,表数据的增、删、改操作,数据查询,常用函数,索引,视图,数据完整性约束,存储过程与存储函数,触发器,事务,事件,备份与恢复,MySQL性能优化,权限管理及安全控制,PHP管理MySQL数据库中的数据,PHP+MySQL实现物流配送信息网,Python+MySQL实现在线学习笔记,Struts2+Spring+Hibemate+MySQL实现网络商城等内容。所有知识都结合具体实例进行介绍,涉及的程序代码也给出了详细的注释,可以使读者轻松领会MySQL的精髓,快速提高开发技能。

《MySQL从入门到精通(第2版)/软件开发视频大讲堂》【摘要 书评 试读】- 京东图书京东JD.COM图书频道为您提供《MySQL从入门到精通(第2版)/软件开发视频大讲堂》在线选购,本书作者:明日科技,出版社:清华大学出版社。买图书,到京东。网购图书,享受最低优惠折扣!icon-default.png?t=N4P3https://item.jd.com/12973639.html

精彩回顾

用好这13条SQL语句,就能解决90%的问题(上)

《事半功倍,使用ChatGPT编写Python函数》

超快速,使用ChatGPT编写回归和分类算法

《如虎添翼,将ChatGPT和Python结合起来!》

《ChatGPT优化Python代码的小技巧》

《使用ChatGPT提升Python编程效率》 

微信搜索关注《Python学研大本营》

访问【IT今日热榜】,发现每日技术热点


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部