【MySQL】数据库基本使用
文章目录
- 一、数据库介绍
- 二、数据库使用
- 2.1 登录MySQL
- 2.2 基本使用
- 2.2.1 显示当前 MySQL 实例中所有的数据库列表
- 2.2.2 创建数据库
- 2.2.3 创建数据库表
- 2.2.4 在表中插入数据
- 2.2.5 在表中查询数据
- 三、服务器、数据库、表之间的关系
- 四、SQL语句分类
- 五、存储引擎
一、数据库介绍
MySQL本质是基于C(mysql)S(mysqld)模式的一种网络服务。
是一套提供数据存取服务的网络程序。
-
mysqld:数据库的服务器端(d表示守护进程) -
mysql:数据库的客户端
数据库是在磁盘或内存中存储的结构化数据文件。
- 为什么不用一般文件存储?
文件确实能存储,但是站在用户角度没有提供较好的数据管理能力。(比方说在文件中查找以120开头的ip地址)
而如果是数据库,它对数据内容存储有一套解决方案,我们提交字段或者要求,数据库返回结果。

二、数据库使用
2.1 登录MySQL
mysql -h 127.0.0.1 -P 3306 -u root -p
-h:指定部署了MySQL的主机名或 IP 地址。在这里,127.0.0.1 表示要连接的主机为本地主机,即连接本机上的 MySQL 数据库。不指明-h,默认连上本地服务器搭建的MySQL。
-P:指定要连接的 MySQL 数据库所在的端口号。在这里,3306 表示 MySQL 数据库的默认端口号。不指明-P,默认使用配置文件指明的端口号连接MySQL。
-u:指定要连接 MySQL 数据库的用户名。在这里,root 表示使用 root 用户名连接 MySQL 数据库。
-p:表示连接 MySQL 数据库时需要输入密码。在这里,-p 后面没有指定密码,所以会提示输入密码。
2.2 基本使用
2.2.1 显示当前 MySQL 实例中所有的数据库列表
show databases;

2.2.2 创建数据库
create database test;

数据库存放于/var/lib/mysql目录下。查看:

创建数据库,本质上就是在创建Linux下创建一个目录。
2.2.3 创建数据库表
可以看到有很多数据库,所以先选择其中一个数据库:
use test;

接下来就可以创建数据库表了:
mysql> create table person(-> name varchar(32),-> age int,-> gender varchar(2)-> );

在数据库中建立表,本质上就是在Linux中创建对应的文件。

2.2.4 在表中插入数据
insert into person (name, age, gender) values ('张三', '20', '男');

2.2.5 在表中查询数据
select* from person;

数据库本质其实也是文件,只不过这些文件并不由程序员直接操作,而是由数据库服务帮我们进行操作
三、服务器、数据库、表之间的关系
其实安装数据库服务器(mysqld)就是在linux上安装了一个数据库管理的应用程序,在后台以守护进程的方式运行。这个程序就可以一次管理多个数据库(表):

四、SQL语句分类
SQL语句分为三种:
DDL数据定义语言,自然是用来维护存储数据的结构,代表指令:
create,drop,alter,操作表
DML数据操纵语言,用来对数据进行操作,代表指令:insert,delete,updata,操作数据
DML中又单独分了一个DQL,数据查询语言,代表指令:select
DCL数据控制语言,主要负责权限管理和事务,代表指令:grant,revoke,commit
五、存储引擎
存储引擎:
数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。也就是真正和操作系统打交道的程序。
查找引擎:
show engines;

