MySql课堂笔记

MySql是什么?

mysqlOracle旗下的一款关系型数据库,mysql是千万级数据库,常应用中小型项目中。

数据库主要是用来永久型存储数据的,通常是存在硬盘上,也有存储在内存上。

什么是关系型数据库?

关系型数据库,它通常以一个二维表的形式存储数据,存储在硬盘上,速度慢,但是可以保证数据的完整性。

主要有以下特点:

  1. 本地仓库:本地仓库是一个大的集合,里面包含很多数据库

  2. 数据库: 数据库也是一个集合,集合内包含很多的表

  3. 表:表也是一个集合,里面包含了很多的数据,表里面又分行,列(字段,比如手机字段)

  4. 主键:一个表里面有某个字段,它的值是唯一不会重复的,可以将设置成主键(比如身份证号)

  5. 外键:外键是多个表之间建立联系的关键的字段

  6. 索引:就是检索的关键字,方便你去搜索,加快检索速度,类似书的索引目录

  7. 备份:可以设置一个定时备份任务,每天晚上0点自动备份一次数据库。

  8. 事务:保证数据的一致性、完整性

关系型数据库有哪些?

  1. mysql:
  2. sqlserver
  3. oracle
  4. DB2
  5. access

什么是非关系型数据库?

非关系型数据库用键值存储数据库,存储的形式大概如下:

image-20230518162435501

非关系型数据的优点:

  1. 快速的读写:非关系型数据很多是存在内存上,当你重启或者关机,它会立即将内存的数据缓存到硬盘上,然后当你重启服务的时候,它自动从硬盘缓存读取到内存中。内存比较硬盘小,所有通过只能存一些小数据。

  2. 成本低廉

  3. 简单的扩展

非关系型数据的缺点:

  1. 没有关系,所有难于保证数据的完整性

  2. 事物弱化,没有事物

  3. 数据存储在内存,不能作为大型数据库,因为内存很小

  4. 大型项目不推荐使用非关系作为主数据库

非关系型数据库有哪些?

  1. Oracle NoSQL
  2. MongoDB
  3. Redis
  4. Cassandra

MySql下载安装

MySql下载

  1. 在浏览器输入mysql官网地址https://www.mysql.com/

  2. 选择顶部Download菜单

    image-20230518164033907

  3. 下载社区免费版

    image-20230518164054530

  4. 选择对应的操作系统windows 举例 点击downloadPage按钮

    image-20230518164153803

  5. 选择离线版

    image-20230518164224524

  6. 选择不登录

    image-20230518164256692

  7. 下载完成即可

    image-20230518164332108

MySql安装

  1. 双击mysql安装文件

    image-20230518170235164

  2. 打开之后会要求你接受协议,勾选,选择next下一步

    image-20230518170837050

  3. 选择Custom自定义安装

    image-20230518170424829

  4. 单击绿色箭头加入右侧,表示要安装的东西,单击Next下一步

    image-20230518170535336

    image-20230518170938309

  5. 单击右侧 MySQL Server8.0.13 -X64,会出现高级设置Advanced option选项

    image-20230518171124329

  6. 单击Advanced option选项,会弹出让更改安装磁盘位置

    image-20230518171227655

    上面的Install Directory数据mysql数据库主程序文件,你可以安装其他盘,也可以保持默认

    下面的Data Directory数据库数据存储的地方,你可以安装其他盘,也可以保持默认

  7. 上面选择了安装位置之后,单击Next下一步,然后选择单击Execute按钮

    image-20230518171545651

  8. 显示安装完成,单击Next下一步

    image-20230518172010226

  9. 单击Next按钮

    image-20230518172207483

  10. 单击Next按钮

    image-20230518172317892

  11. 选择MySQL5.x的加密方式,这样可以让Navicat更好的支持,选好后单击Next按钮

    image-20230518172516988

  12. 输入密码,密码为了好记,都输入123456,单击Next按钮

    image-20230518172720371

  13. 改好了实例名之后,单击Next按钮

    image-20230518172932086

  14. 单击Execute执行按钮

    image-20230518173121648

  15. 看到Finsh按钮,表示安装成功!

    image-20230518173311971

  16. 下面直接单击Next或者Finish完成剩余的操作,注意mysql是命令工具不会再桌面创建图标

MySql卸载

  1. 双击mysql-installer-community-8.0.13.0.msi文件,如果你已经安装过它会有记录

    image-20230518175945101

  2. 双击选中上图列表MySQL Server,单击右侧Remove卸载按钮,开始卸载

    image-20230518180055070

  3. 勾选MySQL Server 8.0.13,选择Execute执行按钮

    image-20230518180128892

  4. 选择按钮

    image-20230518180257237

  5. 开始卸载中

    image-20230518180330244

    image-20230518180516873

  6. 卸载完成,单击Next按钮

    image-20230518180549490

  7. 重启电脑系统,让卸载更彻底

    image-20230518180706810

  8. 卸载完成

