肝通宵写了三万字把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;
目录
打赏
0
0
0
0
19
分享
相关文章
数据库数据恢复—SQL Server报错“错误 823”的数据恢复案例
SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份不可用,那么就需要通过专业手段对数据库进行数据恢复。
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
80 9
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
132 6
使用访问指导(SQL Access Advisor)优化数据库业务负载
本文介绍了Oracle的SQL访问指导(SQL Access Advisor)的应用场景及其使用方法。访问指导通过分析给定的工作负载,提供索引、物化视图和分区等方面的优化建议,帮助DBA提升数据库性能。具体步骤包括创建访问指导任务、创建工作负载、连接工作负载至访问指导、设置任务参数、运行访问指导、查看和应用优化建议。访问指导不仅针对单条SQL语句,还能综合考虑多条SQL语句的优化效果,为DBA提供全面的决策支持。
103 11
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
SQL Servers审核提高数据库安全性
SQL Server审核是一种追踪和审查SQL Server上所有活动的机制,旨在检测潜在威胁和漏洞,监控服务器设置的更改。审核日志记录安全问题和数据泄露的详细信息,帮助管理员追踪数据库中的特定活动,确保数据安全和合规性。SQL Server审核分为服务器级和数据库级,涵盖登录、配置变更和数据操作等事件。审核工具如EventLog Analyzer提供实时监控和即时告警,帮助快速响应安全事件。
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
8月前
|
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
192 13

热门文章

最新文章