MySQL学习笔记第一天

news/2024/11/23 16:36:08/

第02章 MySQL环境搭建

1.MySQL的卸载

步骤1:停止MySQL服务

在卸载之前,先停止MySQL8.0的服务。按键盘上的“Ctrl + Alt + Delete”组合键,打开“任务管理器”对话框,可以在“服务”列表找到“MySQL8.0”的服务,如果现在“正在运行”状态,可以右键单击服务,选择“停止”选项停止MySQL8.0的服务。

步骤2:软件的卸载

方式1:通过控制面板方式
卸载MySQL8.0的程序可以和其他桌面应用程序一样直接在“控制面板”选择“卸载程序”,并在程序列表中找到MySQL8.0服务器程序,直接双击卸载即可,这种方式删除,数据目录下的数据不会跟着删除。
在这里插入图片描述
方式2:通过360或电脑管家等软件卸载

方式3:通过安装包提供的卸载功能卸载
你也可以通过安装向导程序进行MySQL8.0服务器程序的卸载。
① 再次双击下载的mysql-installer-community-8.0.26.0.msi文件,打开安装向导。安装向导会自动检测已安装的MySQL服务器程序。
② 选择要卸载的MySQL服务器程序,单击“Remove”(移除),即可进行卸载。
③ 单击“Next”(下一步)按钮,确认卸载。
④ 弹出是否同时移除数据目录选择窗口。如果想要同时删除MySQL服务器中的数据,则勾选“Remove thedata directory”。
⑤ 执行卸载。单击“Execute”(执行)按钮进行卸载。
⑥ 完成卸载。单击“Finish”(完成)按钮即可。如果想要同时卸载MySQL8.0的安装向导程序,勾选“Yes,Uninstall MySQL Installer”即可。

步骤3:残余文件的清理

如果再次安装不成功,可以卸载后对残余文件进行清理后再安装。
(1)服务目录:mysql服务的安装目录,我的放在C盘的progam files里面
(2)数据目录:默认在C:\ProgramData\MySQL
如果自己单独指定过数据目录,就找到自己的数据目录进行删除即可。
注意:请在卸载前做好数据备份。
在操作完以后,需要重启计算机,然后进行安装即可。

步骤4:清理注册表(选做)

如果仍然安装失败,需要继续操作如下步骤4。
如果前几步做了,再次安装还是失败,那么可以清理注册表。
如何打开注册表编辑器:在系统的搜索框中输入 regedit。

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL服务 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL服务 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MySQL服务 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL服务目录
删除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL服务删除

注册表中的ControlSet001,ControlSet002,不一定是001和002,可能是ControlSet005、006之类

步骤5:删除环境变量配置

找到path环境变量,将其中关于mysql的环境变量删除,切记不要全部删除。
例如:删除D:\develop_tools\mysql\MySQLServer8.0.26\bin; 这个部分

2.MySQL的下载、安装、配置

3.MySQL的登录

3.1 服务的启动与停止

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

方法1:使用图形界面工具

  • 步骤1:打开windows服务
    方式1:计算机(点击鼠标右键)→ 管理(点击)→ 服务和应用程序(点击)→ 服务(点击)
    在这里插入图片描述
    方式2:控制面板(点击)→ 系统和安全(点击)→ 管理工具(点击)→ 服务(点击)
    方式3:任务栏(点击鼠标右键)→ 启动任务管理器(点击)→ 服务(点击)
    方式4:单击【开始】菜单,在搜索框中输入“services.msc”,按Enter键确认

  • 步骤2: 找到MySQL80(点击鼠标右键)→ 启动或停止(点击)

方法2:使用命令行工具

启动 MySQL 服务命令(记得要以管理员身份运行cmd命令提示符):
net start MySQL服务名
停止 MySQL 服务命令:
net stop MySQL服务名

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

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

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

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

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

开始菜单 → 所有程序 → MySQL → MySQL 8.0 Command Line Client
在这里插入图片描述

说明:仅限于root用户

登录方式2:windows命令行

格式:

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

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

mysql -hlocalhost -P3306 -uroot -pabc123

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

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 Server服务版本的信息,还有第几次连接的id标识。也可以在命令行通过以下方式获取MySQL Server服务版本的信息:

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

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

mysql> select version();

