数据库学习笔记第二弹——MySQL的登陆与使用(图文详解2022)
Posted Leokadia Rothschild
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服务名
说明:
- start和stop后面的服务名应与之前配置时指定的服务名一致。
- 如果当你输入命令后,提示“拒绝服务”,请以 系统管理员身份 打开命令提示符界面重新尝试。
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/20220411/9c1da236f73f48cb82e7cfb19fae2b23.jpg) ![在这里插入图片描述](https://image.cha138.com/20220411/eb722ea142c04080b571a003427deb4a.jpg) 步骤2:修改mysql的数据目录下的my.ini配置文件 ![在这里插入图片描述](https://image.cha138.com/20220411/ff7c3db9b2dd4b43aebdbba9cb4b87eb.jpg) ![在这里插入图片描述](https://image.cha138.com/20220411/18733c6038fb4893a4771acfbbcca941.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安全学习笔记,学妹看完直接抽搐了!(第二弹)