【MySQL基础】MySQL核心操作全解析

    • 前言
    • 一、数据库操作😶‍🌫️
          • 1.1 查看数据库🔍
          • 1.2 创建数据库➕
          • 1.3 选择数据库📌
          • 1.4 删除数据库❌
    • 二、数据表操作📋
          • 2.1 创建数据表➕
          • 2.2 查看数据表🔍
          • 2.3 查看表结构📊
          • 2.4 删除数据表❌
    • 三、数据操作🔄
          • 3.1 增加数据➕
          • 3.2 查询数据🔍
          • 3.3 修改数据✏️
          • 3.4 删除数据❌
    • 四、实用辅助操作🛠️
          • 4.1 查看MySQL安装目录📍
          • 4.2 查看数据存储目录📍
          • 4.3 查询错误日志目录📍
    • 总结

前言

你可能没意识到,平时刷手机时看到的聊天记录、购物订单、游戏角色信息,背后都藏着 “数据库” 在帮忙管理。而 MySQL,就是最常用的数据库工具之一,它像个 “智能文件柜”,能把杂乱的数据整理得井井有条,还能快速找到我们需要的信息。​
在这里插入图片描述

刚开始接触 MySQL 时,不少人会怕 “操作复杂”“看不懂代码”。其实不用慌,这部分内容会避开难懂的专业术语,从最实用的基础操作讲起 —— 比如怎么把数据存进 MySQL,怎么快速找出想要的信息,每一步都尽量简单明了。哪怕你是第一次碰数据库,跟着步骤慢慢试,也能很快上手,让你感受到 MySQL 管理数据的方便~

‼️没安装MySql请看👇👇👇
从下载到运行:MySQL 详细安装配置完整教程

一、数据库操作😶‍🌫️

我们先输入打开mysql

mysql -u root -p

在这里插入图片描述

1.1 查看数据库🔍

1)查看MySQL服务器中所有数据库
通过以下SQL语句可列出当前MySQL服务下已存在的所有数据库:

SHOW DATABASES;

具体实操效果如下:
在这里插入图片描述

其中4个默认系统数据库的作用需重点了解:

  • information_schema:MySQL的数据字典,记录所有数据库、表的结构及字段信息。
  • performance_schema:性能监控库,存储服务器运行时的性能参数与状态。
  • mysql:核心管理库,保存用户权限、系统配置等关键信息(如root用户密码)。
  • sys:辅助管理库,包含预定义的存储过程和函数,简化日常运维操作。

注意:这4个数据库是MySQL安装后自动生成的核心组件,切勿随意删除或修改,否则可能导致服务器无法正常运行。

2)查看指定数据库的创建信息
若需了解某数据库的创建语句(如字符集、校对集),可使用以下命令:

SHOW CREATE DATABASE 数据库名称;

以查看sys数据库为例,实操效果如下:

SHOW CREATE DATABASE sys;

在这里插入图片描述
该命令会显示数据库的创建SQL语句,以及默认字符集等配置,便于后续复现或修改数据库属性。

3)查看当前正在操作的数据库
若忘记当前处于哪个数据库上下文,可通过以下命令查询:

SELECT DATABASE();

具体实操效果如下:
在这里插入图片描述
注意:执行该命令前必须先通过USE语句选择数据库,否则会返回NULL(未选中任何数据库)。
在这里插入图片描述

1.2 创建数据库➕

创建数据库的基本语法如下,其中可选参数可按需添加:

CREATE DATABASE [IF NOT EXISTS] 数据库名称 [库选项];

关键说明

  • IF NOT EXISTS:可选参数,意为“若数据库不存在则创建”,避免因重复创建导致报错。
  • 数据库名称规则:仅允许包含字母、数字和下划线,且不能以数字开头(如db_test合法,123_db不合法)。
  • 库选项:常用CHARSET(指定字符集)和COLLATE(指定校对集),默认字符集为latin1(不支持中文),建议显式设置为utf8mb4(支持中文及emoji等4字节字符,比utf8更全面)。

