肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富,建议收藏+三连好评!(一)

简介: 肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富,建议收藏+三连好评!

文章目录


前言

大家可能不习惯SQL大写的习惯,但是真正的规范就是要大写,所以大家要慢慢习惯我用大写的方式讲解。在下面所有的讲解中,我将会以基本语法,案例,联系形式讲解,从而加强对每一个语句的使用和认识。本篇文章是笔者整理了整整一个通宵才写出,希望大家三连好评,谢谢。当然,拥有本篇文章,你将会完全掌握mysql的所有命令使用,不再用去购买或者杂乱学习。本篇内容暂时讲解数据库的筛选部分,因为数据库的最初入门如创建,备份等都有讲过,魔法传送:传送门

该传送门内容有:

1.png

MYSQL 最重要的命令

SELECT 从数据库中提取数据
UPDATE  更新数据库中的数据
DELETE 从数据库中删除数据 
INSERT INTO 将新数据插入数据库
CREATE DATABASE 创建一个新的数据库
ALTER DATABASE  修改数据库
CREATE TABLE  创建一个新表
ALTER TABLE   修改表
DROP TABLE    删除表
CREATE INDEX  创建索引(搜索键)
DROP INDEX  删除索引

SELECT选择语句

该SELECT语句用于从数据库中选择数据。返回的数据存储在一个结果表中,称为结果集。

SELECT 语法:

SELECT column1, column2, ...

此处,column1、column2、… 是要从中选择数据的表的字段名称。如果要选择表中的所有可用字段,请使用以下语法:

SELECT * FROM table_name;

假设我们已经有一个数据库Customers如下:

1.png

SELECT 列示例

以下 SQL 语句从“Customers”表中选择“CustomerName”和“City”列:

SELECT CustomerName, City FROM Customers;

SELECT * 示例

以下 SQL 语句从“Customers”表中选择所有列:

SELECT * FROM Customers;

练习题:

1-获取Customers表中的所有列。

SELECT * FROM Customers;

2-编写一条语句,City从Customers表中选择列。

SELECT City FROM Customers;

3-从Customers表中的Country列中选择所有不同的值。(下面会讲,不懂没关系)

SELECT DISTINCT Country FROM Customers;

SELECT DISTINCT 选择不同语句

该SELECT DISTINCT语句仅用于返回不同(不同)的值。在表中,一列通常包含许多重复值;有时您只想列出不同的(不同的)值。

SELECT DISTINCT 语法

SELECT DISTINCT column1, column2, ...
FROM table_name;

我们还是假设有这样一个Customers数据库:

1.png

没有 DISTINCT 的 SELECT 示例

以下 SQL 语句从“Customers”表的“Country”列中选择所有(包括重复的)值:

SELECT Country FROM Customers;

SELECT DISTINCT 示例

SELECT DISTINCT Country FROM Customers;

以下 SQL 语句列出了不同(不同)客户国家/地区的数量:

SELECT COUNT(DISTINCT Country) FROM Customers;

练习:

1-从表中的Country列中选择所有不同的值Customers。

SELECT  DISTINC Country FROM Customers;

WHERE 查询定位 子句

该WHERE子句用于过滤记录。它用于仅提取满足指定条件的记录。

WHERE 语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;

注: 该WHERE条款不仅在使用 SELECT的语句,它也被用在UPDATE, DELETE等!

我们假设还是有Customers这样一个数据库如下:

1.png

WHERE 子句示例

以下 SQL 语句在“Customers”表中选择来自国家“Mexico”的所有客户:

SELECT * FROM Customers
WHERE Country='Mexico';

文本字段与数字字段

SQL 需要在文本值周围使用单引号(大多数数据库系统也允许双引号)。但是,数字字段不应包含在引号中:

SELECT * FROM Customers
WHERE CustomerID=1;

WHERE 子句中的运算符

可以在WHERE子句中使用以下运算符:

1.png

我们可以一一演示这些符号的使用,耐心学

假设我们有一下数据库叫做Product:

1.png

选取价格为18的所有产品(=)

SELECT * FROM Products
WHERE Price = 18;       

选取所有价格大于30的产品(>)

SELECT * FROM Products
WHERE Price > 30;

