【MySQL】SQL菜鸟教程(一)

news2025/1/13 8:20:27

1.常见命令

1.1 总览

在这里插入图片描述

命令作用
SELECT从数据库中提取数据
UPDATE更新数据库中的数据
DELETE从数据库中删除数据
INSERT INTO向数据库中插入新数据
CREATE DATABASE创建新数据库
ALTER DATABASE修改数据库
CREATE TABLE创建新表
ALTER TABLE变更数据表
DROP TABLE删除表
CREATE INDEX创建索引
DROP INDEX删除索引

1.2 常用语法

  • SELECT:用于从数据库中查询数据
SELECT column_name
FROM table_name
WHERE condition
ORDER BY column_name ASC/DESC

column_name(s): 要查询的列。
table_name: 要查询的表。
condition: 查询条件(可选)。
ORDER BY: 排序方式,ASC 表示升序,DESC 表示降序(可选)。

  • INSERT INTO:用于向数据库表中插入新数据
INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2, ...)

table_name: 要插入数据的表。
column1, column2, …: 要插入数据的列。
value1, value2, …: 对应列的值。

  • UPDATE:用于更新数据库表中现有数据
UPDATE table_name
SET  column1 = value1, column2 = value2,..
WHERE condition

table_name: 要更新数据的表。
column1 = value1, column2 = value2, …: 要更新的列及其新值。
condition: 更新条件。

  • DELETE:用于从数据库表中删除数据
DELETE FROM table_name
WHERE condition

table_name: 要删除数据的表。
condition: 删除条件。

  • CREATE TABLE:用于创建新的数据库表
CREATE TABLE table_name(
	column1 data_type constraint,
	column2 data_type constraint,
	....)

table_name: 要创建的表名。
column1, column2, …: 表的列。
data_type: 列的数据类型(如 INT、VARCHAR 等)。
constraint: 列的约束(如 PRIMARY KEY、NOT NULL 等)。

  • ALTER TABLE:用于修改现有的数据库表的结构
ALTER TABLE table_name
ADD column_name1 data_type

ALTER TABLE table_name
DROP COLUMN column_name2

table_name: 要修改的表。
column_name1: 要添加的列。
data_type: 列的数据类型。
column_name2: 要删除的列。

  • DROP TABLE:用于删除数据库表
DROP TABLE table_name

table_name: 要删除的表

  • CREATE INDEX:用于创建索引,以加快查询速度
CREATE INDEX index_name
ON table_name (column_name)

index_name: 索引名
table_name:创建的表
column_name: 表中要索引的列

  • DROP INDEX:用于删除索引
DROP INDEX index_name
ON table_name 

index_name: 要删除的索引名
table_name:索引所在的表

  • WHERE:用于指定筛选条件
SELECT column_name
FROM table_name
WHERE condition

condition:筛选条件

  • ORDER BY:用于对结果集进行排序
SELECT column_name
FROM table_name
ORDER BY column_name ASC/DESC

column_name : 用于排序的列
ASC : 升序(默认,什么都不写的话就是升序)
DESC :降序

  • GROUP BY:用于将结果按一列或者多列进行分组
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE condition
GROUP BY column_name

aggregate_function: 聚合函数(如 COUNT、SUM、AVG 等)

  • HAVING:用于对分组后的结果进行筛选
SELECT column_name, aggregate_function(column_name)
FROM table_name
GROUP BY column_name
HAVING condition

condition:筛选条件

  • JOIN:用于将两个或多个表的记录结合起来
SELECT column_name 
FROM table_name1
JOIN table_name2
ON table_name1.column_name = table_name2.column_name

JOIN: 可以是 INNER JOIN、LEFT JOIN、RIGHT JOIN 或 FULL JOIN。

  • DISTINCT:用于返回唯一不同的值
SELECT DISTINCT column_name 
FROM table_name

column_name(s): 要查询的列。

2.SELECT

2.1 语法

SELECT  column_name 1, column_name 2
FROM table_name

#OR
SELECT * FROM table_name

参数说明:

  • column1, column2, …:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
  • table_name:要查询的表名称。
  • *: 通配符,表示选择表中的所有列。

2.2 示例

Websites表:

idnameurlalexacountry
1Googlehttps://www.google.cm/1USA
2淘宝https://www.taobao.com/13CN
3菜鸟教程http://www.runoob.com/4689CN
4微博http://weibo.com/20CN
5Facebookhttps://www.facebook.com/3USA

1.从 “Websites” 表中选取 “name” 和 “country” 列:

SELECT name, country
FROM Websites

在这里插入图片描述

2.从 “Websites” 表中选取所有列:

SELECT * FROM Websites

在这里插入图片描述