退出登录:

exit

quit

4.MySQL演示使用

4.1 MySQL的使用演示

1、查看所有的数据库

show databases;

在这里插入图片描述

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

2、创建自己的数据库

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

在这里插入图片描述
3、使用自己的数据库

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

4、查看某个库的所有表格

show tables from 数据库名;
在这里插入图片描述
5、创建新的表格
create table 表名称(
字段名 数据类型,
字段名 数据类型
);
#创建一个名为emploees的新表
create table employees(id int,name verchar(15));#说名字最长不超过15个字符

6、查看一个表的数据

select * from 数据库表名称;
#查看employees表的数据
select * from employees;

7.添加一条记录

insert into 表名称 values(值列表);
#添加两条记录到employees表中
insert into employees values(1001,‘wowotou’);
insert into employees values(1002,‘baobao’);
insert into employees values(1003’张三’);

5.7版本会报错:(字符集的问题)

mysql> insert into employees values(1003,‘张三’);
ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xC5\xC8\xFD’ for column ‘name’ at
row 1

8.0版本不会报错
在这里插入图片描述

8、查看表的创建信息

show create table 表名称;
#查看employees表的详细创建信息
show create table employees;

在这里插入图片描述
上面的结果显示employees的表格的默认字符集是“utf8mb4”支持中文。

9、查看数据库的创建信息

在这里插入图片描述
10、删除表格

drop table 表名称;

11、删除数据库

drop database 数据库名;

#以下均是在8.0版本输出
create database dbtext1;
#输出:Query OK, 1 row affected (0.02 sec)show databases;
#输出:(多了dbtext1)
#+--------------------+
#| Database           |
#+--------------------+
#| information_schema |
#| dbtext1            |
#| mysql              |
#| performance_schema |
#| sys                |
#+--------------------+
#5 rows in set (0.00 sec)use dbtext1;
#输出:Database changed
create table employees(id int,name verchar(15));
#输出 Query OK, 0 rows affected (0.04 sec)show tables;
/*输出
+-------------------+
| Tables_in_dbtext1 |
+-------------------+
| employees         |
+-------------------+
1 row in set (0.01 sec)
*/insert into employees values(1001,'wowotou');
#输出 Query OK, 1 row affected (0.01 sec)
insert into employees values(1002,'baobao');
#输出 Query OK, 1 row affected (0.01 sec)
select *from employees;
#输出
+------+---------+
| id   | name    |
+------+---------+
| 1001 | wowotou |
| 1002 | baobao  |
+------+---------+
2 rows in set (0.00 sec)insert into employees values(1003,'宝宝');
#5.7版本出错 不支持汉字
# 8.0版本输出:Query OK, 1 row affected (0.00 sec)
mysql> select *from employees;
+------+---------+
| id   | name    |
+------+---------+
| 1001 | wowotou |
| 1002 | baobao  |
| 1003 | 宝宝    |
+------+---------+
3 rows in set (0.01 sec)mysql> show create table employees;
+-----------+---------------------------------------------------------------------------------------------------------------+
| Table     | Create Table|
+-----------+----------------------------------------------------------------------------------------------------------------+
| employees | CREATE TABLE `employees` (`id` int DEFAULT NULL,`name` varchar(15) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-----------+---------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)mysql> show variables like 'character_%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | gbk                                                     |
| character_set_connection | gbk                                                     |
| character_set_database   | utf8mb4                                                 |
| character_set_filesystem | binary                                                  |
| character_set_results    | gbk                                                     |
| character_set_server     | utf8mb4                                                 |
| character_set_system     | utf8mb3                                                 |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 8.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.02 sec)mysql> show variables like 'collation_%';
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | gbk_chinese_ci     |
| collation_database   | utf8mb4_0900_ai_ci |
| collation_server     | utf8mb4_0900_ai_ci |
+----------------------+--------------------+
3 rows in set, 1 warning (0.00 sec)

4.2 MySQL的编码设置

MySQL版本5.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配置文件:在my.ini文件里找到[mysqld]

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

在这里插入图片描述
步骤3:重启服务
步骤4:查看编码命令

MySQL版本8.0中

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

在8.0版本使用查看编码命令:
在这里插入图片描述

5. MySQL图形化管理工具

MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MySQLWorkbench、phpMyAdmin、Navicat Preminum、MySQLDumper、SQLyog、dbeaver、MySQL ODBC Connector。

6. MySQL目录结构与源码

6.1 主要目录结构

MySQL的目录结构说明
bin目录所有MySQL的可执行文件。如:mysql.exe
MySQLInstanceConfig.exe数据库的配置向导,在安装时出现的内容
data目录系统数据库所在的目录
my.ini文件MySQL的主要配置文件
c:\ProgramData\MySQL\MySQL Server 8.0\data\用户创建的数据库所在的目录

6.2 MySQL 源代码获取

首先,你要进入 MySQL下载界面。 这里你不要选择用默认的“Microsoft Windows”,而是要通过下拉栏,找到“Source Code”,在下面的操作系统版本里面, 选择 Windows(Architecture Independent),然后点
击下载。
在这里插入图片描述
接下来,把下载下来的压缩文件解压,我们就得到了 MySQL 的源代码。
MySQL 是用 C++ 开发而成的,我简单介绍一下源代码的组成。
mysql-8.0.22 目录下的各个子目录,包含了 MySQL 各部分组件的源代码:
在这里插入图片描述

  • sql 子目录是 MySQL 核心代码;
  • libmysql 子目录是客户端程序 API;
  • mysql-test 子目录是测试工具;
  • mysys 子目录是操作系统相关函数和辅助函数;
    源代码可以用记事本打开查看,如果你有 C++ 的开发环境,也可以在开发环境中打开查看。

http://www.ppmy.cn/news/47441.html

相关文章

肖 sir_就业课__014python讲解

python讲解 一、python梳理 1、python 数据类型有哪些? 字符、列表、元组、字典、集合 2、列表、元组、字典、集合的区别? 3、python中函数? (1)自定义函数 def 函数名() (2&#…

树莓派计算机视觉编程:6~10

原文:Raspberry Pi Computer Vision Programming 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候&#xff…

maven安装教程(结合eclipse和IDEA)

一.安装maven 本文须知:安装maven环境之前要先安装java jdk环境(没有安装java环境的可以先去看安装JAVA环境的教程)Maven 3.3+ require JDK 1.7 及以上。 第一步:下载maven(本教程安装的是3.8.4) 官方下载链接:https://maven.apache.org/download.cgi Binary是可执行版本…

MyBatisPlus3.4.3版自动生成代码的使用

AutoGenerator 是 MyBatis-Plus 的代码生成器&#xff0c;通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码&#xff0c;极大的提升了开发效率。 1 准备工作 创建springboot工程&#xff0c;这里省略。 2 导入依赖 <d…

靶机精讲之HackademicRTB1

主机发现 nmap扫描 端口扫描 只有80端口开放 UDP扫描 web渗透 服务扫描 脚本扫描 DOS攻击漏洞 枚举漏洞 查看web端 进行目录爆破 点击 点击后发现地址结构像有目录爆破 接上面枚举漏洞 复制那枚举目录到web 接目录爆破 apeache服务器 查看内容管理系统是否是自建的 在库搜索…

第九篇 Spring数据库事务管理

《Spring》篇章整体栏目 ————————————————————————————— 【第一章】spring 概念与体系结构 【第二章】spring IoC 的工作原理 【第三章】spring IOC与Bean环境搭建与应用 【第四章】spring bean定义 【第五章】Spring 集合注入、作用域 【第六章】…

以人为本的重点是有效网络安全计划的关键

安全和风险管理 (SRM) 领导者在根据九大行业趋势创建和实施网络安全计划时&#xff0c;必须重新考虑他们在技术和以人为本的元素之间的投资平衡。 以人为本的网络安全方法对于减少安全故障至关重要。 在控制设计和实施以及通过业务沟通和网络安全人才管理中关注人&#xff…

learn_C_deep_3 (最名不符实的关键字 - static、static关键字总结、基本数据类型、最冤枉的关键字 - sizeof)

目录 最名不符实的关键字 - static stati修饰全局变量和函数 static修饰局部变量 static关键字总结 几个问题 1.c语言要设置全局变量和函数可以跨文件使用的原因 2.C程序地址空间是什么样的&#xff1f; 3.局部变量为什么具有临时性 4.全局变量为什么具有全局性 5.为…