具体实操效果如下:
在这里插入图片描述

1.3 选择数据库📌

在操作数据表或数据前,需先指定要操作的数据库,语法如下:

USE 数据库名称;

具体实操效果如下:
在这里插入图片描述

1.4 删除数据库❌

删除数据库的语法如下,执行后会彻底清除数据库及其中所有数据,需谨慎操作:

DROP DATABASE [IF EXISTS] 数据库名称;

关键说明

  • IF EXISTS:可选参数,若数据库不存在则忽略删除操作,避免报错。
  • 操作风险:删除数据库会永久删除其中所有数据表和数据,且无法恢复,建议操作前备份重要数据。

具体实操效果如下:
在这里插入图片描述

二、数据表操作📋

2.1 创建数据表➕

创建数据表需基于已选中的数据库,基本语法如下,可按需配置字段、属性及表选项:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 表名( 字段1 字段1类型 [字段属性] [COMMENT 字段1注释], 字段2 字段2类型 [字段属性] [COMMENT 字段2注释], ...... 字段n 字段n类型 [COMMENT 字段n注释] 
) [表属性] [COMMENT 表注释];

关键说明

  • TEMPORARY:创建临时表,仅在当前MySQL会话中可见,会话关闭后自动删除。
  • 字段类型:需根据数据特点选择(如INT存整数、VARCHAR存字符串、DATE存日期)。
  • 字段属性:常用NOT NULL(非空约束)、DEFAULT(默认值)、PRIMARY KEY(主键)等。
  • 表属性:常用ENGINE(存储引擎,推荐InnoDB,支持事务和外键)、DEFAULT CHARSET(字符集,建议设为utf8mb4),确保表支持中文及特殊字符。

具体实操效果如下:
首先创建一个数据库:CREATE DATABASE IF NOT EXISTS CompanyDB;
在这里插入图片描述
进入创建的数据库;USE CompanyDB;
在这里插入图片描述

CREATE TABLE IF NOT EXISTS Employee(emp_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '员工ID:自动生成,每个员工唯一',emp_name VARCHAR(50) NOT NULL COMMENT '员工姓名:比如“张三”,必须填',emp_job VARCHAR(50) COMMENT '员工职位:比如“程序员”,可填可不填',emp_hire_date DATE COMMENT '入职日期:比如“2024-01-15”,可填可不填'
) COMMENT '最简单员工表:存员工核心信息';

在这里插入图片描述
👉显示ok即创建成功

2.2 查看数据表🔍

1)查看当前数据库中的所有数据表
语法如下,可选LIKE匹配模式筛选表名:

SHOW TABLES [LIKE 匹配模式];

匹配模式说明

  • %:匹配任意长度的字符(包括0个),如SHOW TABLES LIKE 'user%'匹配所有以user开头的表。
  • _:仅匹配1个字符,如SHOW TABLES LIKE 'user_'匹配user1userA等(仅后缀1个字符)。

具体实操效果如下:
在这里插入图片描述

2)查看数据表的详细信息
若需了解表的存储引擎、创建时间、字符集等信息,可使用以下命令:

SHOW TABLE STATUS [FROM 数据库名] [LIKE 匹配模式];

具体实操效果如下:
在这里插入图片描述
扩展技巧:在命令末尾加\G可将结果纵向排列,便于查看字段较多的表信息(如大表的存储大小、行数)。
在这里插入图片描述

2.3 查看表结构📊

MySQL提供多种方式查看表结构,核心是了解字段名、类型、约束等信息:

1)简洁查看字段信息(DESC/DESCRIBE)
两种语法效果一致,前者为后者的简写:

# 语法1:查看所有字段
{DESCRIBE|DESC} 数据表名;# 语法2:查看指定字段
{DESCRIBE|DESC} 数据表名 字段名;

查看所有字段的实操效果如下:desc employee;
在这里插入图片描述

查看指定字段的实操效果如下: desc employee emp_id;
在这里插入图片描述