3.SELECT DISTINCT

在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

DISTINCT 关键词用于返回唯一不同的值。

3.1 语法

SELECT  DISTINCT column_name 1, column_name 2
FROM table_name

参数说明:

  • column1, column2, …:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
  • table_name:要查询的表名称。

3.2 示例

Websites表:

idnameurlalexacountry
1Googlehttps://www.google.cm/1USA
2淘宝https://www.taobao.com/13CN
3菜鸟教程http://www.runoob.com/4689CN
4微博http://weibo.com/20CN
5Facebookhttps://www.facebook.com/3USA

1.从 “Websites” 表的 “country” 列中选取唯一不同的值,也就是去掉 “country” 列重复值:

SELECT DISTINCT  country
FROM Websites

在这里插入图片描述

4.WHERE

WHERE 子句用于提取那些满足指定条件的记录。

4.1 语法

SELECT  column_name 1, column_name 2
FROM table_name
WHERE condition

参数说明:

  • column1, column2, …:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
  • table_name:要查询的表名称。
  • condition: 筛选条件

4.2 WHERE 中的运算符

运算符含义
=等于
!= / <>不等于
>大于
<小于
>=大于等于
<=小于等于
AND组合多个逻辑,与
OR逻辑,或
NOT逻辑,非
BETWEEN …AND…在某个范围之内
LIKE搜索某种模式吗,模糊查询
IN指定针对某个列的多个可能值
IS NULL检查是否为空
IS NOT NULL检查是否不为空

4.3 示例

Websites表:

idnameurlalexacountry
1Googlehttps://www.google.cm/1USA
2淘宝https://www.taobao.com/13CN
3菜鸟教程http://www.runoob.com/4689CN
4微博http://weibo.com/20CN
5Facebookhttps://www.facebook.com/3USA

1.从 “Websites” 表中选取国家为 “CN” 的所有网站:

SELECT  url
FROM Websites
WHERE country = 'CN'

在这里插入图片描述

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。在上个实例中 ‘CN’ 文本字段使用了单引号。如果是数值字段,请不要使用引号。

2.从 “Websites” 表中选取id为 “1” 的网站:

SELECT  url
FROM Websites
WHERE id = 1

在这里插入图片描述
3.匹配列表中的任意值(IN)

SELECT  *
FROM Employees
WHERE Department IN ('HR', 'IT', 'Finance')

4.模糊匹配(LIKE)支持通配符 %(任意多个字符)和 _(单个字符)

SELECT  *  FROM Employees   WHERE Name LIKE ‘J%’     	-- 以J开头的名字
SELECT  *  FROM Employees   WHERE Name LIKE ‘%son’		-- 以son结尾的名字
SELECT  *  FROM Employees   WHERE Name LIKE ‘_o%’		-- 第二个字符是o的名字

5.ORDER BY

ORDER BY 关键字用于对结果集进行排序。默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

5.1 语法

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

参数说明:

  • column1, column2, …:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
  • table_name:要查询的表名称。
  • ASC: 按升序排序(默认)
  • DESC: 按降序排序

5.2 示例

Websites表:

idnameurlalexacountry
1Googlehttps://www.google.cm/1USA
2淘宝https://www.taobao.com/13CN
3菜鸟教程http://www.runoob.com/4689CN
4微博http://weibo.com/20CN
5Facebookhttps://www.facebook.com/3USA

1.从 “Websites” 表中选取所有网站,并按照 “alexa” 列排序:

SELECT  *
FROM Websites
ORDER BY alexa

在这里插入图片描述
2.从 “Websites” 表中选取所有网站,并按照 “alexa” 列降序排序:

SELECT  *
FROM Websites
ORDER BY alexa DESC

在这里插入图片描述
3.从 “Websites” 表中选取所有网站,并按照 “country” 和 “alexa” 列排序:

SELECT  *
FROM Websites
ORDER BY country, alexa

在这里插入图片描述

6.INSERT INTO

INSERT INTO 语句用于向表中插入新记录。

6.1 语法

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

第二种形式需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

参数说明:

  • column1, column2, …:要插入的字段名称
  • table_name:要查询的表名称。
  • value1, value2, …:需要插入的字段值。

6.2 示例

Websites表:

idnameurlalexacountry
1Googlehttps://www.google.cm/1USA
2淘宝https://www.taobao.com/13CN
3菜鸟教程http://www.runoob.com/4689CN
4微博http://weibo.com/20CN
5Facebookhttps://www.facebook.com/3USA

1.向 “Websites” 表中插入一个新行。

INSERT INTO Websites (name, url, alexa, country)
VALUES ('百度', 'https://www.baidu.com/','4','CN');

