前端也该知道,除了 select 、 from 、 where 之外的另外几个重要的数据库操作

1,781 阅读5分钟

本瓜最近要做 数据库的查询 相关工作,其中涉及到一些 SQL 操作。

由于自己的数据库知识还停留在大学时期,对仅存的 select 、 from 、 where 这几个关键字的印象,稍微复杂一点的操作就又要一直检索查。。。

于是,想着自己还是稍作梳理,把一些常见的查询数据库操作、和一些复杂一点的操作记录~


在前后端分离的大背景下,前端可能只熟悉各类 UI 库,数据都来源于后端处理好的接口,几乎很少接触数据库了。。

但实际上,数据库操作会训练数据库思维,数据库思维应该是每个编程开发人员都应该具备的,无论前端后端,好比:数学家对数字应该敏感,程序员应该对数据敏感。

如果说互联网基石是数据,那互联网未来是数据处理!

现在生成数据的成本太低,分析数据、提取有效数据的成本太高

image.png


select 、 from 、 where 这几个不说了。。。说些别的~

DISTINCT 也要认识

DISTINCT 关键字用于去除查询结果中的重复行。例如,在以下查询中:

SELECT column1, column2, column3
FROM table_name;

如果存在多行完全相同的数据,则这些行会在查询结果中都显示。

如果加上 DISTINCT 关键字,那么查询语句将变为:

SELECT DISTINCT column1, column2, column3
FROM table_name;

在这种情况下,查询结果中仅包含一行完全相同的数据。

请注意,使用 DISTINCT 关键字会影响查询性能,因此在使用时需要适当地考虑平衡查询结果的准确性和查询性能。

COUNT + DISTINCT

使用 COUNT 和 DISTINCT 操作符,可以统计数据表中某个字段的不同值的数量。例如,可以使用以下查询来统计 customers 表中 name 字段的不同值的数量:

SELECT COUNT(DISTINCT name)
FROM customers;

JOIN 更重要

JOIN 关键字是 SQL 中用于连接多个表的 重要 操作。它允许你把两个或多个表中的数据组合在一起,以便查询所需的数据。

这种连接方式通常是通过两个表中共同的字段来完成的,也就是说,在两个表中都具有相同值的列。这个字段被称为关联字段。

🌰举个例子

例如,如果你有两个表:

一个表存储 客户信息,另一个表存储 订单信息,并且客户信息表和订单信息表都包含客户 ID 字段,那么你可以使用 JOIN 操作将这两个表连接在一起,以便查询每个客户的所有订单。

customers 表:

customer_idnameaddress
1Alice123 Main St
2Bob456 Market St
3Eve789 Elm St

orders 表:

order_idcustomer_idorder_date
112020-01-01
222020-02-01
312020-03-01

然后,我们可以使用 JOIN 操作将这两个表连接在一起:

SELECT customers.name, orders.order_date
FROM customers
JOIN orders
ON customers.customer_id = orders.customer_id;

这个查询的结果如下:

nameorder_date
Alice2020-01-01
Alice2020-03-01
Bob2020-02-01

从上面的结果可以看到,这张合成表包含了客户的名称和对应的订单日期。

AND、OR 和 LIKE 筛选

AND、OR 和 LIKE,用于筛选特定的记录~

1、可以使用 AND 运算符来查找满足两个条件的记录,

延续之前的例子:例如查找订单日期在 2020 年 1 月 1 日之后,且客户名称为“张三”的记录:

SELECT customers.name, orders.order_date
FROM customers
JOIN orders
ON customers.customer_id = orders.customer_id
WHERE customers.name = '张三' AND orders.order_date > '2020-01-01';

2、使用 OR 运算符来查找满足任意一个条件的记录,

例如查找订单日期在 2020 年 1 月 1 日之后,或客户名称为“张三”的记录:

SELECT customers.name, orders.order_date
FROM customers
JOIN orders
ON customers.customer_id = orders.customer_id
WHERE customers.name = '张三' OR orders.order_date > '2020-01-01';

3、以及使用 LIKE 运算符来模糊查找满足指定条件的记录。

例如查找客户名称以“张”开头的记录:

SELECT customers.name, orders.order_date
FROM customers
JOIN orders
ON customers.customer_id = orders.customer_id
WHERE customers.name LIKE '张%';

因为查询的需求有时是:查询之后要创建一件新表来存,所以也有创建新表的需求等等;

CREATE AS 创建

使用 CREATE AS 操作,可以从现有的数据表中创建新的数据表,例如:

CREATE TABLE new_orders AS
SELECT *
FROM orders;

上面的操作会创建一个名为 new_orders 的新数据表,其中包含与 orders 表中所有字段相同的内容。

INSERT 插入

INSERT 操作用于在数据表中插入新的记录,例如,可以使用以下 INSERT 操作来向 customers 表中插入一条新记录:

INSERT INTO customers (name, address)
VALUES ('王五', '北京市朝阳区');

UPDATE SET 修改字段值

SET 操作用于更改数据表中的某个字段的值

UPDATE customers
SET name = '李四'
WHERE customer_id = 2;

DROP 删除字段

DROP 操作则用于删除数据表中的某个字段

ALTER TABLE customers
DROP COLUMN name;

暂且就这么多吧,足够全面、足够消化消化了,后面有空再补充~


OK,以上便是本篇分享,希望各位工友喜欢~ 欢迎点赞、收藏、评论 🤟

我是掘金安东尼 🤠 100 万人气前端技术博主 💥 INFP 写作人格坚持 1000 日更文 ✍ 关注我,安东尼陪你一起度过漫长编程岁月 🌏

😹 加我微信 ATAR53,拉你入群,定期抽奖、粉丝福利多多。只学习交友、不推文卖课~