MySQL一篇速通

前置任务:MySQL的安装与卸载

推荐使用压缩版:https://dev.mysql.com/downloads/

1.解压文件(解压路径不能出现中文)

2.在解压目录(安装目录)下:

3.修改配置文件my.ini

  1. 配置环境变量将bin路径填入系统变量Path
  1. 初始化mysql

以管理员身份运行cmd

复制代码
mysqld --initialize --console

记录下初始密码

  1. 安装mysql服务

    mysqld install

删除服务:

复制代码
sc delete mysql服务名

重新打开cmd管理员命令窗口,启动服务

复制代码
net start mysql

停止服务:

复制代码
net stop mysql

7.登录mysql

复制代码
mysql -uroot -p
回车完输入临时密码即可

8.修改临时密码

复制代码
ALTER USER root@localhost IDENTIFIED BY '修改后的密码'

卸载MySQL:删除解压目录即可

一、登录解析

1.登录命令

2.查询系统用户及主机

3.修改root用户的主机为任意

4.刷新权限表,等价于重启服务

5.使用IP地址远程登录

mysql的常见命令

二、库操作

1.展示所有的数据库

2.创建库

3.切换数据库

4.删除数据库

三、数据库字符集

1.数据库字符集包含

字符集(utf8mb4或utf8)和校验规则(collation)

utf8mb4 和 utf: 世界通用字符集

gbk: 中文字符集

2.查看当前数据库字符变量

3.如果需要更改字符集则使用配置文件my.ini

退出MySQL重进生效

4.查询校验规则

四、数据库表操作

1.创建表

2.操作表

3.复制表

  • 蠕虫复制

一步完成法:

👆数据量大时使用这种方法可能会数据泄露

4.数据库字典

tables-存放数据库里所有的数据表、以及每个表所在数据库。

schemata-存放数据库里所有的数据库信息

views-存放数据库里所有的视图信息。

columns-存放数据库里所有的列信息。

triggers-存放数据库里所有的触发器。

routines-存放数据库里所有存储过程和函数。

key_column_usage-存放数据库所有的主外键

table_constraints-存放数据库全部约束。

statistics-存放了数据表的索引。

5.表约束

约束: 需要数据强制执行的数据校验规则,作用: 保证数据的完整性,可以保护数据

五大类约束:

  1. NOT NULL 非空约束 数据字段不能为空
  2. UNIQUE 唯一约束 数据唯一
  3. PRIMARY KEY 主键约束 "数据的序号" 更加高效查询
  4. FOREIGN KEY 外键约束 数据之间有关联关系
  5. CHECK 检查约束

外键约束

复制代码
格式:constraint 约束名 foreign key 外键约束字段 references 主表(主
表外键关联字段)

从表student数据可删除,主表teacher数据不可删除

约束的修改

删除外键需要两步:1.删除外键约束 2.删除外键索引

6.存储引擎

MyISAM和InnoDB的区别?

  1. 事务: MyISAM不支持事务

  2. 存储文件: innodb : frm、ibd MyISAM: frm、MYD、MYI

  3. 数据行锁定: MyISAM不支持

  4. 全文索引: INNODB不支持,所以MYISAM做select操作速度很快

  5. 外键约束: MyISAM不支持

两种引擎优缺点:

INNODB:

  1. 可靠性更强,或者业务要求事务时

  2. 表更新和查询相当频繁,并且表锁定的情况比较大

  3. 如果你需要大量的修改和插入时。

MYISAM:

  1. 做很多的数据计算,mysql的底层系统库就是MyISAM

  2. 修改和插入不频繁,如果执行大量的select,MYISAM比INNODB更加适合

  3. 没有事务

7.用户和授权

复制代码
创建用户:
create user "用户名"@"主机地址" identified by '密码';
授权:
grant 权限 on 数据库.表 to "用户名"@"主机地址";

权限:select、insert、delete、update
*.*:所有数据库下的所有表

flush privileges;刷新权限

撤销权限:

复制代码
revoke 权限类型 on 数据库.表 '用户名'@'主机名';
FLUSH PRIVILEGES;

删除用户:

练习

复制代码
根据以下需求完成图书管理系统数据库及表设计,并建库建表,并截图创建表的详细信息(desc 表名),不用添加数据
1. 用户表: 字段: 姓名,用户名,密码,电话,住址,专业及年级
2. 图书表: 字段: 图书名,分类,介绍,出版社,入库时间
3. 借阅登记表: 借阅人、图书名、借阅时间、是否归还

用户表:

图书表:

借阅登记表:

图数据库原理

相关推荐
后端优选官22 分钟前
上海Agent开发公司:企业级智能体软件的技术架构与落地评估
数据库·人工智能·架构·软件开发·开发经验·上海
JustNow_Man23 分钟前
`openspec/config.yaml` 解析与生效机制
数据库
Databend26 分钟前
用 QUALIFY 写出更清晰的窗口函数 SQL
数据库·sql·数据分析
数智化管理手记28 分钟前
应收应付资金占用过高怎么办?应收应付搭配账龄分析怎么做
大数据·网络·数据库·人工智能·数据挖掘
用户713335851562434 分钟前
MySQL - EXPLAIN 执行计划
数据库
这就是佬们吗1 小时前
Python入门③-运算符、条件与循环
开发语言·数据库·vscode·python·pycharm·编辑器
wending-Y1 小时前
Flink 滑动窗口作业 TaskManager RocksDB 状态膨胀 Bug 分析
java·前端·数据库
小大宇1 小时前
mongoDB dump技巧
数据库·mongodb
huijingjituan1 小时前
三方聊天软件工具定制开发|打造企业级智能通讯平台
数据库·安全·阿里云·实时互动·腾讯云
zyplayer-doc1 小时前
研发接口文档怎么长期维护:zyplayer-doc把API、Markdown和变更记录放进同一个知识库
大数据·数据库·人工智能·笔记·pdf·ocr