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

Posted 程序媛小哨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库学习笔记第二弹——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://image.cha138.com/20221202/c7e1e17da3594d60b777af82f27cef63.jpg)
![在这里插入图片描述](https://image.cha138.com/20221202/f2a0ea7ccffb4309b440168064837f0f.jpg)

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

![在这里插入图片描述](https://image.cha138.com/20221202/751ac9acab55473b89fe7729a390ffe5.jpg)
![在这里插入图片描述](https://image.cha138.com/20221202/c835e936ee5c4afa9f50c0759b412b4c.jpg)


```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服务名;

以上是关于数据库学习笔记第二弹——MySQL的登陆与使用(图文详解2022)的主要内容,如果未能解决你的问题,请参考以下文章

禁欲28天!一宅男居然肝出如此详细Web安全学习笔记,学妹看完直接抽搐了!(第二弹)

mysql数据库第二弹

培训第二弹:全国大学生智能汽车竞赛百度竞速组预告

分类问题第二弹来袭:支持向量机(Support Vector Machine)

webpack 第二弹 (原理)

暴力美学2—BFS广度优先搜索(算法图解第二弹)