选取所有价格小于30的产品(<)

SELECT * FROM Products
WHERE Price < 30;

选取所有价格大于等于30的产品(>= )

SELECT * FROM Products
WHERE Price >= 30;

选取所有价格小于等于30的产品( <= )

SELECT * FROM Products
WHERE Price <= 30;

选取所有价格不等于18的产品(相当于!=)

SELECT * FROM Products
WHERE Price <> 18;

选取所有价格处于50和60之间的产品

SELECT * FROM Products
WHERE Price BETWEEN 50 AND 60;

从上面的Customers数据库搜索所有字母s开头的城市

SELECT * FROM Customers
WHERE City LIKE 's%';

从Customers数据库中查找所有在Paris和London的用户

SELECT * FROM Customers
WHERE City IN ('Paris','London');

以上便是对所有符号的演示。

我们再来一些练习加以巩固(我们用到的是上面的customers)

1-选择City列值为“Berlin”的所有记录。

SELECT * FROM Customers
WHERE City='Berlin';

2-使用NOT关键字选择City不是"Berlin"的所有记录。

SELECT * FROM Customers
WHERE NOT City ='Berlin';

3-选择CustomerID列值为 32 的所有记录。

SELECT * FROM Customers
WHERE CustomerID =12;

AND、OR 和 NOT 运算符

该WHERE子句可以结合 AND,OR和 NOT操作。在AND与OR操作用于基于多个条件筛选记录:

该AND操作显示一个记录,如果所有条件满足 AND 为真。

所述OR操作显示一个记录,如果任何一个条件满足OR为真。

该NOT操作显示,如果条件(S)是不正确的记录。

AND 语法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

OR语法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

NOT语法

SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

我们还是假设有如下“Customers”表:

1.png

AND 示例

以下 SQL 语句从Customers中选择国家为"Germany"且city为"Berlin"的所有字段:

SELECT * FROM Customers
WHERE Country='Germany' AND City='Berlin';

OR 示例

选取所有"Customers" 中city为"Berlin" OR “München”:

SELECT * FROM Customers
WHERE City='Berlin' OR City='München';

NOT 示例

从 “Customers” 选取country不是 "Germany"的字段:

SELECT * FROM Customers
WHERE NOT Country='Germany';

结合AND, OR and NOT

从"Customers" 中选择国家为"Germany"”且城市必须为"Berlin" OR "München"的所有字段(使用括号形成复杂的表达式):

SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München');

从 “Customers"中选择国家不是“Germany” 也不是"USA":的所有字段:

SELECT * FROM Customers
WHERE NOT Country='Germany' AND NOT Country='USA';

练习

选择 City 列值为 ‘Berlin’ 且 PostalCode 列值为 12209 的所有记录。

SELECT * FROM Customers
WHERE City = 'Berlin'
AND PostalCode= 12209;

ORDER BY 关键字

该ORDER BY关键字用于按升序或降序对结果集进行排序。ORDER BY默认情况下,关键字按升序对记录进行排序。要按降序对记录进行排序,请使用 DESC关键字。

ORDER BY 语法

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

我们还是假设有这个“Customers”表如下:

1.png

ORDER BY 示例

从“Customers”表中选择所有客户,按“Country”列排序:

SELECT * FROM Customers
ORDER BY Country;

ORDER BY DESC 示例

从“Customers”表中选择所有客户,按“Country”列按 DESCENDING 排序:

SELECT * FROM Customers
ORDER BY Country DESC;

ORDER BY 多列示例

从“Customers”表中选择所有客户,按“Country”和“CustomerName”列排序。这意味着它按国家/地区排序,但如果某些行具有相同的国家/地区,则按 CustomerName 排序:

SELECT * FROM Customers
ORDER BY Country, CustomerName;

从“Customers”表中选择所有客户,按“Country”升序和“CustomerName”列降序排序:

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;

练习

从Customers表中选择所有记录,按城市列的字母顺序对结果进行排序。

SELECT * FROM Customers
ORDER BY City;
相关文章
|
4月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
884 152
|
4月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
461 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
3月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
233 6
|
4月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
4月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
365 8
|
5月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
621 8
|
4月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
4月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
185 3
|
4月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
5月前
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。