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

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

本瓜最近要做 数据库的查询 相关工作,其中涉及到一些 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_id name address
1 Alice 123 Main St
2 Bob 456 Market St
3 Eve 789 Elm St

orders 表:

order_id customer_id order_date
1 1 2020-01-01
2 2 2020-02-01
3 1 2020-03-01


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

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


这个查询的结果如下:

name order_date
Alice 2020-01-01
Alice 2020-03-01
Bob 2020-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;


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


相关文章
|
4月前
|
前端开发 关系型数据库 MySQL
【前端学java】MySQL数据库的本地安装
【8月更文挑战第12天】MySQL数据库的本地安装
49 3
|
6月前
|
存储 前端开发 小程序
表白墙完善(数据库,前端,后端Servlet),再谈Cookie和Session。以及一个关于Cookie的练习小程序
表白墙完善(数据库,前端,后端Servlet),再谈Cookie和Session。以及一个关于Cookie的练习小程序
|
2月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
2月前
|
存储 NoSQL 前端开发
前端轻量级数据库mongodb
【10月更文挑战第2天】MongoDB 是一个基于分布式文件存储的开源数据库系统,不属于前端轻量级数据库,而是后端数据库。它使用 BSON 格式存储数据,支持复杂的数据结构,适用于内容管理系统、物联网等领域。MongoDB 通过动态模式和面向对象的数据存储方式,提供了灵活的数据模型。在 Web 应用中,它通常作为后端存储,通过 API 与前端交互,实现高效的数据管理和实时更新。
|
3月前
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
4月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
306 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
4月前
|
数据采集 数据可视化 关系型数据库
【优秀python web设计】基于Python flask的猫眼电影可视化系统,可视化用echart,前端Layui,数据库用MySQL,包括爬虫
本文介绍了一个基于Python Flask框架、MySQL数据库和Layui前端框架的猫眼电影数据采集分析与可视化系统,该系统通过爬虫技术采集电影数据,利用数据分析库进行处理,并使用Echart进行数据的可视化展示,以提供全面、准确的电影市场分析结果。
158 4
|
4月前
|
数据采集 前端开发 算法
基于朴素贝叶斯算法的新闻类型预测,django框架开发,前端bootstrap,有爬虫有数据库
本文介绍了一个基于Django框架和朴素贝叶斯算法开发的新闻类型预测系统,该系统具备用户登录注册、后台管理、数据展示、新闻分类分布分析、新闻数量排名和新闻标题预测等功能,旨在提高新闻处理效率和个性化推荐服务。
|
4月前
|
存储 前端开发 关系型数据库
Linux 技术架构:前端、后端与数据库的完美融合
【8月更文挑战第25天】本文深入剖析了Linux操作系统的技术架构,重点介绍了前端、后端及数据库三大核心组成部分。Linux前端技术不仅涵盖了图形用户界面(GUI),包括GNOME、KDE等桌面环境,还涉及HTML、CSS、JavaScript等Web前端技术及其相关框架。后端技术则聚焦于Python、Java等多种编程语言、Apache和Nginx等Web服务器以及MySQL、PostgreSQL等数据库管理系统。Linux数据库技术覆盖了关系型和非关系型数据库,如MySQL、MongoDB等,并提供了多种数据库管理工具。
120 0
|
4月前
|
运维 前端开发 Serverless
中后台前端开发问题之降低数据库使用门槛和运维成本如何解决
中后台前端开发问题之降低数据库使用门槛和运维成本如何解决
36 0