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. 借阅登记表: 借阅人、图书名、借阅时间、是否归还

用户表:

图书表:

借阅登记表:

图数据库原理

相关推荐
阿祥~3 小时前
windows 安装 Redis
数据库·redis·缓存
是2的10次方啊3 小时前
图解MySQL索引:从二叉树到B+树的演进之路(基础篇)
mysql
蛋先生DX3 小时前
AI 友好的云开发 MySQL SDK 它来了!微信小程序能直连关系型数据库了
mysql·ai编程·小程序·云开发
吃着火锅x唱着歌4 小时前
LeetCode 719.找出第K小的数对距离
1024程序员节
青云交4 小时前
Java 大视界 -- Java 大数据在智能建筑能耗监测与节能策略制定中的应用
数据分析·数据存储·数据可视化·1024程序员节·能耗监测·java 大数据·智能建筑
21号 14 小时前
21.事务和锁(重点)
开发语言·数据库
又见野草4 小时前
软件设计师知识点总结:结构化开发
数据库·webview·结构化开发
CH_Qing4 小时前
【ROS2】驱动开发-雷达篇
人工智能·ros2·1024程序员节
终焉代码5 小时前
【Linux】进程初阶(1)——基本进程理解
linux·运维·服务器·c++·学习·1024程序员节