Mysql基础(安装+语句+逻辑结构)

安装+配置#

Windows#

MySQL8.0.15安装教程

Linux#

Ubuntu安装Mysql8

常用语句(TODO:补充使用场景)#

数据库操作#

// 创建数据库
create database [if not exists]/*防止重名报错*/ <表名>//可结束
->character <字符集名> 
->collate <对齐方式>              
// 删除数据库
drop database <数据库名>;
// 获取所有数据库
show databases;
// 查看某一数据库结构
show create database <数据库名>;
// 使用数据库
use <数据库名>;
// 查看当前使用中的数据库
select database();

表操作#

// 建表
create table <表名> (表头,类型......);
例如:
create table one
->(
->id int,
->name varchar(99)
->);
// 删表
drop table <表名>;

数据操作#

// 添加数据
// 方法一
insert into <表名>
(<字段名,字段名......>)//若不出现这行,就代表是为全部字段进行数据插入
//可以进行多行指定字段插入数据
values\value(与相应字段所对应的数据1 , 数据2 ,数据3......),(数据1 , 数据2 , 数据3......);
// 方法二
insert into<表名>
set <字段名>=<数据>,
<字段名>=<数据>,
......,
<字段名>=<数据>;
// 修改数据
update <表名>
set <字段名> = <数据>//修改的字段
//where处可以同时加多个条件,但不可以加=NULL,各个条件使用and相连
where <字段名>=<数据>;//寻找正确的修改字段位置
order by <字段名> <顺序选择>//选择修改的顺序
// 删除数据
delete from <表名>
where <字段名> = <数据>
order by <字段名> <顺序选择>
// 查询数据
SELECT [DISTINCT]
{* | <字段列名>,<字段列名>}
[
FROM <1>, <2>…
[WHERE <表达式>
[GROUP BY <group by definition>
[HAVING <expression> [{<operator> <expression>}…]]
[ORDER BY <order by definition>]
[LIMIT[<offset>,] <row count>]
]

逻辑结构#

Mysql = Server层 + 存储引擎层

Mysql中SQL语句是怎么执行的?#

  • 沟通连接池建立连接
  • 查询缓存
    • mysql缓存是不建议开启, 因为缓存失效问题, Mysql某一个数据一旦被改变那么就会影响很多的缓存(Mysql8.0关闭了缓存功能)
  • SQL接口分析SQL语句
  • 解析器将SQL进行解析(解析为计算机可以执行的操作)
  • 优化器对SQL进行优化,不影响结果且会生成一个执行计划
  • 根据执行计划调用存储引擎执行指定命令,对数据进行操作
  • 返回数据,且可以存储结果到缓存
posted @   互联网农民工  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示