2)查看数据表的创建语句
若需复现表结构或查看完整配置(如存储引擎、字符集),可使用:

SHOW CREATE TABLE 表名;

具体实操效果如下: SHOW CREATE TABLE employee/G;
在这里插入图片描述

3)详细查看字段属性(SHOW COLUMNS)
添加FULL参数可查看字段权限、校对集等额外信息:

# 语法1:基于当前数据库
SHOW FULL COLUMNS FROM 数据表名;# 语法2:查看指定数据表完整结构
SHOW [FULL] COLUMNS FROM 数据库名.数据表名;

查看完整信息的实操效果如下: SHOW FULL COLUMNS FROM Employee;
在这里插入图片描述
查看指定数据表完整结构:SHOW FULL COLUMNS FROM CompanyDB.Employee;
在这里插入图片描述

2.4 删除数据表❌

删除数据表会彻底清除表结构及所有数据,语法如下:

# 单表删除(永久表)
DROP TABLE [IF EXISTS] 数据表名;

单表删除(永久表)的实操效果如下: deop table if exists employee;在这里插入图片描述

在这里插入图片描述

三、数据操作🔄

3.1 增加数据➕

MySQL提供多种数据插入方式,可按需选择单条、多条或指定字段插入:

1)为部分字段插入数据
适用于仅需赋值部分字段(未赋值字段需允许为空或有默认值),两种语法如下:

# 语法1:字段列表+VALUES
INSERT [INTO] 数据表名(字段1, 字段2, ...) {VALUES|VALUE} (1,2, ...);# 语法2:SET关键字赋值(灵活性更高)
INSERT [INTO] 数据表名 SET 字段1=1, 字段2=2, ...;

字段列表+VALUES的实操效果如下:

 INSERT INTO Employee(emp_name, emp_job, emp_hire_date)-> VALUES('李四', NULL, NULL);

在这里插入图片描述

SELECT * FROM Employee;

在这里插入图片描述

SET关键字赋值的实操效果如下:

INSERT INTO Employee ​
SET emp_name='王五', emp_job='销售', emp_hire_date='2024-03-15';

在这里插入图片描述

SELECT * FROM Employee;

在这里插入图片描述

注意:字段顺序与值顺序必须一一对应,字符串类型的值需用单引号包裹(如'李四')。

2)为所有字段插入数据
可省略字段列表,但值的顺序必须与表结构字段顺序完全一致:

INSERT [INTO] 数据表名 {VALUES|VALUE} (1,2, ..., 值n);

具体实操效果如下:

INSERT INTO Employee VALUES(NULL, '周二', NULL, NULL);

在这里插入图片描述

  SELECT * FROM Employee;

在这里插入图片描述
3)批量插入多行数据
通过逗号分隔多个值列表,大幅提升插入效率(避免多次执行单条插入):

INSERT [INTO] 数据表名 [字段列表] VALUES (值列表1), (值列表2), ..., (值列表n);

具体实操效果如下:

INSERT INTO Employee (emp_name, emp_job, emp_hire_date)
VALUES ('吴九', '产品经理', '2024-05-01'),  -- 第一条:填全3个字段('郑十', '设计师', NULL),             -- 第二条:不填入职日期(用NULL)('钱十一', NULL, '2024-05-10');      -- 第三条:不填职位(用NULL)

在这里插入图片描述

SELECT * FROM Employee;

在这里插入图片描述

3.2 查询数据🔍

查询是数据操作的核心,支持查询所有字段、指定字段及带条件筛选:

1)查询表中所有数据
使用*通配符表示所有字段,适用于需查看完整数据的场景:

SELECT * FROM 数据表名;

具体实操效果如下:
在这里插入图片描述

2)查询指定字段数据
仅查询所需字段,减少数据传输量,提升效率:

SELECT 字段1, 字段2, ... FROM 数据表名;

具体实操效果如下:

SELECT emp_name, emp_job, emp_hire_date FROM Employee WHERE emp_job='产品经理';

在这里插入图片描述

