MySQL数据库基础与操作

发布时间:2026/9/11 20:33:56

MySQL数据库基础与操作 目录1. 数据库基础1.1 基本使用1.1.1 连接服务器1.1.2 服务器管理1.1.3 使用案例1.1.4 数据逻辑存储1.2 MySQL架构1.3 SQL分类1.4 存储引擎1.4.1 查看存储引擎1.4.2 存储引擎对比2. 库的操作2.1 创建数据库2.1.1 创建案例2.3 字符集和校验规则2.3.1 查看系统默认字符集以及校验规则2.3.2 查看数据库支持的字符集2.3.3 查看数据库支持的字符集校验规则2.3.4 校验规则对数据库的影响2.4 操作数据库2.4.1 查看数据库2.4.2 显示创建语句2.4.3 修改数据库2.4.4 数据库删除2.4.5 备份和恢复2.4.6 查看连接情况正文开始1. 数据库基础1.1 基本使用1.1.1 连接服务器输入mysql -h 127.0.0.1 -P 3306 -u root -p输出Enter password: **** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.21-log MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type help; or \h for help. Type \c to clear the current input statement. mysql注意如果没有写 -h 127.0.0.1 默认是连接本地如果没有写 -P 3306默认是连接3306端口号1.1.2 服务器管理执行 winr 输入services.msc打开服务管理器通过下图左侧停止暂停重启动按钮进行服务管理所谓安装数据库服务器只是在机器上安装了一个数据库管理系统程序这个管理程序可以管理多个数据库一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据一般会在数据库中创建多个表以保存程序中实体的数据。数据库服务器、数据库和表的关系如下1.1.3 使用案例创建数据库create database db1;使用数据库use db1;创建数据库表create table student( id int, name varchar(32), gender varchar(2) );表中插入数据insert into student (id, name, gender) values (1, 张三, 男); insert into student (id, name, gender) values (2, 李四, 女); insert into student (id, name, gender) values (3, 王五, 男);查询表中数据select * from student;1.1.4 数据逻辑存储1.2 MySQL架构MySQL 是一个可移植的数据库几乎能在当前所有的操作系统上运行如Unix/Linux、Windows、Mac和Solaris。各种系统在底层实现方面各有不同但是MySQL基本上能保证在各个平台上的物理体 系结构的一致性。1.3 SQL分类DDL【data definition language】 数据定义语言用来维护存储数据的结构代表指令:create, drop, alterDML【data manipulation language】 数据操纵语言用来对数据进行操作代表指令 insertdeleteupdateDML中又单独分了一个DQL数据查询语言代表指令selectDCL【Data Control Language】 数据控制语言主要负责权限管理和事务代表指令 grantrevokecommit1.4 存储引擎存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。MySQL的核心就是插件式存储引擎支持多种存储引擎。1.4.1 查看存储引擎show engines;1.4.2 存储引擎对比2. 库的操作2.1 创建数据库语法CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name说明大写的表示关键字[ ]是可选项CHARACTER SET:指定数据库采用的字符集COLLATE:指定数据库字符集的校验规则2.1.1创建案例创建名为db1的数据库create database db1;说明当我们创建数据库没有指定字符集和校验规则时系统使用默认字符集utf8校验规则是utf8_ general_ ci创建一个使用utf8字符集的db2数据库create database db2 charsetutf8;创建一个使用utf字符集并带校对规则的 db3 数据库create database db3 charsetutf8 collate utf8_general_ci;2.3 字符集和校验规则2.3.1查看系统默认字符集以及校验规则show variables like character_set_database; show variables like collation_database;2.3.2查看数据库支持的字符集show charset;字符集主要是控制用什么语言。比如utf8就可以使用中文。2.3.3查看数据库支持的字符集校验规则show collation;2.3.4 校验规则对数据库的影响1. 不区分大小写创建一个数据库校验规则使用utf8_ general_ ci[不区分大小写]create database test1 collate utf8_general_ci;use test1;create table person(name varchar(20));insert into person values(a); insert into person values(A); insert into person values(b); insert into person values(B);2. 区分大小写创建一个数据库校验规则使用utf8_ bin[区分大小写]create database test2 collate utf8_bin;use test2;create table person(name varchar(20));insert into person values(a); insert into person values(A); insert into person values(b); insert into person values(B);3. 进行查询不区分大小写的查询以及结果mysql use test1; mysql select * from person where namea; ------ | name | ------ | a | | A | ------ 2 rows in set (0.01 sec)区分大小写的查询以及结果mysql use test2; mysql select * from person where namea; ------ | name | ------ | a | ------ 2 rows in set (0.01 sec)4. 结果排序不区分大小写的查询以及结果mysql use test1; mysql select * from person order by name; ------ | name | ------ | a | | A | | b | | B | ------区分大小写的查询以及结果mysql use test2; mysql select * from person order by name; ------ | name | ------ | A | | B | | a | | b | ------2.4 操作数据库2.4.1 查看数据库show databases;2.4.2 显示创建语句show create database 数据库名示例mysql show create database mytest; -------------------------------------------------------------------------- | Database | Create Database | -------------------------------------------------------------------------- | mysql | CREATE DATABASE mytest /*!40100 DEFAULT CHARACTER SET utf8 */ | --------------------------------------------------------------------------说明MySQL 建议我们关键字使用大写但是不是必须的。数据库名字的反引号 是为了防止使用的数据库名刚好是关键字/*!40100 default.... */ 这个不是注释表示当前mysql版本大于4.01版本就执行这句话2.4.3 修改数据库语法ALTER DATABASE db_name [alter_spacification [,alter_spacification]...] alter_spacification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name说明对数据库的修改主要指的是修改数据库的字符集校验规则。实例将 mytest 数据库字符集改成gbkmysql alter database mytest charsetgbk; Query OK, 1 row affected (0.00 sec) mysql show create database mytest; -------------------------------------------------------------------------- | Database | Create Database | -------------------------------------------------------------------------- | mytest | CREATE DATABASE mytest /*!40100 DEFAULT CHARACTER SET gbk */ | --------------------------------------------------------------------------2.4.4 数据库删除DROP DATABASE [IF EXISTS] db_ name;执行删除之后的结果数据库内部看不到对应的数据库对应的数据库文件夹被删除级联删除里面的数据表全部被删注意不要随意删除数据库2.4.5 备份和恢复备份# mysqldump -P3306 -u root -p 密码 -B 数据库名 数据库备份存储的文件路径示例将mytest库备份到文件退出连接# mysqldump -P3306 -u root -p123456 -B mytest D:/mytest.sql这时可以打开看看mytest.sql文件里的内容其实把我们整个创建数据库建表导入数据的语句都装载这个文件中。还原mysql source D:/mysql-5.7.22/mytest.sql;注意事项如果备份的不是整个数据库而是其中的一张表怎么做mysqldump -u root -p 数据库名 表名1 表名2 D:/mytest.sql同时备份多个数据库mysqldump -u root -p -B 数据库名1 数据库名2 ... 数据库存放路径如果备份一个数据库时没有带上-B参数 在恢复数据库时需要先创建空数据库然后使用数据库再使用source来还原。2.4.6 查看连接情况语法show processlist示例mysql show processlist; ------------------------------------------------------------------- | Id | User | Host | db | Command | Time | State | Info | ------------------------------------------------------------------- | 2 | root | localhost | test | Sleep | 1386 | | NULL | | 3 | root | localhost | NULL | Query | 0 | NULL | show processlist | -------------------------------------------------------------------可以告诉我们当前有哪些用户连接到我们的MySQL如果查出某个用户不是你正常登陆的很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时可以用这个指令来查看数据库连接情况。
延伸阅读

