【MySQL】初见数据库
目录
什么是MySQL
为什么要使用数据库
数据库基础
数据库的本质
存储引擎
常用操作
登录mysql
创建数据库
使用数据库
查看数据库
创建数据库表
查看表
向表中插入数据
查询表中数据
什么是MySQL
🍒在我们服务器安装完 MySQL 服务之后,经常会看到两种概念,分别是 mysql 和 mysqld ,二者有什么区别呢?

🍒其实,MySQL 本质上就是一套基于CS模式的网络服务对数据内容存储的一套解决方案,而 mysql 则是数据库服务的客户端,mysqld 为数据库服务的服务器端(带d表示该进程为守护进程)。

🍒我们口语中常说的数据库特指的是,将来在磁盘上存储的一套数据库方案,而数据库服务则指的是mysqld。
为什么要使用数据库
🍒从用户的角度来看,一般的文件确实提供了数据的存储功能,但也有一些其他的漏洞。
例如:
- 文件的安全性问题
- 不利于数据的查询和管理
- 在程序中控制不便
🍒使用数据库后便可以简便化数据的存储,由此学习数据库的使用便十分重要。
数据库基础
数据库的本质
🍒打开 /var/lib/mysql 我们便会发现,有一系列的文件,其中还包含了几个目录文件,仔细一看好像就与我们在 mysql 中的数据库一样,查询我们的数据库后发现确实如此。


🍒若我们创建一个数据库,在该路径下便能够查询得到。


🍒当我们在文件之中删除这个目录(只是演示,并不推荐),再进行查询便找不到对应的数据库了。
![]()

存储引擎
🍒存储引擎就是数据库管理系统如何存储数据,如何为存储的数据建立索引和如何更新等技术的实现方法。
🍒我们可以使用 show engines; 查询服务中支持的存储引擎。

🍒我们还可以在语句后加上 \G 让输出的结果以行为单位进行打印。

🍒MySQL 的核心就是插件式的存储引擎,支持多种存储引擎。
常用操作
🍒这里就简单讲一下几个简单的操作,方便直接上手,更多的细节放在之后的博客中进行讲解。
登录mysql
🍒登录 mysql 时需要使用这串命令,其中:
- -h 表示的是指明连接的数据库所在的ip,若没写则默认连接本地的数据库。
- -P表示对应的端口,默认为3306。
- -u 表示以什么身份连接。
- -p则表示之后输入的表示密码,若设置为无密码,在提示你输入密码后直接回车即可。
mysql -h ... -P ... -u ... -p
🍒熟悉上面的规则后,若我们想直接连接本地的数据库只需要以下命令即可。
mysql -u root -p
创建数据库
create database 数据库名
🍒这个操作在上面我们也使用过了,可以直接以默认的设定创建一个数据库。

使用数据库
🍒进行对该数据库的操作前,需要先将当前所在的数据库切换成该数据库,即使用该数据库。
use 数据库名;
![]()
查看数据库
🍒就像 Linux 中有 pwd 那样查看自己的路径,我们使用 select database() 查询当前所在的数据库。

创建数据库表
🍒数据库中又是一个一个的表组成,下面便介绍如何进行表的创建。
create table 表名(......
);
🍒创建表时便会涉及 MySQL 的数据类型,这里简单介绍一下之后会有专门的博客来介绍 MySQL 的数据类型。
🍒例如,我们创建一个表用来描述一个人,这个人有他的学号,姓名。于是我们使用 int 作为学号的类型,使用 varchar 作为姓名的类型。
由此便可以这样写:
mysql> create table person(-> id int,-> name varchar(10)-> );
🍒这样我们就在数据库中成功地创建了一个表,而且我们可以使用 desc 查看表的相关成员属性。
desc 表名
mysql> desc person;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
查看表
🍒我们可以使用这个操作查看当前数据库中的所有表。
show tables;

