数据库学习笔记第二弹——MySQL的登陆与使用(图文详解2022)

数据库学习笔记第二弹——MySQL的登陆与使用(图文详解2022)

1. MySQL的登录

1.1 服务的启动与停止

MySQL安装完毕之后,需要启动服务器进程,不然客户端无法连接数据库。
在前面的配置过程中,已经将MySQL安装为Windows服务,并且勾选当Windows启动、停止时,MySQL也自动启动、停止。

1.1.1 途径1:使用图形界面工具

步骤1:打开windows服务
方式1:计算机(点击鼠标右键)→ 管理(点击)→ 服务和应用程序(点击)→ 服务(点击)
在这里插入图片描述

在这里插入图片描述

方式2:控制面板(点击)→ 管理工具(点击)→ 服务(点击)

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
方式3:任务栏(点击鼠标右键)→ 启动任务管理器(点击)→ 服务(点击)
在这里插入图片描述

方式4:单击【开始】菜单,在搜索框中输入“services.msc”,按Enter键确认

在这里插入图片描述

在这里插入图片描述

步骤2:找到MySQL80(点击鼠标右键)→ 启动或停止(点击)
在这里插入图片描述

1.1.2 途径2:使用命令行工具

# 启动 MySQL 服务命令: 
net start MySQL服务名 
# 停止 MySQL 服务命令: 
net stop MySQL服务名

说明:

  1. start和stop后面的服务名应与之前配置时指定的服务名一致。
  2. 如果当你输入命令后,提示“拒绝服务”,请以 系统管理员身份 打开命令提示符界面重新尝试。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 自带客户端的登录与退出

当MySQL服务启动完成后,便可以通过客户端来登录MySQL数据库。注意:确认服务是开启的。

1.2.1 登录方式1:MySQL自带客户端

开始菜单 → 所有程序 → MySQL → MySQL 8.0 Command Line Client

在这里插入图片描述
在这里插入图片描述
说明:仅限于root用户

1.2.2 登录方式2:windows命令行

格式:

mysql -h 主机名 -P 端口号 -u 用户名 -p密码 

举例:

mysql -h localhost -P 3306 -u root -phuft # 这里假设设置的root用户的密码是hfut

在这里插入图片描述