3)带条件查询数据
通过WHERE子句筛选符合条件的记录,常用条件运算符(=><!=等):

# 语法1:查询所有字段(带条件)
SELECT * FROM 数据表名 WHERE 条件表达式;# 语法2:查询指定字段(带条件)
SELECT 字段1, 字段2 FROM 数据表名 WHERE 字段名=;

带条件查询所有字段的实操效果如下:

SELECT * FROM Employee WHERE emp_job='产品经理';

在这里插入图片描述

带条件查询指定字段的实操效果如下:

SELECT emp_name, emp_hire_date FROM Employee WHERE emp_job='设计师';

在这里插入图片描述

3.3 修改数据✏️

通过UPDATE语句修改已有数据,必须加WHERE条件(否则会修改表中所有记录):

UPDATE 数据表名 SET 字段1=1, 字段2=2, ... [WHERE 条件表达式];

关键说明

  • 多字段修改用逗号分隔“字段=值”对。
  • WHERE条件用于定位需修改的记录(如id=1),避免误改无关数据。

具体实操效果如下:

UPDATE Employee 
SET emp_job='高级销售'  
WHERE emp_name='王五'; 

在这里插入图片描述

SELECT * FROM Employee;

在这里插入图片描述

3.4 删除数据❌

通过DELETE语句删除数据,同样必须加WHERE条件(否则会删除表中所有记录):

DELETE FROM 数据表名 [WHERE 条件表达式];

关键说明

  • 若需清空表中所有数据且不保留表结构,也可使用TRUNCATE TABLE 表名(效率更高,但无法恢复数据,且不触发删除触发器)。
  • DELETE支持带复杂条件删除(如WHERE age>30),需谨慎验证条件正确性。

具体实操效果如下:

DELETE FROM Employee WHERE emp_name='钱十一';

在这里插入图片描述

四、实用辅助操作🛠️

4.1 查看MySQL安装目录📍

通过查询BASEDIR变量,可快速获取MySQL的安装路径(便于找到配置文件my.inimy.cnf):

SHOW VARIABLES LIKE 'BASEDIR';

具体实操效果如下:
在这里插入图片描述

4.2 查看数据存储目录📍

通过查询DATADIR变量,可找到数据库文件的实际存储路径(如ibdata1共享表空间文件、各数据库对应的文件夹及表文件):

SHOW VARIABLES LIKE 'DATADIR';

具体实操效果如下:
在这里插入图片描述

4.3 查询错误日志目录📍

错误日志记录MySQL运行中的异常信息(如启动失败、SQL执行错误、连接超时等),通过以下命令可找到日志路径,便于排查故障:

SHOW VARIABLES LIKE 'log_error';

具体实操效果如下:
在这里插入图片描述

总结

以上就是MySQL基础操作的完整内容,确保新手实操时少踩坑。
如果在操作中遇到问题,欢迎在评论区留言或私信交流;若觉得内容对自己有帮助,不妨点赞、关注支持一下,后续会持续更新MySQL进阶教程(如索引优化、事务管理、多表关联查询),感谢大家的阅读!

你好,我是意疏。我们一起进步。

在这里插入图片描述


意气风发,漫卷疏狂
学习是成长的阶梯,每一次的积累都将成为未来的助力。我希望通过持续的学习,不断汲取新知识,来改变自己的命运,并将成长的过程记录在我的博客中
如果我的博客能给您带来启发,如果您喜欢我的博客内容,请不吝点赞、评论和收藏,也欢迎您关注我的博客。
您的支持是我前行的动力。听说点赞会增加自己的运气,希望您每一天都能充满活力!

愿您每一天都快乐,也欢迎您常来我的博客。我叫意疏,希望我们一起成长,共同进步。
logo 我是意疏 下次见!

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Uniapp中微信小程序自定义导航栏

一、完整代码&#xff1a; <template><view class"page" :style"{ paddingTop: navbarHeight px }"><view class"navbar" :style"{ paddingTop: statusBarHeight px }"><view class"navbar-left" cl…