MySQL的核心就是插件式存储引擎,支持多种存储引擎
最常用的存储引擎就是InnoDB,MyISAM
默认的存储引擎是InnoDB
相关文章:
【MySQL】数据库基本使用
文章目录 一、数据库介绍二、数据库使用2.1 登录MySQL2.2 基本使用2.2.1 显示当前 MySQL 实例中所有的数据库列表2.2.2 创建数据库2.2.3 创建数据库表2.2.4 在表中插入数据2.2.5 在表中查询数据 三、服务器、数据库、表之间的关系四、SQL语句分类五、存储引擎 一、数据库介绍 …...
计算shell脚本执行的时间
我们在使用shell脚本进行一些批量活动的时候,在有的场景下会需要知道脚本执行用了多长的时间,一谈到这个话题,我们一般的想法就是记录时间再开始阶段,执行完成后再记录时间,然后求时间差,这样是可以的&…...
无网络环境下,如何部署Docker镜像
无网络环境下,如何部署Docker镜像 什么是Docker镜像 Docker镜像是Docker容器的基础构建块。它是一个轻量级、独立且可执行的软件包,其中包含了运行应用程序所需的所有文件系统、代码、依赖关系和配置。 Docker镜像由一系列只读层(Layers&a…...
瑞吉外卖项目----(2)缓存优化
1 缓存优化 1.0 问题说明 1.1 环境搭建 将项目推送到远程仓库里,教程在git 提交远程仓库前建议取消代码检查 创建新的分支v1.0(用于实现缓存优化)并推送到远程仓库 1.1.1 maven坐标 导入spring-data-redis的maven坐标: &l…...
c++ http url encode decode
在C++中,可以使用以下方法对URL进行编码和解码: URL编码:#include <iostream> #include <string> #include <sstream> #include <iomanip>std::string urlEncode...
@vue/composition-api功能介绍
前言 vue/composition-api 是通过一个插件的方式,为 Vue2(2.7自带,2.6及以下可用) 提供类似 Vue3 composition API 的函数式编程能力。它的实现思路主要有: 1、提供组合式函数,在函数内部追踪响应性依赖。 2、将组合产生的响应式状态保存到…...
WebSocket整合直播
由于浏览器不支持对于rtmp协议推拉流,所以需要后台对传输的数据进行处理,将数据转接,为了实现其实时性,使用websocket将数据传输 先使用obs和vlc测试正常的推拉流是否正常 然后在跑本地后台传输视频 使用JavaCV技术传输音视频 …...
【Linux】IO 篇:文件调用原理,文件描述符,FILE的内涵,解析重定向,理解缓冲区
文章目录 一、系统调用接口二、文件调用1. 文件描述符 fd2. 文件调用原理3. FILE 三、重定向dup2 四、缓冲区简易 FILE 的代码实现 文件被加载之前,被存在磁盘上,操作文件,文件的部分内容则会被调度到 内存中。 要分析文件,我们也…...
力扣:47. 全排列 II(Python3)
题目: 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 来源:力扣(LeetCode) 链接:力扣 示例: 示例 1: 输入:nums [1,1,2] 输出:[…...
Android uart-修改串口节点名
需求: 应客户软件的需求,需要将Android系统里面的/dev/ttyS3节点名称修改为/dev/ttyS9; 实现: 1、判断 driver->name是否为"ttyS",index是否为3,如果是的话替换为ttyS9; diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c old mode 100644 new …...
【HarmonyOS】键盘遮挡输入框时,实现输入框显示在键盘上方
【关键字】 harmonyOS、键盘遮挡input,键盘高度监听 【写在前面】 在使用API6、API7开发HarmonyOS应用时,常出现页面中需要输入input,但是若input位置在页面下方,在input获取焦点的时候,会出现软键盘挡住input情况&a…...
day19-二叉树的最大最小深度
二叉树的最大/最小深度 给定一个二叉树 root ,返回其最大/小深度。 二叉树的 最大/小深度 是指从根节点到最远/近叶子节点的最长路径上的节点数。 思路 求最大深度比较简单,我们先解决最大深度。 最大深度 递归 class Solution { public:int maxD…...
Ansible-roles
Ansible-roles 一、roles作用 把playbook剧本里的各个play看作为角色,将各个角色的tasks任务、vars变量、templates模板、files文件等内容放置到角色的目录中统一管理,需要的时候可在playbook中直接使用roles调用,所以roles可以实现playboo…...
NullPointerException导致手机重启案例分析
和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、 Framework 层对象 空指针导致手机重启。二、解决方案,规避空指针三、Telecom APK 控制导致的重启举例 一、 Framework 层对象 空指针导…...
JAVA 反编译工具
Releases deathmarine/Luyten GitHub 安装exe 打开拖入文件即可...
(AcWing)分组背包问题
有 N 组物品和一个容量是 V 的背包。 每组物品有若干个,同一组内的物品最多只能选一个。 每件物品的体积是 vij,价值是 wij,其中 i 是组号,j 是组内编号。 求解将哪些物品装入背包,可使物品总体积不超过背包容量&…...
JSP项目国际化词条统计
国际化字条匹配并导出为excel格式 需求 将jsp页面里的key值,就是<spring:message code"gsyezer_Single_crystal"/>里的gsyezer_Single_crystal。和对应的字条对应上,并以excel表格形式输出。 jsp页面key值示例 <label for"&…...
Java课题笔记~ MyBatis缓存
为了减少重复查询给数据库带来的压力,MyBatis提供了缓存机制,这种机制能够缓存查询的结果,避免重复的查询。 MyBatis提供了两种缓存方式: 一种为针对于SqlSession的缓存【默认开启】 另一种为针对于全局的缓存【手动开启】 一…...
数据结构--循环队列、链队
基础知识 //循环队列数据结构 typedef struct { QElemType data[MaxQSize];//数据域 int front,rear; //队头队尾指针 }SqQueue; //链队结点数据结构 typedef struct QNode { int data;//数据域 struct QNode* next;//指针域 }QNode, * QueuePtr; typedef struct { struct Q…...
hbuilderx主题色分享-github风格
效果 步骤 hbuilderx总共有三种主题,绿柔主题Default,酷黑主题Monokai,雅黑主题Atom One Dark,修改主题色是基于三种主题之一的,不能直接创建一个新主题,比如下方配置是基于Atom One Dark(对象名为[Atom One Dark]),则当前hbuild…...
别再死记公式了!用Python+Matplotlib亲手仿真LC并联谐振,直观理解选频原理
用PythonMatplotlib动态仿真LC并联谐振:从代码到物理直觉的沉浸式探索 当教科书上的LC并联谐振公式变成屏幕上跳动的曲线,当抽象的Q值概念转化为滑块调节时的实时波形变化,电子工程的学习便从枯燥的符号演算升维为一场充满探索乐趣的科学实验…...
量子行走:从理论到Python实现——6. 量子机器学习与前沿应用
量子机器学习探索了量子计算与人工智能的交叉领域,通过利用量子叠加与纠缠特性处理经典难以应对的高维数据模式。Berkeley CS269Q课程与PennyLane教程系统阐述了从量子特征映射到实际化学模拟的完整技术栈,本章将围绕特征空间扩展、优化求解与信息安全三…...
ImageMagick安装后报错‘vcomp140.dll缺失’?手把手教你彻底解决Visual C++依赖问题
ImageMagick安装后报错‘vcomp140.dll缺失’?手把手教你彻底解决Visual C依赖问题 当你兴冲冲下载完ImageMagick准备大展身手时,命令行却突然弹出一串红色错误提示——"无法启动程序,因为计算机中丢失vcomp140.dll"。这种场景对于…...
深入解析Golang中的占位符:%w、%v、%s的应用与最佳实践
1. Golang占位符基础入门 刚开始接触Golang时,fmt包里的那些百分号开头的占位符确实让我有点懵。记得第一次看到%s、%v、%w这些符号时,我还以为是什么特殊运算符。后来在实际项目中用多了才发现,这些看似简单的占位符,其实是Gola…...
开发提效新组合:用Cursor生成代码片段,在快马一键集成与部署
最近在做一个数据整理的小工具时,发现了一个特别高效的工作流组合:先用Cursor快速生成核心代码片段,再用InsCode(快马)平台一键整合部署。整个过程就像搭积木一样顺畅,特别适合需要快速实现功能模块的场景。 需求分析 我们经常要处…...
告别SIFT/ORB!用LoFTR+Transformer搞定低纹理场景的图片匹配(附Python实战代码)
低纹理场景图像匹配实战:LoFTR与Transformer的革新应用 在计算机视觉领域,图像特征匹配一直是三维重建、视觉定位等任务的基础环节。传统方法如SIFT、ORB依赖于特征检测器提取关键点,但在低纹理、重复图案或运动模糊场景中表现往往不尽如人意…...
算法基础篇(11)Floyd算法
Floyd算法本质是动态规划,用来求任意两点之间的最短路,也称为插点法。通过不断在两点之间加入新的点来更新最短路。1、状态表示:f[k][i][j]表示:仅仅经过1~k这些点,结点i走到结点j的最短路径的长度。2、状态转移方程&a…...
深度学习 三次浪潮、三大驱动力与神经科学的恩怨(二)
1. 一个领域,多个名字 很多人以为"深度学习"是一个全新的领域。事实上,它的历史可以追溯到 20 世纪 40 年代——只不过在不同时期,它被叫过完全不同的名字: 1940s-1960s:被称为控制论(Cybernetic…...
从 Spotlight 到 Raycast:一个 Mac 效率控的深度迁移与自定义指南
1. 为什么我从 Spotlight 迁移到 Raycast 作为一个用了十年Mac的老用户,我几乎每天都要和Spotlight打交道。从最初的简单文件搜索,到后来的计算器、词典功能,Spotlight确实帮了我不少忙。但直到去年发现Raycast,我才意识到原来Ma…...
Qwen-Rapid-AIO终极教程:8秒完成专业级AI图像编辑的完整指南
Qwen-Rapid-AIO终极教程:8秒完成专业级AI图像编辑的完整指南 【免费下载链接】Qwen-Image-Edit-Rapid-AIO 项目地址: https://ai.gitcode.com/hf_mirrors/Phr00t/Qwen-Image-Edit-Rapid-AIO 你是否曾经因为AI图像编辑工具操作复杂而头疼?是否厌倦…...