注意:
(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格。如:

mysql -hlocalhost -P3306 -uroot -phfut

(2)密码建议在下一行输入,保证安全

(如果-p后面没有接任何东西,即在下一行输入)
 mysql -h localhost -P 3306 -u root -p
Enter password:****

退出登录
在这里插入图片描述

(3)客户端和服务器在同一台机器上,所以输入localhost或者IP地址127.0.0.1。

同时,因为是连接本机: -hlocalhost就可以省略
在这里插入图片描述
如果端口号没有修改:-P3306也可以省略
简写成:

mysql -u root -p
Enter password:**** 

在这里插入图片描述

mysql  -u 用户名 -p密码 

连接成功后,有关于MySQL Server服务版本的信息,还有第几次连接的id标识。
也可以在命令行通过以下方式获取MySQL Server服务版本的信息:

c:\> mysql -V
c:\> mysql --version 

或登录后,通过以下方式查看当前版本信息:

mysql> select version();

2. MySQL演示使用

2.1 MySQL的使用演示

2.1.1 查看所有的数据库

show databases;

在这里插入图片描述

  • “information_schema”是 MySQL 系统自带的数据库,主要保存 MySQL 数据库服务器的系统信息,比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件 所在的文件夹和系统使用的文件夹,等等
  • “performance_schema”是 MySQL 系统自带的数据库,可以用来监控 MySQL 的各类性能指标。
  • “sys”数据库是 MySQL 系统自带的数据库,主要作用是以一种更容易被理解的方式展示 MySQL 数据库服务器的各类性能指标,帮助系统管理员和开发人员监控 MySQL 的技术性能。
  • “mysql”数据库保存了 MySQL 数据库服务器运行时需要的系统信息,比如数据文件夹、当前使用的字符集、约束检查信息,等等

为什么 Workbench 里面我们只能看到“demo”和“sys”这 2 个数据库呢?

这是因为,Workbench 是图形化的管理工具,主要面向开发人 员,“demo”和“sys”这 2个数据库已经够用了。如果有特殊需求,比如,需要监控 MySQL 数据库各项性能指标、直接操作 MySQL 数据库系统文件等,可以由 DBA通过 SQL 语句,查看其它的系统数据库。

2.1.2 创建自己的数据库

create database 数据库名; 
#创建atguigudb数据库,该名称不能与已经存在的数据库重名。
create database dbtest1;

在这里插入图片描述

2.1.3 使用自己的数据库

use 数据库名; 
#使用atguigudb数据库
use atguigudb;

在这里插入图片描述

说明:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046 (3D000): No database selected”(没有选择数据库)

使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另一个数据库操作,那么要重新use。

2.1.4 查看某个库的所有表格

show tables from 数据库名;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.1.5 创建新的表格

说明:如果是最后一个字段,后面就用加逗号,因为逗号的作用是分割每个字段。

在这里插入图片描述

2.1.6 查看一个表的数据

在这里插入图片描述

2.1.7 添加一条记录

在这里插入图片描述

在这里插入图片描述

报错:
字符集的问题。

2.1.8 查看表的创建信息

show create table 表名称
mysql> show create table employees;
+-----------+----------------------------------------------------------------------------------------------------------------------------------+
| Table     | Create Table                                                                                                                     |
+-----------+----------------------------------------------------------------------------------------------------------------------------------+
| employees | CREATE TABLE `employees` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(15) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-----------+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

在这里插入图片描述

上面的结果显示employees的表格的默认字符集是“latin1”不支持中文。

2.1.9 查看数据库的创建信息

show create database 数据库名

mysql> show create database dbtest1;
+----------+--------------------------------------------------------------------+
| Database | Create Database                                                    |
+----------+--------------------------------------------------------------------+
| dbtest1  | CREATE DATABASE `dbtest1` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+--------------------------------------------------------------------+
1 row in set (0.00 sec)

在这里插入图片描述

上面的结果显示dbtest1数据库也不支持中文,字符集默认是latin1。

2.1.10 删除表格

drop table 表名称; 
#删除学生表 
drop table student;

2.1.11 删除数据库

drop database 数据库名; 
#删除dbtest1数据库 
drop database dbtest1;

在这里插入图片描述

2.2 MySQL的编码设置

MySQL5.7中
问题再现:命令行操作sql乱码问题

mysql> INSERT INTO t_stu VALUES(1,'张三','男'); ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'sname' at row 1

在这里插入图片描述

问题解决
步骤1:查看编码命令

show variables like 'character_%'; 
show variables like 'collation_%';

在这里插入图片描述
在这里插入图片描述

步骤2:修改mysql的数据目录下的my.ini配置文件

在这里插入图片描述
在这里插入图片描述

[mysql] # 大概在63行左右,在其下添加 
... 
default-character-set=utf8 #默认字符集 

在这里插入图片描述

[mysqld] # 大概在76行左右,在其下添加 
... 
character-set-server=utf8
collation-server=utf8_general_ci

在这里插入图片描述
在这里插入图片描述

注意:建议修改配置文件使用notepad++等高级文本编辑器,使用记事本等软件打开修改后可能会导致文件编码修改为“含BOM头”的编码,从而服务重启失败。

步骤3:重启服务
记住重启前要先关闭原先数据库
在这里插入图片描述

打开服务
在这里插入图片描述
找到MySQL5.7,点击重新启动在这里插入图片描述
在这里插入图片描述

步骤4:查看编码命令
先登录数据库
再查看编码命令

show variables like 'character_%'; 
show variables like 'collation_%';

在这里插入图片描述

在这里插入图片描述

如果是以上配置就说明对了。接着我们就可以新创建数据库、新创建数据表,接着添加包含中文的数据了。

再运行刚才中文报错的步骤
在这里插入图片描述

原因:
当初创造表格的时候在改之前

需要把之前建的表重新删一下,再重新创建表

drop database dbtest1; #删除数据库

在这里插入图片描述
成功可以添加中文数据
在这里插入图片描述

MySQL8.0中 在MySQL 8.0版本之前,默认字符集为latin1,utf8字符集指向的是utf8mb3。网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL 8.0开始,数据库的默认编码改为 utf8mb4 ,从而避免了上述的乱码问题。

3.温故而知新

测试下对数据库学习笔记第三弹知识的掌握程度

  • MySQL5.7在配置完以后,如何修改配置文件?

步骤1:查看编码命令

'collation_%'; ```
![在这里插入图片描述](https://img-blog.csdnimg.cn/553fec85f5264aa1ba3af41fc2ce3b66.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_18,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2c5d6eb47d784a3092f2aab06103cfc8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_17,color_FFFFFF,t_70,g_se,x_16)

步骤2:修改mysql的数据目录下的my.ini配置文件

![在这里插入图片描述](https://img-blog.csdnimg.cn/ca75d6fd5aec4c25a7385b7590a122f6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/14174587e9f54d2b8be295e4e797e696.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_15,color_FFFFFF,t_70,g_se,x_16)


```xml [mysql] # 大概在63行左右,在其下添加  ...  default-character-set=utf8
#默认字符集  ```

![在这里插入图片描述](https://img-blog.csdnimg.cn/38f7f010000743b3aafb0f22beaef491.png)

```xml [mysqld] # 大概在76行左右,在其下添加  ...  character-set-server=utf8
collation-server=utf8_general_ci ```

![在这里插入图片描述](https://img-blog.csdnimg.cn/1c966606c91f402b94e3a93bd389a2e4.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/edb778991d294943a847eccccee94b51.png)

> 注意:建议修改配置文件使用notepad++等高级文本编辑器,使用记事本等软件打开修改后可能会导致文件编码修改为“含BOM头”的编码,从而服务重启失败。


步骤3:重启服务 记住重启前要先关闭原先数据库
![在这里插入图片描述](https://img-blog.csdnimg.cn/ce8bae47369f4c138db2b9a7c631591f.png)

打开服务
![在这里插入图片描述](https://img-blog.csdnimg.cn/e5fd6bccdbd345be82013660191c2d35.png)
找到MySQL5.7,点击重新启动![在这里插入图片描述](https://img-blog.csdnimg.cn/c85c698cec7c495882b094af3bec7a0f.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/0ea9f14750544890b87d2f3c5116b46d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_10,color_FFFFFF,t_70,g_se,x_16)


步骤4:查看编码命令 先登录数据库 再查看编码命令 ```sql show variables like 'character_%'; 
show variables like 'collation_%'; ```
![在这里插入图片描述](https://img-blog.csdnimg.cn/d5b53dde6bab4a2e8cd1cd87b0664c2d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_18,color_FFFFFF,t_70,g_se,x_16)

![在这里插入图片描述](https://img-blog.csdnimg.cn/1ed1ba6ed9aa42bfb310d639e96f1a67.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_13,color_FFFFFF,t_70,g_se,x_16)

如果是以上配置就说明对了。接着我们就可以新创建数据库、新创建数据表,接着添加包含中文的数据了。


再运行刚才中文报错的步骤
![在这里插入图片描述](https://img-blog.csdnimg.cn/5f334c294e9546f7b5f605a2b59184eb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_18,color_FFFFFF,t_70,g_se,x_16)

原因: 当初创造表格的时候在改之前

需要把之前建的表重新删一下,再重新创建表


```sql drop database dbtest1; #删除数据库 ```

![在这里插入图片描述](https://img-blog.csdnimg.cn/472d3a6ce8ed4f76a6248aab6542e62b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_17,color_FFFFFF,t_70,g_se,x_16)
成功可以添加中文数据
![在这里插入图片描述](https://img-blog.csdnimg.cn/b63f51c687794d049f50b5100649fcaa.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGVva2FkaWEgUm90aHNjaGlsZA==,size_16,color_FFFFFF,t_70,g_se,x_16)

MySQL8.0中 在MySQL
8.0版本之前,默认字符集为latin1,utf8字符集指向的是utf8mb3。网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL
8.0开始,数据库的默认编码改为 utf8mb4 ,从而避免了上述的乱码问题。

为什么要修改my.ini文件?

  • 默认的数据库使用的字符集是latin1。我们需要修改为:utf8

修改哪些信息?

[mysql] #大概在63行左右,在其下添加
 ... 
default-character-set=utf8 #默认字符集 
[mysqld] # 大概在76行左右,在其下添加
 ... 
character-set-server=utf8
collation-server=utf8_general_ci

修改完以后,需要重启服务。

net stop mysql服务名;
net start mysql服务名;
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值