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

程序媛小哨 程序媛小哨     2022-12-06     746

关键词:

数据库学习笔记第二弹——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.u72.net/20221202/c7e1e17da3594d60b777af82f27cef63.jpg)
![在这里插入图片描述](https://img.u72.net/20221202/f2a0ea7ccffb4309b440168064837f0f.jpg)

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

![在这里插入图片描述](https://img.u72.net/20221202/751ac9acab55473b89fe7729a390ffe5.jpg)
![在这里插入图片描述](https://img.u72.net/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服务名;

02后端初步学习笔记

...务mysql-uroot-p?以root用户登陆mysql?mysql部分showdatabases;?查看数据库use库名称;?使用某个数据库showtables;?查看这个库里的表select 查看详情

学习笔记26数据库的连接与操作(代码片段)

数据库的连接与操作一、连接数据库用Python连接MySQL数据库,使用的方法是Connect(),具体的参数同MySQLWorkbench中的连接信息,具体如下图所示。#用Python连接数据库connect=pymysql.Connect(host="127.0.0.1",        ... 查看详情

cookbook学习第二弹

1.5怎样实现一个按优先级排序的队列?并且在这个队列上面每次pop操作总是返回优先级最高的那个元素带有双下划线的方法,会在需要被调用的位置自动被调用带有单下划线的变量是私有变量 下面利用类heapq模块实现一个简... 查看详情

问答分享第二弹mysql的搜索引擎,看完暴虐面试官!

...的面试考点,这道题是面试常温的面试,看完在数据库引擎方面,我相信你一定会有收获的首发于公众号【终端研发部】核心点1、搜索引擎InnoDB和MyIsam的区别和联系2、Memor 查看详情

数据结构与算法学习笔记图(代码片段)

数据结构与算法学习笔记(8)图复习文章目录数据结构与算法学习笔记(8)图一.图的定义和基本术语二.图的类型定义三.图的存储结构1.邻接矩阵无向图的邻接矩阵有向图的邻接矩阵网(有权图)邻接矩阵的存储表示创建邻接矩阵(以无... 查看详情

mysql学习笔记(代码片段)

...法建表约束主键约束唯一主键非空约束默认约束外键约束数据库的三大设计范式1NF2NF3NF查询练习准备数据1到10分组计算平均成绩分组条件与模糊查询多表查询-1多表查询-2三表关联查询子查询加分组求平均分子查询-1子查询-2YEAR函... 查看详情

day21jdbc与mysql的学习笔记

Properties: ---------------- 1.extendsHashtable,线程安全的。 2.key-valueSQL:Structurualquerylanguage,结构化查询语言。-------------------------------------------------database:-------------- 1.数据库 2.表的集合。 3.操作 查看详情

nodejs学习笔记---与mysql交互(felixge/node-mysql)

...Nodejs调用带out参数的存储过程,并得到out参数返回值结束数据库连接两种方法和区别连接池Poolingconnections创建其它连接池配置选项释放使用示例断线重连其它...简介和安装  Node.js与MySQL交互操作有很多库,具体可以在 https:... 查看详情

图神经网络学习笔记|基础知识与gnn介绍直观透彻理解

一、基础知识GNN是指使用神经网络来学习图结构数据,提取和挖掘图结构数据中有效的特征和模式,满足聚类、分类、预测、分割、生成、异常检测等图学习任务需求的算法总称。GCN实现了CNN在图上的平移不变、局部感知和权值... 查看详情

第十三周学习笔记

...装完成以后,我们需要探索它的安全性首先,先尝试创建数据库等操作,用SHOW语句查看已经存在的数据库,如下图所示如图所示,也可以查看创建好的itcast数据库的信息首先,创建用户mysql,加入Administrators组使用CREATE &n 查看详情

数据库学习笔记第一弹——mysql8.0和mysql5.7的下载安装与配置(图文详解步骤2022)(代码片段)

数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)文章目录数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)1.软件下载2.MySQL8.0版本的安装3.配置M... 查看详情

数据库学习笔记第一弹——mysql8.0和mysql5.7的下载安装与配置(图文详解步骤2022)(代码片段)

数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)文章目录数据库学习笔记第一弹——MySQL8.0和MySQL5.7的下载、安装与配置(图文详解步骤2022)1.软件下载2.MySQL8.0版本的安装3.配置M... 查看详情

《python深度学习》第二章笔记(代码片段)

《Python深度学习》第二章笔记1.第一个神经网络示例2.张量与张量运算张量(输入网络的数据存储对象)张量运算(层的组成要素)逐元素运算广播张量点积张量变形3.神经网络如何通过反向传播与梯度下降进行学... 查看详情

o'reill的svg精髓(第二版)学习笔记——第二章

在网页中使用SVG将SVG作为图像:SVG是一种图像格式,因此可以使用与其他图像类型相同的方式包含在HTML页面中,具体可以采用两种方法:将图像包含在HTML标记的<img>元素内(当图像是页面的基本组成部分时,推荐这种方式... 查看详情

python学习——第二弹

前言上一篇文章​​python学习——【第一弹】​​​给大家介绍了python中的基本数据类型等,这篇文章接着给大家补充python中的运算符等相关内容。运算符python中的运算符主要有:算术运算符,赋值运算符,比较运算符,布尔运... 查看详情

pythion第二弹

################################第二节################################################python中数据类型的常见的方法第一个数据类型字符串str字符串里面有很多的功能,叫方法.只要是字符串,就可以用里面的方法,方法有很多,不用刻意的去记住,因为... 查看详情

compose跨平台第二弹:体验composeforweb(代码片段)

...ompose-jb以及如何使用Compose-jb开发简单的桌面端应用,第二弹,我们就来了解下如何使用Compose-jb开发Web应用。相信看完这一弹之后你会对Compose-jb有新的了解。环境要求与ComposeForDesktop的环境要求一致 查看详情

[知了堂学习笔记]_java代码实现mysql数据库的备份与还原

通常在MySQL数据库的备份和恢复的时候,多是采用在cmd中执行mysql命令来实现。    例如:    mysqldump-h127.0.0.1-uroot-ppasstest>d:/test.sql---备份test数据库到D盘    mysql-h127.0.0.1-uroot-ppasstest<test.sql---将D备份的数据库脚... 查看详情