当前位置: 首页 > news >正文

【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之后&#xff0c;发现无法yum&#xff0c;无法ping外网。ping 外网域名无法ping通。 virtualbox的nat 网卡已经打开了。 需要手动打开centos7的网卡&#xff08;centos7.9&#xff09; 可以通过 ip addr 命令查看网卡地址 1: lo: <LOOPBACK,UP,LOWER_UP>…...

蓝桥杯官网填空题(梅森素数)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 如果一个数字的所有真因子之和等于自身&#xff0c;则称它为“完全数”或“完美数” 例如&#xff1a; 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 的可选附加模块提供&#xff0c;使用户能够与直观、自我记录的界面进行交互。这提高了用户满意度和生产力。通过对…...

同步FIFO的verilog实现(2)——高位扩展法

一、前言 在之前的文章中&#xff0c;我们介绍了同步FIFO的verilog的一种实现方法&#xff1a;计数法。其核心在于&#xff1a;在同步FIFO中&#xff0c;我们可以很容易的使用计数来判断FIFO中还剩下多少可读的数据&#xff0c;从而可以判断空、满。 关于计数法实现同步FIFO的详…...

数据结构与算法面试

1、链表反转 需要三个指针&#xff0c;一个pre指针指向反转的前一个节点&#xff0c;cur指向要反转的节点&#xff0c;然后设置有一个temp指针指向需要反转的下一个节点&#xff0c;用来使得cur指针移动&#xff0c;因为我们反转之后&#xff0c;无法使用next指针访问到后一个节…...

android studio cmake生成.a文件(静态库)及调用(c c++)静态库.a

第一步生成静态库.a文件: cmake 语法如何生成静态库,就不介绍了,比较简单,我下文列出的参考资料里面有详细介绍。 add_library(${CMAKE_PROJECT_NAME} STATICsrc/CalculStatic.cpp)这一步有坑,我刚开始的时候,也花了不少时间,死活都没有生成.a静态库文件。但是我多方查…...

本地部署体验LISA模型(LISA≈图像分割基础模型SAM+多模态大语言模型LLaVA)

GitHub地址&#xff1a;https://github.com/dvlab-research/LISA 该项目论文paper reading&#xff1a;https://blog.csdn.net/Transfattyacids/article/details/132254770 在GitHub上下载源文件&#xff0c;进入下载的文件夹&#xff0c;打开该地址下的命令控制台&#xff0c;…...

SpotBugs代码检查:instanceof总是返回true(BC_VACUOUS_INSTANCEOF)

https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#bc-instanceof-will-always-return-true-bc-vacuous-instanceof 使用instanceof判断的时候&#xff0c;总是返回true&#xff0c;除非被检测的结果是null。遇到这种告警&#xff0c;可能是写代码的人理解错误…...

Redis的Java客户端:Jedis入门

Jedis的优点在于方法名称和Redis命令基本一致&#xff0c;不过存在线程安全问题&#xff0c;在多线程操作时需要引入线程池。 一、引入依赖 <!--jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifa…...

【完整代码】2023数学建模国赛C题代码--蔬菜类商品的自动定价与补货决策

C 题 蔬菜类商品的自动定价与补货决策 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差&#xff0c; 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&#xff0c;商超通常会根据各商品的历史销售和需 求情况每天进…...

idea:java: Compilation failed: internal java compiler error

java: Compilation failed: internal java compiler error错误 检查下面2个即可&#xff1a;...

普罗米修斯(Prometheus)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、普罗米修斯&#xff08;Prometheus&#xff09;是什么&#xff1f;1.下载Prometheus工具&#xff08;切记和操作系统版本对应&#xff09;2.解压命令3.修改prom…...

JAVA面试题2012年版本

1、已知a10&#xff0c;b15,在不用第三方变量的情况下&#xff0c;将a、b的值调换? 2、Session容易丢值&#xff0c;cookie不安全&#xff0c;用什么可以代替它们? 3、简述多态的特征及意义 4、冒泡排序 5、已知int array[]{3,7,5,12,20};实现从大到小排序并返回数组输出…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...