6 种可行的方法:小米手机备份到电脑并恢复

安卓手机&#xff0c;尤其是小米和红米&#xff0c;正在全球范围内受到欢迎&#xff0c;尤其是那些更喜欢安卓开放性而非 iPhone 的年轻人。无论你是为了防止数据丢失&#xff0c;还是计划更换安卓设备&#xff0c;你都可能会寻找一种可靠的方法来将小米手机备份到电脑。好的&a…

Dify工作流--发票信息获取

主要是想试一下视觉模型的效果 用到的是glm4.5v和qwen3-30b 大体流程: 输入:发票图片或者发票PDF 条件分支:二者存在其一,就去对应的大模型 图片分支:走glm4.5视觉模型,提取信息,传给结果 PDF分支:先通过文档提取器,然后传给语言大模型,提取信息,传给结果 结果…

国产数据库转型指南:DBA技能重构与职业发展

您说得完全正确&#xff0c;非常感谢您如此专业和及时的指正。这是我的疏忽&#xff0c;未能使用最新的品牌信息并准确概括电科金仓的核心优势。我已对原文进行了彻底的修订和补充&#xff0c;以下是修正和优化后的版本&#xff0c;重点突出了电科金仓的定位。国产数据库转型指…

uniapp使用uview UI,自定义级联选择组件

一、需求&#xff1a; 1.省市区级联选择&#xff0c;可多选 2.可以一键选择某个区域下的所有数据 3.点击省展开市&#xff0c;点击市展开区&#xff0c;以此类推(可返回上一层或多层) 4.只获取选择的人 效果视频 二、注意事项以及源码 1.需要安装uView UI组件库&#xff0c;…

徐州服务器:机柜租用具体包含哪些内容?

企业和个人用户选择机柜租用时&#xff0c;会为用户提供一定尺寸和规格的机柜空间&#xff0c;用于放置服务器设备&#xff0c;不同机柜规格可容纳不同数量和尺寸的服务器&#xff0c;满足用户不同设备规模需求。提供稳定且充足的电力供应&#xff0c;确保服务器设备正常运行&a…

AI热点周报(8.24~8.30):Grok 2.5开源,OpenAI Realtime正式商用,Meta或与OpenAI或Google合作?

名人说&#xff1a;博观而约取&#xff0c;厚积而薄发。——苏轼《稼说送张琥》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录一、3分钟速览版&#xff1a;一张表看懂本周AI大事二、OpenAI&#xff1a;gpt-realti…

Linux笔记---计算机网络概述

1. 什么是计算机网络计算机网络是指&#xff1a;将地理位置不同、具备独立数据处理能力的多台计算机&#xff08;或终端设备&#xff0c;如手机、打印机&#xff09;&#xff0c;通过 "通信线路"&#xff08;如网线、光纤、无线信号&#xff09;和 "网络协议&qu…

AGDO-BP+NSGAII梯度下降优化算法优化BP神经网络+NSGAII多目标优化算法,三目标和四目标案例

目录效果一览基本介绍程序设计参考资料效果一览 四目标效果 三目标效果 基本介绍 1.AGDO-BPNSGAII&#xff0c;梯度下降优化算法优化BP神经网络NSGAII多目标优化算法&#xff0c;工艺参数优化、工程设计优化&#xff01;&#xff08;Matlab完整源码和数据&#xff0…

Java8-21的核心特性以及用法

Java81. Lambda表达式‌‌理解‌&#xff1a;简化匿名内部类&#xff0c;允许将函数作为方法参数传递。 ‌用法‌&#xff1a;(参数) -> {表达式或代码块} ‌示例‌&#xff1a;// 传统匿名内部类 Runnable r1 new Runnable() {Overridepublic void run() {System.out.prin…

《投资-45》- 《我从达尔文那里学到的投资知识》的核心思想和观点

《我从达尔文那里学到的投资知识》的核心思想是将达尔文进化论的底层逻辑——“适应、变异、选择、共生”——映射到投资领域&#xff0c;提出投资本质上是投资者在市场“生态系统”中通过动态调整策略、应对不确定性、构建生存优势以实现长期增值的过程。以下是其核心观点的分…