在这里插入图片描述
2.在指定的列插入数据,将插入一个新行,但是只在 “name”、“url” 和 “country” 列插入数据(id 字段会自动更新):

INSERT INTO Websites (name, url, country)
VALUES ('stackoverflow', 'http://stackoverflow.com/', 'IND');

在这里插入图片描述

没有添加的列会自动填充为0

7.UPDATE

UPDATE 语句用于更新表中已存在的记录。

7.1 语法

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition

参数说明:

  • column1, column2, …:要修改的字段名称
  • table_name:要修改的表名称。
  • value1, value2, …:需要修改的字段值。
  • condition:修改条件,用于指定哪些数据要修改。

7.2 示例

Websites表:

idnameurlalexacountry
1Googlehttps://www.google.cm/1USA
2淘宝https://www.taobao.com/13CN
3菜鸟教程http://www.runoob.com/4689CN
4微博http://weibo.com/20CN
5Facebookhttps://www.facebook.com/3USA

1.把 “菜鸟教程” 的 alexa 排名更新为 5000,country 改为 USA。

UPDATE Websites
SET alexa = '5000', country = 'USA'
WHERE name = '菜鸟教程'

在这里插入图片描述

8.DELETE

DELETE 语句用于删除表中的记录。

7.1 语法

DELETE FROM table_name
WHERE condition;

参数说明:

  • table_name:要删除的表名称。
  • condition:删除条件,用于指定哪些数据要删除。

7.2 示例

Websites表:

idnameurlalexacountry
1Googlehttps://www.google.cm/1USA
2淘宝https://www.taobao.com/13CN
3菜鸟教程http://www.runoob.com/4689CN
4微博http://weibo.com/20CN
5Facebookhttps://www.facebook.com/3USA

1.从 “Websites” 表中删除网站名为 “Facebook” 且国家为 USA 的网站。

DELETE FROM Websites
WHERE name = 'Facebook' AND country = 'USA'

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2275887.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker 自建rustdesk服务器测试

参考https://blog.csdn.net/tootsy_you/article/details/130010564 注意&#xff1a; docker-compose.yml version: 3networks:rustdesk-net:external: falseservices:hbbs:container_name: hbbsports:- 21115:21115- 21116:21116- 21116:21116/udp- 21118:21118image: rust…

检验统计量与p值笔记

一、背景 以雨量数据为例&#xff0c;当获得一个站点一年的日雨量数据后&#xff0c;我们需要估计该站点的雨量的概率分布情况&#xff0c;因此我们利用有参估计的方式如极大似然法估计得到了假定该随机变量服从某一分布的参数&#xff0c;从而得到该站点的概率密度函数&#x…

每日十题八股-2025年1月12日

1.为什么四次挥手之后要等2MSL? 2.服务端出现大量的timewait有哪些原因? 3.TCP和UDP区别是什么&#xff1f; 4.TCP为什么可靠传输 5.怎么用udp实现http&#xff1f; 6.tcp粘包怎么解决&#xff1f; 7.TCP的拥塞控制介绍一下&#xff1f; 8.描述一下打开百度首页后发生的网络过…

制造企业“数字化转型”典型场景参考

聚焦产业链上下游企业研发设计、生产制造、运维服务、经营管理、供应链管理等场景&#xff0c;以场景为切入点梳理数字化转型痛点需求&#xff0c;绘制重点行业、重点产业链数字化转型场景图谱&#xff08;简称“一图谱”&#xff09;&#xff0c;明确企业数字化转型路径&#…

Web渗透测试之XSS跨站脚本 防御[WAF]绕过手法

目录 XSS防御绕过汇总 参考这篇文章绕过 XSS payload XSS防御绕过汇总 服务端知道有网络攻击或者xss攻 Html

《机器学习》——sklearn库中CountVectorizer方法(词频矩阵)

CountVectorizer方法介绍 CountVectorizer 是 scikit-learn 库中的一个工具&#xff0c;它主要用于将文本数据转换为词频矩阵&#xff0c;而不是传统意义上的词向量转换&#xff0c;但可以作为词向量转换的一种基础形式。用于将文本数据转换为词频矩阵&#xff0c;它是文本特征…

session-manager-plugin: command not found 解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Linux之读者写者模型与特殊锁的学习

目录 读者写者模型 特殊锁 悲观锁 自旋锁 在前几期&#xff0c;我们学习了多线程的生产者和消费者模型&#xff0c;生产者和消费者模型中&#xff0c;有三种关系&#xff0c;两个角色&#xff0c;一个场所&#xff0c;那么读者写者模型和生产者消费者模型有什么关联吗&…

期刊(中英),期刊分区,期刊所在数据库(中英),出版商区别和联系