向表中插入数据
🍒虽然创建了好多个表,但是我们还未插入任何数据,因此当前表里都是空的,接下来我们就来介绍如何向表中插入数据。
insert into 表名 (内部成员名) values (要插入的值...);
🍒在写之前可以先用 desc 先查看一下表的成员组成,以便于接下来的插入操作。其中跟在表名后的这个括号决定的是在后方插入值的顺序,若不写则使用创建时的顺序进行插入。
mysql> desc person;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)mysql> insert into person values(1,'张三');
Query OK, 1 row affected (0.01 sec)mysql> insert into person(name, id) values('李四',2);
Query OK, 1 row affected (0.00 sec)mysql> insert into person (id, name) values (3,'王五');
Query OK, 1 row affected (0.01 sec)
🍒于是,我们以三种不同的方法进行数值的插入,第一种是不写括号,二三种则是将括号里的顺序颠倒。
🍒接下来我们来看看插入之后的表会是什么样的。
查询表中数据
select * from 表名
🍒在上面我们往表插入了三个数据,通过查询操作我们可以看到插入的三个结果都是符合我们预期的,也验证了我们上方说法的正确性。
mysql> select * from person;
+------+--------+
| id | name |
+------+--------+
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
+------+--------+
3 rows in set (0.00 sec)
🍒好了,今天我们就简单介绍了 MySQL 和几个操作,以便能直接上手,更多具体的介绍会分别写作数据库的操作和数据库的数据类型两部分,敬请期待。
相关文章:
【MySQL】初见数据库
目录 什么是MySQL 为什么要使用数据库 数据库基础 数据库的本质 存储引擎 常用操作 登录mysql 创建数据库 使用数据库 查看数据库 创建数据库表 查看表 向表中插入数据 查询表中数据 什么是MySQL 🍒在我们服务器安装完 MySQL 服务之后,经…...
选择合适的帧率和分辨率:优化RTSP流视频抓取(java)
引言 在实时视频流应用中,选择适当的帧率和分辨率对于确保视频流的顺畅播放和图像质量至关重要。本文将向您介绍如何使用Java和JavaCV库中的FFmpegFrameGrabber来从RTSP流中抓取图像,并在抓取时设置帧率和分辨率。 一、配置开发环境 首先,…...
HTTP协议都有哪些方法?
分析&回答 HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法描述HEAD请求资源的头部信息, 并且这些头部与 HTTP GET 方法请求时返回的一致. 该请求方法的一个使用场景是在…...
数学建模--非整数规划求解的Python实现
目录 1.算法流程简介 2.算法核心代码 3.算法效果展示 1.算法流程简介 #非线性规划模型求解: #我们采用通用的minimize函数来求解 #minimize(f,x,method,bounds,contrains) #f是待求函数 #x是代求的自变量 #method是求解方法 #bounds是取值范围边界 #contrains是约束条件 &q…...
LeetCode 48题: 旋转图像
题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]]…...
集成快递物流平台(快递100、快递鸟、闪送)连通多个应用
场景描述: 基于快递物流平台(快递100、快递鸟、闪送等)开放能力,无代码集成快递物流平台与多个应用互连互通。通过Aboter可搭建业务自动化流程,实现多个应用之间的数据连接。 连接器: 快递100快递鸟闪送…...
搭建hadoop集群的常见问题及解决办法
问题一: namenode -format重复初始化 出现问题的原因是重复初始化时会重新生成集群ID,而dn还是原先的集群ID,两者不匹配时无法启动相应的dn进程。 怎么查找问题原因:在logs目录下找到对应节点的.log文件,使用tail -200 文件名来查…...
virtualbox centos 使用NAT模式上网
新安装了centos7之后,发现无法yum,无法ping外网。ping 外网域名无法ping通。 virtualbox的nat 网卡已经打开了。 需要手动打开centos7的网卡(centos7.9) 可以通过 ip addr 命令查看网卡地址 1: lo: <LOOPBACK,UP,LOWER_UP>…...
蓝桥杯官网填空题(梅森素数)
题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 如果一个数字的所有真因子之和等于自身,则称它为“完全数”或“完美数” 例如: 6 1 2 3 28 1 2 4 7 14早在公元前 300300 多年&am…...
IBM Spectrum LSF Application Center 以应用程序为中心的工作负载提交和管理
IBM Spectrum LSF Application Center 为集群用户和管理员提供了一个灵活的、以应用为中心的界面。IBM Spectrum LSF Application Center 作为 IBM Spectrum LSF 的可选附加模块提供,使用户能够与直观、自我记录的界面进行交互。这提高了用户满意度和生产力。通过对…...
同步FIFO的verilog实现(2)——高位扩展法
一、前言 在之前的文章中,我们介绍了同步FIFO的verilog的一种实现方法:计数法。其核心在于:在同步FIFO中,我们可以很容易的使用计数来判断FIFO中还剩下多少可读的数据,从而可以判断空、满。 关于计数法实现同步FIFO的详…...
数据结构与算法面试
1、链表反转 需要三个指针,一个pre指针指向反转的前一个节点,cur指向要反转的节点,然后设置有一个temp指针指向需要反转的下一个节点,用来使得cur指针移动,因为我们反转之后,无法使用next指针访问到后一个节…...
android studio cmake生成.a文件(静态库)及调用(c c++)静态库.a
第一步生成静态库.a文件: cmake 语法如何生成静态库,就不介绍了,比较简单,我下文列出的参考资料里面有详细介绍。 add_library(${CMAKE_PROJECT_NAME} STATICsrc/CalculStatic.cpp)这一步有坑,我刚开始的时候,也花了不少时间,死活都没有生成.a静态库文件。但是我多方查…...
本地部署体验LISA模型(LISA≈图像分割基础模型SAM+多模态大语言模型LLaVA)
GitHub地址:https://github.com/dvlab-research/LISA 该项目论文paper reading:https://blog.csdn.net/Transfattyacids/article/details/132254770 在GitHub上下载源文件,进入下载的文件夹,打开该地址下的命令控制台,…...
SpotBugs代码检查:instanceof总是返回true(BC_VACUOUS_INSTANCEOF)
https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#bc-instanceof-will-always-return-true-bc-vacuous-instanceof 使用instanceof判断的时候,总是返回true,除非被检测的结果是null。遇到这种告警,可能是写代码的人理解错误…...
Redis的Java客户端:Jedis入门
Jedis的优点在于方法名称和Redis命令基本一致,不过存在线程安全问题,在多线程操作时需要引入线程池。 一、引入依赖 <!--jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifa…...
【完整代码】2023数学建模国赛C题代码--蔬菜类商品的自动定价与补货决策
C 题 蔬菜类商品的自动定价与补货决策 在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且品相随销售时间的增加而变差, 大部分品种如当日未售出,隔日就无法再售。因此,商超通常会根据各商品的历史销售和需 求情况每天进…...
idea:java: Compilation failed: internal java compiler error
java: Compilation failed: internal java compiler error错误 检查下面2个即可:...
普罗米修斯(Prometheus)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、普罗米修斯(Prometheus)是什么?1.下载Prometheus工具(切记和操作系统版本对应)2.解压命令3.修改prom…...
JAVA面试题2012年版本
1、已知a10,b15,在不用第三方变量的情况下,将a、b的值调换? 2、Session容易丢值,cookie不安全,用什么可以代替它们? 3、简述多态的特征及意义 4、冒泡排序 5、已知int array[]{3,7,5,12,20};实现从大到小排序并返回数组输出…...
nRF52与RFX2401C的PA+LNA优化方案:基于SoftDevice的高效驱动实现
1. 为什么需要PA和LNA优化方案 如果你正在用nRF52开发BLE设备,可能会遇到这样的困扰:明明参数配置没问题,但通信距离就是达不到预期。这时候就该请出我们今天的主角——RFX2401C这颗PA/LNA芯片了。我去年做智能牧场项⽬时就踩过这个坑&#…...
Linux网络命名空间实战:5分钟搞定veth pair跨命名空间通信
Linux网络命名空间实战:5分钟搭建隔离通信环境 在云计算和容器化技术蓬勃发展的今天,Linux网络命名空间已经成为系统管理员和开发者的必备技能。想象一下,当你需要在单台物理机上同时运行多个需要独立网络环境的服务时,传统方式可…...
小爱音响音乐服务:如何让智能音箱变身私人音乐管家?
小爱音响音乐服务:如何让智能音箱变身私人音乐管家? 【免费下载链接】xiaomusic 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 你是否曾经想过,家里的小爱音…...
开源字体实用指南:Poppins字体家族的全方位应用策略
开源字体实用指南:Poppins字体家族的全方位应用策略 【免费下载链接】Poppins Poppins, a Devanagari Latin family for Google Fonts. 项目地址: https://gitcode.com/gh_mirrors/po/Poppins 价值定位:如何让开源字体成为项目的视觉资产&#x…...
基于SpringBoot的CLAP音频分类服务开发实战
基于SpringBoot的CLAP音频分类服务开发实战 1. 项目背景与价值 音频分类在实际业务中有着广泛的应用场景,比如内容审核、智能家居、媒体分析等。传统的音频分类方案通常需要大量标注数据来训练专用模型,这在很多实际场景中成本高昂且不够灵活。 CLAP&…...
爱毕业aibiye等8款智能应用显著改善了论文撰写体验,编程与学术研究流程更加顺畅
文章总结表格(工具排名对比) 工具名称 核心优势 aibiye 精准降AIGC率检测,适配知网/维普等平台 aicheck 专注文本AI痕迹识别,优化人类表达风格 askpaper 快速降AI痕迹,保留学术规范 秒篇 高效处理混AIGC内容&…...
实时口罩检测系统性能优化:从算法到工程全链路调优
实时口罩检测系统性能优化:从算法到工程全链路调优 1. 引言 在公共场所疫情防控中,实时口罩检测系统发挥着重要作用。但在实际部署中,很多开发者会遇到性能瓶颈:检测速度跟不上视频流帧率、GPU资源占用过高、误报漏报频发等问题…...
Java微服务集成TranslateGemma:企业级翻译中台构建
Java微服务集成TranslateGemma:企业级翻译中台构建 1. 为什么需要企业级翻译中台 最近在给一家跨境电商平台做技术咨询时,客户提到一个很实际的问题:他们的客服系统、商品管理系统、营销内容平台各自维护着不同的翻译逻辑。客服用的是第三方…...
告别OpenAI API费用:手把手教你用本地BGE模型+FAISS搭建LangChain私有知识库
零成本构建企业级知识库:基于BGE与FAISS的私有化LangChain解决方案 在AI应用开发领域,数据隐私和成本控制正成为越来越多开发者的核心考量。当OpenAI等商业API按调用次数收费时,频繁的查询请求可能让个人开发者和小型团队不堪重负。更关键的是…...
MATLAB图像处理实战:5分钟搞定腐蚀膨胀操作(附完整代码)
MATLAB图像形态学处理实战:从原理到代码实现 在数字图像处理领域,形态学操作就像一把精密的"手术刀",能够对图像进行精细的"雕刻"和"修饰"。无论是去除噪点、填补空洞,还是分离粘连物体,…...