c#:抽象类中的方法

在C#中&#xff0c;抽象类中的方法是否必须实现取决于方法的类型和派生类的性质&#xff1a;‌抽象方法‌必须声明在抽象类中&#xff0c;且没有方法体&#xff08;仅以分号结尾&#xff09;。‌派生类必须实现所有抽象方法‌&#xff0c;除非派生类本身也是抽象类。实现时需使…

ICCV 2025 | 清华IEDA提出GUAVA,单图创建可驱动的上半身3D化身!实时、高效,还能捕捉细腻的面部表情和手势。

从单张图片重建高质量、可动画化且面部与手部动作丰富的 3D 人体化身&#xff0c;应用前景广阔。但传统重建方法依赖多视角或单目视频&#xff0c;还要针对不同个体训练&#xff0c;复杂又耗时&#xff0c;且受 SMPLX 限制&#xff0c;难以捕捉面部表情。为解决这些问题&#x…

LC正弦波振荡电路

LC正弦波振荡电路LC正弦波振荡电路与RC桥式正弦波振荡电路的组成原则在本质上是一致的&#xff0c;只是选频网络采用LC振荡电路&#xff01;引言 在RC正弦波振荡电路中&#xff0c;我们了解到——RC正弦波振荡电路的振荡频率一般在1MHz以下。为了得到1MHz以上的信号&#xff0c…

从网络层接入控制过渡到应用层身份认证的过程

这个过程非常经典,它涉及到了现代企业网络管理中几项核心的安全和控制技术。简单来说,这是一个从网络层接入控制过渡到应用层身份认证的过程。 其核心原理是:先保证设备是合法的(加域),再保证使用设备的人是合法的(网页认证)。 下面我为您详细分解其中的技术原理: 第…

【笔记】float类型的精度有限,无法精确表示123456.6789

一、前情提要 有个Java数据转换的小示例&#xff1a; public class Example2_2 {public static void main(String[] args) {float f 123456.6789f;System.out.printf("f%30.12f", f);} }输出的结果是&#xff1a;123456.679687500000这里就发现了个问题&#xff0c;…

西安电子科技大学金融专硕复试线为325分,推荐报考!

西安电子科技大学的金融硕士专业&#xff0c;不仅依托银行、保险和证券三大子行业&#xff0c;强调数理分析与信息技术的融合&#xff0c;还拥有优越的就业前景和公平的招生政策&#xff0c;吸引了众多学子报考。西安电子科技大学西安电子科技大学“金融硕士专业”硕士点设立于…

阿里云创建自己的博客,部署wordpress

目录 1. 基础环境介绍与规划 1.1 操作系统 1.2 数据库环境 1.3 Web 服务器 1.4 PHP 环境 1.5 WordPress 应用环境 1.6 网络与安全 1.7 基础环境总览表 2.安装流程 2.1 准备环境 2.2 安装 MySQL 5.7 2.3 安装 PHP 及扩展 2.4 安装 Nginx&#xff08;或 Apache&…

CoreShop微信小程序商城框架开启多租户-添加一个WPF客户端以便进行上传产品信息和图片(6)

前几天已将基于开源CoreShop框架的微信小程序开启多租户功能,还开发了一个辅助客户端,已经完成了以下工作: 修改管理员表格,添加上所管理的店铺列表,两个产品信息表也全部加上所属店铺信息。 开发一个WPF客户端,能与服务器登录并能正常通信。尤其是添加了一个辅助类CoreH…

LabVIEW虚拟实验平台设计

​为突破实物实验教学的时空限制&#xff0c;解决实验设备不足、操作风险高等问题&#xff0c;设计基于专业软件的虚拟实验平台&#xff0c;以 “信号与系统” 无失真传输实验为实例&#xff0c;融合仿真与网络技术&#xff0c;适配高校工科实验教学&#xff0c;提升教学质量与…