目录 对期刊、分区、数据库、出版商整体了解期刊&#xff08;中英&#xff09;期刊分区期刊所在数据库总结 出版商 对期刊、分区、数据库、出版商整体了解 下图是我对这四部分的一个理解&#xff0c;其中期刊根据论文使用语言分为中英两种&#xff0c;期刊分区是用来评判论文质…

数学函数的参数和返回值探秘

数学函数的参数和返回值探秘 一、数学函数的参数1.1 隐式类型转换1.2 隐式类型转换的秘密 二、数学函数的返回值 本文所说的数学函数单指<math.h>中的系统函数&#xff0c;这些函数对参数和返回值的要求与其他类函数是有一点不同的。尤其是参数部分&#xff0c;是有值得深…

炸砖块游戏的最终图案

描述 小红正在玩一个“炸砖块”游戏,游戏的规则如下:初始有一个 n * m 的砖块矩阵。小红会炸 k 次,每次会向一个位置投炸弹,如果这个位置有一个砖块,则砖块消失,上方的砖块向下落。小红希望你画出最终砖块的图案。 输入描述 第一行输入三个正整数 n, m, k,代表矩阵的行…

代码随想录算法训练营第 4 天(链表 2)| 24. 两两交换链表中的节点19.删除链表的倒数第N个节点 -

一、24. 两两交换链表中的节点 题目&#xff1a;24. 两两交换链表中的节点 - 力扣&#xff08;LeetCode&#xff09; 视频&#xff1a;帮你把链表细节学清楚&#xff01; | LeetCode&#xff1a;24. 两两交换链表中的节点_哔哩哔哩_bilibili 讲解&#xff1a;代码随想录 dummy-…

【微服务】面试题 5、分布式系统理论:CAP 与 BASE 详解

分布式系统理论&#xff1a;CAP 与 BASE 详解 一、CAP 定理 背景与定义&#xff1a;1998 年由加州大学科学家埃里克布鲁尔提出&#xff0c;分布式系统存在一致性&#xff08;Consistency&#xff09;、可用性&#xff08;Availability&#xff09;、分区容错性&#xff08;Part…

【网络】:网络编程套接字

目录 源IP地址和目的IP地址 源MAC地址和目的MAC地址 源端口号和目的端口号 端口号 VS 进程ID TCP协议和UDP协议 网络字节序 字符串IP和整数IP相互转换 查看当前网络的状态 socket编程接口 socket常见API 创建套接字 绑定端口号 发送数据 接收数据 sockaddr结构…

UnityDemo-TheBrave-制作笔记

这是我跟着b站up主MStudio的视频学习制作的&#xff0c;大体上没有去做一些更新的东西&#xff0c;这里只是一个总的总结。在文章的最后&#xff0c;我会放上可以游玩该游戏的链接和exe可执行文件&#xff0c;不过没有对游戏内容进行什么加工&#xff0c;只有基本的功能实现罢了…

力扣经典二分题:4. 寻找两个正序数组的中位数

题目链接&#xff1a;4. 寻找两个正序数组的中位数 - 力扣&#xff08;LeetCode&#xff09; 一、题目分析 这道题目是让我们在 两个正序的数组中寻找中位数已知两个数组的大小分别是&#xff1a;int m nums1.size(),n nums2.size();中位数性质1&#xff1a;中位数左侧元素 …

C++ 文字识别OCR

一.引言 文字识别&#xff0c;也称为光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;是一种将不同形式的文档&#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片&#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技…

SpringBoot:SaToken的options预检请求鉴权失败

问题描述 使用如下sa-token配置&#xff0c;前端通过IP端口号的方式访问后端服务&#xff0c;会存在options预检请求鉴权失败的问题。 问题分析 http-options请求 HTTP OPTIONS 方法请求给定的 URL 或服务器的允许通信选项。客户端可以用这个方法指定一个 URL&#xff0c;或者…

UE材质函数

材质函数是可在不同材质中重复使用的材质表达式的一个集合 相当于把常用的功能封装到一个集合里&#xff0c;需要用到的时候调用 输入input可以添加输入节点 如果勾上公开到库&#xff0c;就可以在材质面板直接搜索到材质函数 材质函数可以直接做成一个输出

51c~Pytorch~合集5

我自己的原文哦~ https://blog.51cto.com/whaosoft/13059544 一、PyTorch DDP 正在郁闷呢 jetson nx 的torchvision安装~~ 自带就剩5g 想弄到ssd 项目中的 venv中又 cuda.h没有... 明明已经装好什么都对 算了说今天主题 啊对 还是搬运啊 学习之工具人而已 勿怪 Distrib…