更多相关文章

2026/9/10 8:45:23

Java Web请求参数动态处理与加密转换实战

1. 请求参数处理的核心场景在Java Web开发中,处理客户端请求参数是最基础却最容易踩坑的环节。最近在重构一个老项目时,我遇到需要动态修改RequestBody和RequestParam参数的场景。比如当请求参数需要加密传输时,服务端要先解密才能使用&#…

2026/9/11 12:53:30

Android WiFi驱动移植实战:Realtek 8822CU适配指南

1. Android WiFi驱动移植概述在Android系统开发中,WiFi驱动的移植是一个常见但技术复杂度较高的任务。不同于标准Linux驱动移植,Android系统在硬件抽象层(HAL)和框架层对WiFi功能有特殊要求,这使得驱动移植需要考虑更多系统级因素。我最近完成…

2026/9/2 11:20:09

AI模型在药物说明书问答与相互作用检查中的应用探索

AI模型在药物说明书问答与相互作用检查中的应用探索 在数字化医疗信息迅速发展的当下,AI模型正逐步渗透到医疗健康领域的多个方面,其中,药物说明书问答与相互作用检查成为其展现价值的重要场景之一。本文将聚焦于AI模型在这一特定领域的应用&…

2026/9/12 10:05:23

软件质量保障实战:打破测试开发产品孤岛,实现三体合一

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 10:05:23

COMSOL多物理场仿真在压缩空气储能与天然气储气中的应用

1. 项目背景与核心价值压缩空气储能(CAES)和天然气岩穴储气是当前能源存储领域的两个关键技术方向。前者通过压缩空气储存电能,在用电高峰时释放压缩空气驱动发电机;后者则利用地下岩穴储存天然气,作为能源缓冲和战略储备。这两种技术都面临着…

2026/9/12 10:05:22

LiteMonitor:轻量级硬件监控工具的原理与应用

1. LiteMonitor初体验:极简主义的硬件监控方案第一次接触LiteMonitor是在寻找替代任务管理器的过程中。作为一款开源免费的硬件监控工具,它用0.8MB的安装包实现了CPU/内存/磁盘/网络等核心指标的实时可视化。最让我惊喜的是其资源占用——在i5-1135G7笔记…

2026/9/12 10:05:22

C#轻量级Socket接入服务器:SAEA高并发模型与自定义协议实践

C#做物联网接入服务器,最容易陷入的尴尬就是:框架换了一个又一个,代码越写越重,设备数量一多还是顶不住。我之前接到一个“硬件数据接收示例”的需求,数万台设备通过TCP上报数据,不需要Web页面,…

2026/9/12 10:00:22

SadTalker说话头完整部署指南:新手10分钟上手

SadTalker说话头完整部署指南:新手10分钟上手 【免费下载链接】SadTalker [CVPR 2023] SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation 项目地址: https://gitcode.com/GitHub_…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码