MySQL基础篇
一、MySQL概述
MySQL是一个数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle推出的产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(关系数据库管理系统) ,关系数据库管理系统)应用软件之一。
MySQL是一种关系型数据库管理系统,数据库将数据保存在不同速度的表中,而不是仅仅将所有数据放在一个大关系仓库内,这样就增加了并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库最常用的标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一点,特点是一般中小型和大型网站的开发都选择MySQL作为网站数据库。
二、SQL及其分类
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
分类:
| 分类 | 全称 | 说明 |
| DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
| DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
| DQL | Data QueryLanguage | 数据查询语言,用来查询数据库中表的记录 |
| DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
三、下载以及安装MySQL
官网下载:Mysql官网,我们下载一个社区版就够用了

安装完成后配置环境变量后直接登录:

登录之后即可进行一些操作
如下:查看所有的数据库:

等操作,后面会一起讲解一些命令
上面讲到了MySQL数据库管理系统,简而言之其是用来管理数据库的,而MySQL又是通过什么方式来管理数据库的呢,答案是通过SQL语言,通过SQL语句进行增删改查等操作,下面进一步讲解说明SQL语句:
在操作MySQL时常用命令:
DDL操作数据库:
#查询所有数据库
SHOW DATABASES ;
#查询当前数据库
SELECT DATABASE();
#创建数据库
CREATE DATABASE [IF NOT EXISTS]数据應名[DEFAULT CHARSET字符集][COLLATE 排序规则];
删除数据库
DROP DATABASE[IF EXISTS]数据库名;
使用 数据库
USE 数据库名,
DDL操作表:
#DDL-表操作
#查询当前数据库所有表
SHOW TABLES,
#查询表结构
DESC 表名;
#查询指定表的建表语句
SHOW CREATE TABLE 表名)
#DDL-表操作-创建
CREATE TABLE 表名(
字段1字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段2注释],
字段3 字段3类型[COMMENT 字段3注释],
字段n 字段n类型[COMMENT 字段n注释 ]
)[COMMENT 表注释];
#[]括起来的表示可以省略
#修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
#修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[OMMENT 注释][约束];ALTER TABLE table_name ADD column_name datatype; :向表中添加列。ALTER TABLE table_name DROP COLUMN column_name; :从表中删除列。ALTER TABLE table_name MODIFY column_name datatype; :修改列的数据类型。ALTER TABLE table_name CHANGE old_column_name new_column_name datatype; :更改列名和数据类型。
CREATE INDEX index_name ON table_name (column_name); :创建索引。DROP INDEX index_name ON table_name; :删除索引。TRUNCATE TABLE table_name; :快速删除表中的所有数据,但保留表结构。
DML操作:
INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...); :向表中插入数据。UPDATE table_name SET column1 = value1, column2 = value2,... WHERE condition; :更新表中的数据。DELETE FROM table_name WHERE condition; :从表中删除满足条件的数据。
DQL操作:
基本查询:SELECT * FROM table_name; -- 查询表中的所有列
SELECT column1, column2 FROM table_name; -- 查询指定列条件查询:SELECT * FROM table_name WHERE condition; -- 根据条件筛选数据排序结果:SELECT * FROM table_name ORDER BY column_name ASC|DESC; -- 按列升序(ASC)或降序(DESC)排序限制结果行数:SELECT * FROM table_name LIMIT offset, row_count; -- 从偏移量 offset 开始,返回指定行数 row_count 的结果聚合函数:
SELECT COUNT(*) FROM table_name; -- 计算行数
SELECT SUM(column_name) FROM table_name; -- 求和
SELECT AVG(column_name) FROM table_name; -- 求平均值
SELECT MAX(column_name) FROM table_name; -- 求最大值
SELECT MIN(column_name) FROM table_name; -- 求最小值分组查询:
SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name;多表连接查询:- 内连接(INNER JOIN):
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
- 左连接(LEFT JOIN):
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
- 右连接(RIGHT JOIN):
SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;子查询:
SELECT column_name FROM table_name WHERE column_name IN (SELECT column_name FROM another_table);
DCL操作:
GRANT 语句:用于授予用户权限。- 授予所有权限:GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';- 授予特定权限,如查询、插入、更新等:GRANT SELECT, INSERT, UPDATE ON database_name.table_name TO 'username'@'host';REVOKE 语句:用于撤销用户的权限。
REVOKE privilege ON database_name.* FROM 'username'@'host';COMMIT 语句:用于提交事务,将事务中的更改永久保存到数据库。COMMIT;ROLLBACK 语句:用于回滚事务,撤销事务中所做的更改。
ROLLBACK;SET TRANSACTION 语句:用于设置事务的特性,如隔离级别。
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
代码执行顺序讲解:①from ②where ③group by ④select ⑤order by ⑥limit
SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段列表
HAVING
分组后条件列表
ORDER BY
排序字段列表
LIMIT
分页参数
相关文章:
MySQL基础篇
一、MySQL概述 MySQL是一个数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle推出的产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(关系数据库管理系统) ,…...
详解C++中的四种强制转换reinterpret_cast / const_cast / static_cast / dynamic_cast
目录 1.reinterpret_cast 2.const_cast 3.static_cast 4.dynamic_cast 例子 C中存在四种强制转换:reinterpret_cast / const_cast / static_cast / dynamic_cast 1.reinterpret_cast 格式 : reinterpret_cast<type_id> (expression) 用于类型…...
Word中加载Mathtype后粘贴复制快捷键(Ctrl+C/V)不能使用
操作环境 windows 11操作系统 word版本2021 mathtype版本7.4 这个问题只出现在word中,在excel和ppt中都不存在这个问题,而且之前在另一台电脑中使用word2016版本并没有这种问题的,然后网上搜了一下有不少人有这种问题,word直接取…...
Linux硬件-bios
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 在Linux的服务器领域,我们能接触的到硬件其实挺多的,但是在这些硬件我们根据我们的需要去使用的时候…...
VisionPro二次开发学习笔记12-使用CogToolGroup控件进行图像检测
本示例演示了如何通过图像数据库使用 CogImageFileTool,并将其放入 CogToolGroup 中,对于数据库中的每个图像运行一次检测. 当用户按下 RunTest 按钮时,程序执行以下操作: 如果工具组中没有 CogImageFileTools,它将显…...
mfc140u.dll丢失的科学修复手段,简单又方便的mfc140u.dll修复
遇到 "缺失 mfc140u.dll 文件" 的提示时可能会让你疑惑,但不用担心。这个文件是 Microsoft Visual C 2015 的重要组成部分,对运行特定程序非常关键。幸运的是,解决这一问题并不难。本文将简单指导你如何恢复或修复丢失的 mfc140u.d…...
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
文章目录 一、kafka和rabbitmq全面对比分析1.1 简介1.2 kafka和rabbitmq全面对比分析1.3 影响因素 二、RabbitMQ、Kafka主要区别2.1 详解/主要区别2.1.1 设计目标和适用场景2.1.2 架构模型方面2.1.3 吞吐量和性能2.1.4 消息存储和持久化2.1.5 消息传递保证2.1.6 集群负载均衡方…...
【案例35】销售订单公式问题导致系统宕机
问题现象 经过顾问反馈,发现系统现在出现卡顿,NCC一直在转圈。 问题分析 远程排查,发现在服务器从机上defalut-7发生了内存溢出,宕机。 生成了宕机日志。分析结果如下: 销售订单相关操作,vo太多了导致…...
编程-设计模式 4:建造者模式
设计模式 4:建造者模式 定义与目的 定义:建造者模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。目的:该模式主要用于创建复杂对象时,这些对象的创建过程可能涉及多个步骤,…...
百度文心一言API调用,千帆大模型获取API Key和API Secret图解
百度文心一言大模型调用教程,获取文心一言API Key和API Secret的方法,码笔记mabiji.com告诉大家在百度智能云的千帆大模型平台创建应用,即可获取文心一言的API Key和API Secret,详细流程如下: 1、在百度智能云的千帆大…...
kafka下载|安装
1、下载kafka https://kafka.apache.org/downloads 2、安装kafka 解压下载的kafka安装包即可 tar -xvf kafka_2.13-3.7.0.tgz -C /usr/local/3、查看kafka目录 bin目录:存放了脚本 config目录:主要存放了配置文件...
贪心算法part03
134 加油站 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行…...
以树莓集团的视角:探索AI技术如何重塑数字媒体产业发展
在科技日新月异的今天,AI技术如同一股不可阻挡的潮流,正深刻改变着我们的世界,尤其是数字媒体产业发展。作为数字产业生态链的杰出建设者,树莓集团始终站在时代前沿,积极探索AI技术如何为数字媒体产业注入新活力。 在树…...
package.json的 和 的区别,以及|| 和 | 的区别
在 package.json 文件中的 scripts 字段里,&& 和 & 用于连接不同的命令,它们的区别在于命令执行的方式和效果: &&: 用于串联两个命令,第一个命令成功(退出码为 0)后&#x…...
Wireshark_DNS_v7.0
Wireshark_DNS_v7.0 一、 nslookup 前置 nslookup 是一个网络命令行工具,用于查询域名系统(DNS)中的域名解析记录。通过使用 nslookup,你可以获取某个域名的IP地址,或者获取与某个IP地址关联的域名信息。 查看域名…...
阿里云的CentOS系统上安装Docker
在阿里云的CentOS系统上安装Docker的详细步骤如下: 一、前置条件 确保系统内核版本:Docker要求CentOS系统的内核版本高于3.10。你可以通过执行uname -r命令来查看当前系统的内核版本。卸载旧版本的Docker(如果已安装)࿱…...
力扣面试经典100题
进阶,其他解法 数组 88. 合并两个有序数组 - 力扣(LeetCode) 1、按非递减顺序合并两个数组 从末尾开始,用while分没到两个数组头,到第一个数组头,到第二个数组头三种情况 class Solution { public:voi…...
python打怪练习
1. 求一个数的幂值 def mi(a, b):c afor i in range(b-1):a a * creturn aprint(mi(2, 4))2. 输出斐波那契数列 def feibonaqi(n):l []a 1b 1for i in range(n):l.append(a)l.append(b)a b ab a bprint(l)feibonaqi(5)3. 输出特定字典数据 keys [name, old, score…...
excel下载模板,0KB或者乱码问题
Sptingboot项目 — maven打包,云效,docker,k8s 场景 — 导出excel模板 问题 1.乱码 2.下载为0KB,打开没有数据 模板内容 测试代码 测试方法 方法过程结果问题原因将文件直接放到服务器使用接口下载数据正常,排除文件问题排…...
JDBC连接Mysql数据库超详细讲解
JDBC连接Mysql数据库 如何导入驱动jar包 进入mysql官网 – https://www.mysql.com/ 点击下载找到方框内选项 点击 在项目文件夹创建lib文件 , 将下载好的驱动器导入 , 再添加到项目即可 步骤一:注册JDBC驱动 在Java中,要与数据库进行交互&…...
JavaScript中全局执行上下文与函数上下文的生成过程
全局执行上下文在JS引擎启动时创建,函数执行上下文在每次调用时创建;前者作用域链仅含全局环境,后者在创建阶段就基于定义位置固定作用域链;var和function声明被提升并初始化,let/const仅注册于词法环境而处于暂时性死…...
IndexTTS2 V23实战:用情感语音为你的视频配音,效果超真实
IndexTTS2 V23实战:用情感语音为你的视频配音,效果超真实 1. 引言:让视频配音拥有真实情感 想象一下,当你制作了一个精彩的视频,却苦于找不到合适的配音演员。或者你需要为大量视频内容快速生成配音,但又…...
智慧农业之梨树识别数据集 果树识别 水果检测 梨子识别数据集 梨子识别数据集第10643期
梨子识别数据集第10643期 README 项目概述 本数据集聚焦于农业场景下的梨子目标检测任务,包含真实果园环境中采集的图像,适用于果实定位、成熟度分析及智能农业应用研究。数据提供 Yolo 与 VOC 双格式标注,便于无缝集成至主流深度学习框架&am…...
新手前端开发入门:借助快马AI从零理解小恐龙游戏代码逻辑
今天想和大家分享一个特别适合前端新手的练手项目——用HTML、CSS和JavaScript实现一个简易的小恐龙游戏。这个项目结构清晰,能帮助我们快速理解前端三件套的协作方式。最近我在InsCode(快马)平台上尝试了这个项目,发现它的AI辅助功能对新手特别友好。 项…...
3个神奇技巧让你的Windows 11系统优化效率翻倍
3个神奇技巧让你的Windows 11系统优化效率翻倍 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and customize your Windo…...
Batocera.linux主题定制完全指南:打造个性化游戏界面终极教程
Batocera.linux主题定制完全指南:打造个性化游戏界面终极教程 【免费下载链接】batocera.linux batocera.linux 项目地址: https://gitcode.com/gh_mirrors/ba/batocera.linux Batocera.linux是一款强大的开源复古游戏系统,让用户能够在各种硬件上…...
AI服务的可观测性与运维
AI服务的可观测性与运维 当 AI 服务从开发环境走向生产,可观测性(Observability)成为运维的基石。传统的监控(CPU、内存、请求量)已不足以应对 AI 系统的复杂性,我们需要深入追踪 每个 AI 交互的细节&#…...
开发提效新利器:集成openclaw与ollama的智能编码助手在快马平台实践
最近在尝试优化开发流程时,发现将openclaw与ollama结合使用能带来意想不到的效率提升。作为一个经常需要写Python和JavaScript的开发者,我一直在寻找能够减少重复劳动的工具,这次实践让我找到了一个不错的解决方案。 代码自动补全与建议的实现…...
如何将你的小爱音箱改造成智能AI语音助手:MiGPT终极教程
如何将你的小爱音箱改造成智能AI语音助手:MiGPT终极教程 【免费下载链接】mi-gpt 🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 想让家里的智能音箱从"…...
Qwen3.5-4B模型网络协议分析与故障模拟实践
Qwen3.5-4B模型网络协议分析与故障模拟实践 1. 网络工程师的新助手 最近遇到一个典型的运维场景:某电商平台大促期间,支付接口频繁出现连接超时。运维团队抓包分析后发现TCP重传率异常,但传统方法定位具体原因耗时长达3小时。这正是Qwen3.5…...