配置环境变量

配置了环境变量,可以让你在磁盘任何位置打开终端(cmdbashpowershell),然后可以直接调用mysql系列命令,比如可以打印mysql的版本,或者登陆mysql平台进行数据库维护。

具体步骤:

  1. 先要找到mysql的安装目录,我的mysql安装在C:\Program Files\MySQL

  2. 进入MySQL\MySQL Server 8.0\bin,根据下图复制路径地址

    image-20230519094933634

  3. 找到桌面上此电脑,有些同学可能没有这个图标,可以看第4步

    image-20230519095009342

  4. 如果桌面没有此电脑,可以打开资源管理,找到此电脑

    image-20230519095130352

  5. 找到此电脑后,右击出现菜单选择属性

    image-20230519095217633

  6. 找到高级设置,单击

    image-20230519095249524

  7. 单击选择环境变量

    image-20230519095323693

  8. 选择系统变量下的Path属性,单击编辑按钮

    image-20230519095407658

  9. 单击新建按钮,然后ctrl+v粘贴刚才复制过的路径内容

    image-20230519095536498

  10. 单击确定按钮,要一路确定完,把环境变量设置弹层全部确定完毕(有3次确定)。

    image-20230519095654938

  11. 注意,如果你已经打开了终端比如cmd,你应该关闭它,然后重新打开它,因为设置了环境变量需要重启终端才能生效。

  12. 在任何磁盘位置重新打开过终端cmd,输入mysql --version能正确显示版本号,说明环境变量配置成功

    image-20230519100128104

MySql基础

登陆MySql数据库平台

先在任何磁盘位置下打开终端,输入如下命令

1
2
3
4
5
# -P是端口(3306) -u是用户名(root) -p是密码(123456)
mysql -P 3306 -u root -p

# 如果端口是3306可以简写如下
mysql -u root -p

效果如下:

image-20230519100620106

出现下图报错有哪些情况?

image-20230519102604404

答:

第1种情况可能是你写错了密码

第2种情况可能你的端口不是3306 ,这时你要加上自己的端口比如mysql -P 3309 -u root -p

第3种可能没有root用户

数据库常见指令

mysql -h -P -u -p 登陆数据库

该命令用于登陆mysql管理平台进行各种数据库管理

-h 指的是设置主机,如果是本地主机默认是localhost,可以不用设置

-P 指的是设置端口,如果是默认端口3306,可以不用设置

-u 设置用户名,默认安装过后是root

-p 设置登陆密码,密码会以密文星号显示,注意linux上不会显示任何字符。

1
mysql -h localhost -P 3306 -u root -p

show databases 查看所有数据库

该命令用于显示本地仓库有哪些数据库,注意;表示数据库语句介绍,这个很有必要。

image-20230519103130159

use 切换数据库

该命令用于切换到某个数据库,语法如下

1
2
3
4
5
6
7
8
# 基本语法
use <数据库名称>

# 查看所有的数据库
show database;

# 切换到sys数据库
use sys;

image-20230519103411877

show tables 查看所有表

该命令用于显示某个数据库下所有的表,语法如下

1
2
3
4
5
6
7
8
# 查看所有的数据库
show database;

# 切换到某个数据库
use mysql;

# 显示mysql下所有的表格
show tables;

image-20230519103715519

select 查询表数据

该命令用于查询某个表的所有数据信息,语法如下:

1
2
3
4
5
# 查看产品表的所有字段的所有数据,*表示所有的字段
select * from product

# 产品产品表的id、name、price字段的所有数据
select id,name,price from product

下面以mysql数据库中的user表举例

1
2
3
use mysql;
select * from user;
select Host,User from user;

image-20230519104735726

desc 查询表的字段

该命令用于查询某个表的所有字段信息,语法如下

1
2
# 查看user表的所有字段信息
desc user;

image-20230519105458635

create database 创建数据库

该命令用于在本地仓库创建数据库,语法如下:

1
2
3
4
5
# 创建一个student数据库
create database student;

# 查看所有的数据库
show databases;

image-20230519111431656

创建数据库后,默认设置的编码并不支持中文,所以后期如果往数据库中插入中文会乱码,下面可以设置编码,让数据库不乱码,具体方法如下:

1
2
3
4
5
6
7
# 创建一个teacher数据库,并设置 uft8编码,设置支持中文的编码,分号在最后
create database teacher
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;

# 查看所有的数据库
show databases;