搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
你好赵伟
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
人工智能与低代码:前端技术的双重变革_ai助力前端开发
2
GPT3的模型调参与优化技巧_gpt 调参
3
轻松入门大数据 第10章 入门到进阶:如何快速掌握Hive核心函数 10.1 Hive函数 10.1.19 【重要必掌握】窗口分析函数场景sumover的使用_hive sum over
4
8051 RAM/ROM结构_dw8051 内置ram初始化
5
文件I/O详解
6
NLP学习之:BERT论文复现(2)token embedding + segment embedding + position embedding_nlp论文复现
7
GitHub Copilot的使用方法和快捷按键_github copilot插件怎么用
8
Git 创建版本库
9
浅析EasyCVR视频技术与AR实景智能管理平台在智慧厂区中的应用
10
Windows MySQL8.0 下载安装添加环境变量使用(详细教程)_mysql8 window安装包下载
当前位置:
article
> 正文
1.Mysql 架构原理、基础库表sql语句
作者:你好赵伟 | 2024-04-12 12:55:31
赞
踩
1.Mysql 架构原理、基础库表sql语句
体系结构:C/S(客户端/服务端)模型架构
mysqld程序结构:
一条SQL语句的执行过程:
1.连接层:
客户端通过TCP/IP、套接字等方式与服务端进行连接。
当有哭护短发起连接时,需要携带主机名、用户名、密码,服务端进行验证
连接层的作用:
提供连接协议:TCP/IP、SOCKET(套接字)
提供验证:用户、密码、TP、SOCKET
提供专用连接线程:接收用户SQL,返回结果通过以下语句可以查看到连接线程基本情况:
mysql> show processlist;
2.SQL层:
建立连接后,当输入增删改查等语句时,需要进行下一层的处理也就是SQL层
处理过程与作用:
1.接收上层传送的SQL语句
2.语法验证模块,验证语句的语法
3.语义检查:判断SQL语句的类型
DDL:数据定义语言 create drop alter
DCL:数据控制语言 grant revoke
DML:数据操作语言insert delete update
DQL:数据查询语言select
4.权限检查,检查用户是否有权限
5.解析器:对语句执行前,进行预处理,生成解析树(执行计划),说白了就是生成多种执行方案
6.优化器:根据解析器得出的多种执行计划,进行判断,选择最优的执行计划
7.执行器:根据最优执行计划,执行SQL语句,产生执行结果,放在磁盘上
8.提供查询缓存(默认是没有开启的),会使用redis tair替代查询缓存
9.提供日志记录(日志管理章节):binlog,默认是没有开启的
存储引擎层(类似于linux中的文件系统)
负责根据SQL层的执行结果,从磁盘中拿数据以及写数据,也都是由存储引擎层来处理。
将16进制的磁盘数据,交给SQL结构化化成表
连接层的专用线程返回给用户
有关库的SQL语句:
库名和库属性:
创建库并指定字符编码和校对集:
create database wordpress default charset utf8mb4 collate utf8mb4_bin;
查看建库语句:
show create database wordpress;
查看所有库:
show databases;
切换库:
use wordpress;
有关表的SQL语句:
表名、表属性、列:列名(字段),列属性(数据类型,约束等)、数据行(记录)
创建表,指定列和数据类型:
create table t1 (id int primary key,name varchar(20));
插入数据,建议多行一起插入,减少日志量:
insert into t1 values (1,'zhangsan'),(2,'lisi'),(3,'wangwu');
查看表所有数据:
select * from t1;
分析表结构:
desc t1;
查看创表语句:
show create table t1;
有关用户、权限的SQL语句:
查看mysql所有用户:
select user,host from mysql.user;
创建用户:create user lisi@'%' identified by '
1234.com
';
查看用户:select user ,host ,authentication_string from mysql.user;
更改用户权限或密码:alter user lisi@'192.168.1.%' identified by '456';
删除用户:drop user lisi@'192.168.1.%';
权限管理:
grant all on wordpress.* to wordpress@'192.168.1.%' identified by '123';
创建一个用户对app库下的所有表拥有增删改查权限:
grant select ,update,insert,delete on app.* to app@'192.168.8.%' identified by '
1234.com
';
查看权限:show grants for app@'192.168.8.%';
回收权限:
将删除权限回收:revoke delete on app.* from app@'192.168.8.%';
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/你好赵伟/article/detail/410727
推荐阅读
article
Mysql
恢复
误删库
表
数据
_
mysql
还原
删除
的
表
数据
...
通过
mysql
binlog 工具来
恢复
mysql
误删的库
表
数据
,希望你永远都不会用到。_
mysql
还原
删除
的
表
数据
...
赞
踩
article
MySQL
恢复
误删
数据
_
mysql
中
delete
删除
数据
之后如何
恢复
...
通过 vbs 脚本转换 sql 语句,当然也可以使用其他的语言,window 执行 vbs 不需要额外的环境,你只需要修...
赞
踩
article
MySQL
-
系统
及自定义
变量
...
MySQL
-
系统
及自定义
变量
MySQL
-
系统
及自定义
变量
详情系...
赞
踩
article
mysql
误删表
怎么
恢复
_
怎么
恢复
navicat
删除的表...
mysql
数据库如果因为某些原因导致数据损坏或丢失,如果有备份我们可以把之前备份的数据库备份进行还原。要是没有备份 可能...
赞
踩
article
mysql
查询
下划线
等
特殊字符
_
查询
第二个字符为
下划线
...
mysql
查询
下划线
等
特殊字符
_
查询
第二个字符为
下划线
查询
第二个字符为
下划线
一、背景 &nb...
赞
踩
article
mysql
合并
列
值为一行
查询
_
将
查询
列
合并
为
1
行...
mysql
合并
列
值为一行
查询
_
将
查询
列
合并
为
1
行将
查询
列
合并
为
1
行 一、oracle ...
赞
踩
article
navicat
查看
mysql
的
版本号
_
navicat
mysql
的
版本号
...
navicat
查看
mysql
的
版本号
_
navicat
mysql
的
版本号
navicat
mysql
的
版本号
...
赞
踩
article
mysql
获取
当前
时间
、
前后
一天、
前后
一小时等...
mysql
获取
当前
时间
、
前后
一天、
前后
一小时等相关函数
mysql
获取
当前
时间
、
前后
一天、
前后
一小时等 ...
赞
踩
article
MySQL
小技巧:恢复
误删除
的
表
...
每天 2:30 做完全备份,早上 10:00
误删除
了
表
students,10:10 才发现故障。现需要将数据库还原...
赞
踩
article
mysql
误删
找回_
mysql
删除
恢复...
一、模拟误
删除
数据表的恢复1 二进制日志功能启用vim /etc/my.cnf[
mysql
d]log-bin2 完全备份...
赞
踩
article
My
SQL
-
聚合
函数
:
聚合
函数
概述、
GROUP
BY使用、
HAVING
使用、
SELECT
的执行过程、...
聚合
函数
作用于一组数据,并对一组数据返回一个值。可以使用
GROUP
BY子句将表中的数据分成若干组过滤分组:
HAVING
...
赞
踩
article
MySQL
Workbench
安装及使用...
MySQL
是一个关系型数据库管理系统,由瑞典
MySQL
AB 公司开发,属于 Oracle 旗下产品。
MySQL
是最流...
赞
踩
article
MySQL
workbench
使用教程
(
逐渐补充版
)
...
右键点击需要修改的表,选择「Alter Table...」,右侧会显示出表信息,修改需要修改的内容后,Apply 即可应...
赞
踩
article
MySQL
-
MVCC
全网最详细解读
_
mysql
判断
是否
mvcc
...
什么是
MVCC
在学习
MVCC
前,先了解一下当前读和快照读 当前读 比如lock in share mode(共享锁),f...
赞
踩
article
MySQL
MVCC
的详解之
Read
View
_
mysql
mvcc
readview...
本文由浅入深讲解了
MySQL
MVCC
实现机制,以及其基础READ VIEW判定_
mysql
mvcc
readview...
赞
踩
article
【
MySQL
】
MVCC
机制(
undo
log
,read
view
)_mvvc
undo
log
rea...
【
MySQL
】
MVCC
机制_mvvc
undo
log
read
view
mvvc
undo
log
read
view
...
赞
踩
article
MySQL
-
InnoDB
MVCC
实现
、
Read
View
使用详解_
readview
生成时机...
MVCC
全称Multi-Version Concurrency Control,
MVCC
是一种通过增加版本冗余数据来实...
赞
踩
article
Android
Studio
使用
JDBC
远程连接
mysql
的注意事项(附示例)_
eclipse
my...
JDBC
为java程序访问各种类型的关系型数据库提供了统一的接口,用户不必针对不同数据库写出不同的代码,但是使用
JDBC
...
赞
踩
article
Android
向
服务器
的
数据
库
MySQL
传输
数据
:经过修正的
Android
+ HTTP + xa...
查阅了很多资料,修改了别人的代码,终于实现了
android
向阿里云
服务器
的
数据
传输功能。以下说说自己的步骤:1、软硬件环...
赞
踩
article
m>MySQL
m>
m>的
m>多层 SP 中
m>Cursor
m>
m>的
m>
m
_
m>
m
ax
m>_
m>cursor
m>_
m>index
m> 相关 BUG ...
在
m>MySQL
m>
m>的
m> sp 里面使用
m>cursor
m>
m>的
m>话,因为只用于统计,不用于实际赋值和计算过程,因此不影响使用。但是如...
赞
踩
相关标签
mysql
数据库
mysql 误删表怎么恢复
mysql 误删找回
sql
mvcc
MVCC
READ VIEW
MySQL
InnoDB
undo log
read view