前言:

本文主要讲的是MySQL本地部署即安装与配置

zip 和 msi

这两种版本大致就是更详细的安装和更粗暴的安装罢了,没有什么太大区别,除了mysql的版本外,能正常使用就行

zip包版

第1步下载安装

官网下载地址:

点击下载后有人可能很懵逼,啥?居然还要登录。其实下面有一个直接开始下载的按钮。点一下直接下载就行

第2步:解压到任意文件夹并创建配置文件

建议解压至软件安装目录

并在安装目录下创建my.ini的文件,作为MySQL的配置文件

配置内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[mysql]
default-character-set=utf8

[mysqld]
port=3306
#basedir=C:/Program Files/mysql-5.7.26-winx64
#datadir=C:/Program Files/mysql-5.7.26-winx64/data/
basedir=C:\Program Files\MySQL\mysql-8.0.33-winx64
datadir=C:\Program Files\MySQL\mysql-8.0.33-winx64\data\
character-set-server=utf8
default-storage-engine=MyIsam
max_connections=100
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
innodb_buffer_pool_size=64M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=120
innodb_log_buffer_size=4M
innodb_log_file_size=256M
interactive_timeout=120
join_buffer_size=2M
key_buffer_size=32M
log_error_verbosity=1
max_allowed_packet=16M
max_heap_table_size=64M
myisam_max_sort_file_size=64G
myisam_sort_buffer_size=32M
read_buffer_size=512kb
read_rnd_buffer_size=4M
server_id=1
skip-external-locking=on
sort_buffer_size=256kb
table_open_cache=256
thread_cache_size=16
tmp_table_size=64M
wait_timeout=120

[client]
port=3306
default-character-set=utf8

关于配置文件,如果不进行配置的话,MySQL则自动使用默认值

注意键入配置操作命令须在管理员权限下

配置优先级

1
C:\Users\Administrator>"C:\Program Files\MySQL\mysql-8.0.33-winx64\bin\mysqld.exe" --help --verbose

输入后会有很多信息,这里主要看前面几条,直接ctrl+c停止命令

  • 初始化目录,自动生成data目录,用于存放数据库数据和日志文件之类的
  • 同时创建建必备一些的数据,例如默认账户root(无密码),用于登录MySQL并通过指令操作MySQL
1
C:\Users\Administrator>"C:\Program Files\MySQL\mysql-8.0.33-winx64\bin\mysqld.exe" --initialize-insecure

在windowns安装过程中如果有报错(msvcr120.dll不存在),请下载并安装下面的两个补丁:(主要是mysql环境没有搭建好,后面msi可对照)

vcredist(主要): Download Visual C++ Redistributable Packages for Visual Studio 2013 from Official Microsoft Download Center

进去就会自动下载

dirctx: https://www.microsoft.com/zh-CN/download/details.aspx?id=35

基础安装到这里就结束了

设置密码(也可以用作登录后修改成新的密码)

在mysql中查看是不是明文密码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use mysql
SELECT user, authentication_string FROM user;
mysql> use mysql
Database changed
mysql> SELECT user, authentication_string FROM user;
+------------------+------------------------------------------------------------------------+
| user | authentication_string |
+------------------+------------------------------------------------------------------------+
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | $A$005$@Pbut{B (nV>L4;T
%0A.80wi0m8X9xvwz5Gsu3oo1qNr3FN4Zb6PtR/pHHD6 |
+------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)

mysql> UPDATE user SET authentication_string="123" WHERE user="root";#这种方式写的密码是有问题的,导致不能够登录
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT user, authentication_string FROM user;
+------------------+------------------------------------------------------------------------+
| user | authentication_string |
+------------------+------------------------------------------------------------------------+
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | 123 |
+------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)

一步到位:查看密码库。不是设置密码。

1
select authentication_string from mysql.user where User='root';

方法一(通用):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
alter user 'root'@'localhost' identified by 'password';
mysql -u root -p
#登录后
mysql> alter user 'root'@'localhost' identified by 'root';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

C:\Windows\system32>mysql -u root -P 3307 -p
Enter password: **** #root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.33 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

方法二(5.7~5.7.9 其他版本没试过但是mysql8已经将SET PASSWORD语句废弃):使用mysql提供的密码修改命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
SET PASSWORD FOR 'user'@'host' = PASSWORD('newpassword');
用户 ip
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
C:\Users\14763>mysql -uroot -p
Enter password: ****
#登录后

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root123');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> exit;
Bye

C:\Users\14763>mysql -uroot -p
Enter password: ****** #root123
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.7.36-log MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

第3步 启动MySQL

启动MySQL有两种模式:

  • 临时启动

cmd C:\Windows\system32>”C:\Program Files\MySQL\mysql-8.0.33-winx64\bin\mysqld.exe”

此时还会弹出一个防火墙权限通知,允许即可。(没有也正常)

注意:此时程序会挂起,内部就是可以接收客户端发来的MySQL指令,关闭窗口或Ct+c就可以停止运行。 这种启动方式每次开机或想要开启都需要手动执行一遍命令比较麻烦。

  • 制作windows服务,基于windows服务管理。

cmd C:\Windows\system32>”C:\Program Files\MySQL\mysql-8.0.33-winx64\bin\mysqld.exe” –install mysql80

1
2
3
4
#卸载服务 除了
sc delete mysql80
#还有一种方法
C:\Windows\system32>"C:\Program Files\MySQL\mysql-8.0.33-winx64\bin\mysqld.exe" --remove mysql80

第4步 设置环境变量

使用配置环境相当于定于了全局变量,不用我们先转到mysql的安装目录或者敲入文件目录(详细情况见msi版本讲解),直接敲入 mysql -u root -p就可以登录了。

鬼画神涂的配置环境

msi程序

https://dev.mysql.com/downloads/windows/installer/

不用登录账号直接跳过。参考zip包版。

下载下来运行msi程序,可能提醒你有新的版本现在可以更新,选择no

选择设置类型

双击运行mysql-installer-community-5.7.31.0.msi,这里选择是自定义安装,所以直接选择“Custom”,点击“Next”

“Developer Default”是开发者模式:包含mysql server,mysql connectors,mysql workbench,文档和示例

“Server only”仅作为服务器安装: 仅仅安装mysql server

“Client only”仅作为客户端安装: 仅仅安装mysql client

“Full”是完整安装: 安装所有模块

“Custom”是自定义安装: 自定义选择需要的模块

设置文件安装位置

可以不用勾选,直接next

服务名称

日志位置

此时已经完成安装了

安装mysql后,注意区分如下几个目录的作用

  1. 数据库管理系统软件安装目录(DBMS安装目录)
    “database manage server”
  2. 数据存放的目录
    “Data目录”(这里存放的是我们创建的库,创建的表的信息)
  3. 数据库连接目录(其他编程语言连接数据库jar包信息)”connector/J”(这个是 java连接mysql需要的安装包)
  4. 客户端工具的目录
    “workhench”(这个是mysq1自带的mysq1客户端管理工具)
    需要注意的是:1、2这两个目录,是在安装的时候,必须有的。后面的3、4这两个目录,当我们选择安装”connector/J”和”workhench”的时候,才会生成。

基础配置

配置环境变量

接上面,为什么需要配置环境呢?(可跳过)

因为不配置环境变量的话在cmd里必须切换到C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin下运行

在cmd中运行指的是 在cmd窗口下键入如下。(打开cmd窗口直接拖进去就行)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
C:\>"C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin\mysql.exe"

#结果
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)


C:\>"C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin\mysqld.exe"

#结果
mysqld: Can't change dir to 'C:\Program Files (x86)\MySQL\MySQL Server 5.7\data\' (Errcode: 2 - No such file or directory)
2023-05-06T06:19:24.084707Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-05-06T06:19:24.084790Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2023-05-06T06:19:24.085328Z 0 [Note] C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin\mysqld.exe (mysqld 5.7.36) starting as process 7424 ...
2023-05-06T06:19:24.089909Z 0 [Warning] Can't create test file C:\Program Files (x86)\MySQL\MySQL Server 5.7\data\DESKTOP-ECFIPC8.lower-test
2023-05-06T06:19:24.090171Z 0 [Warning] Can't create test file C:\Program Files (x86)\MySQL\MySQL Server 5.7\data\DESKTOP-ECFIPC8.lower-test
2023-05-06T06:19:24.091955Z 0 [ERROR] failed to set datadir to C:\Program Files (x86)\MySQL\MySQL Server 5.7\data\
2023-05-06T06:19:24.092541Z 0 [ERROR] Aborting

2023-05-06T06:19:24.093154Z 0 [Note] Binlog end
2023-05-06T06:19:24.094298Z 0 [Note] C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin\mysqld.exe: Shutdown complete

手动输入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin>mysql -u root -p
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.7.36-log MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> exit
Bye
————————————————————————————————
C:\>mysql -u root -p
'mysql' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\>mysql server
'mysql' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\>mysql
'mysql' 不是内部或外部命令,也不是可运行的程序
或批处理文件。。

配置环境变量

将安装目录的bin目录路径复制到其中

一并确定后

配置配置文件

由于我没有将数据目录和安装目录放在同一目录下,所以主要配置文件my.ini在数据文件下。

C:\ProgramData\MySQL\MySQL Server 5.7。

主要有两个东西需要注意:一个重要目录data,一个重要配置文件my.ini

关于my.ini的配置,详细介绍

https://blog.csdn.net/hanwuqia0370/article/details/85680775

关于data文件

这个data目录中,存放着一些错误日志文件和三个目录(如下图)。 这三个目录是不是有一种很熟悉的感觉,没错,就是我们第一次登陆mysql 后输入”show databases”后,显示的系统默认的数据库。 因此,你可以知道,我们每创建一个数据库,就会在这个data目录下,生成 一个目录。同时,进入每一个数据库目录下,又有很多各种各样的文件,其中我们 需要注意的是:”.Frm后缀”和”.MYD后缀”的文件。”.Frm后缀”文件中存放的是表 的结构信息;”.MD后缀”文件中存放的是数据信息。 知乎@黑里怕

1
2
3
4
5
6
7
8
9
10
11
12
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)

mysql>

启动服务器

1
2
3
启动:net start MySQL
停止:net stop MySQL
卸载:sc delete MySQL

区分本地多个MySQL

如何区别一个电脑上多个mysql版本,并进行丝滑登录操作呢?

  • 其一 将端口区分

主要配置文件下的客户端端口也记得更改,虽然在cmd上登录mysql用的端口是mysqld下面写的端口(即不改也不影响)

  • 其二 服务名称设置为不同的名称

​ 在注册表目录也是有所对应的

使用命令启动服务器

1
2
3
4
5
6
C:\Windows\system32>net start mysql80
mysql80 服务正在启动 .
mysql80 服务已经启动成功。
C:\Windows\system32>net start mysql57
mysql57 服务正在启动 .
mysql57 服务已经启动成功。

但是不指定mysql端口,直接登录默认是环境中靠上面的那一个变量

因为我mysql80并没有设置密码所以尝试(即mysql57设置了密码),但不输入密码直接进入也失败(表面直接输入mysql选择的是mysql57)

1
mysql -u 用户 -h IP地址(因为是本机部署的mysql默认可以不写) -P 端口 -p 密码

通过上述命令,可知只要多加入一个-P 端口就能够区分开来

忘记密码

MySQL8.0以上

MYSQL8.0以上版本忘记ROOT密码_alter user ‘root‘@’localhost’ identified by ‘root’_linmengmeng_1314的博客-CSDN博客

  1. 以超级管理员打开cmd,关闭mysql服务
1
net stop mysql 
  1. 跳过权限验证登录mysql
1
mysqld --shared-memory --skip-grant-tables 
  1. 在新的窗口中登录mysql
1
mysql -u root -p 
  1. 切换到mysql,将密码置空
1
use mysql;    update user set authentication_string='' where user='root';    flush privileges;#刷新权限

5.设置加密规则并更新新密码,授权(直接复制这些SQL语句你的密码会更新为123456

1
2
3
4
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; 
alter user 'root'@'localhost' identified by '123456';
grant all privileges on *.* to "root"@'localhost';
flush privileges;#刷新权限
  1. 关闭第一个窗口,启动mysql服务用新密码登录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
C:\Windows\system32>mysql -uroot -P 3307 -p
Enter password: #回车进入即可
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.33 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql;
Database changed
mysql> update user set authentication_string='' where user='root';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.05 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)

mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to "root"@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit#此处可能会卡住
#mysql> eixt;
#^C -- Sorry, cannot connect to the server to kill query, giving up ...
#不理会,关闭窗口就行,重新开一个cmd
Bye

C:\Windows\system32>mysql -uroot -P 3307 -p
Enter password: ****** #123456
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.33 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

MySQL5.7

  1. 暂停服务(以管理员运行cmd)
1
net stop mysql57
  1. 修改my.ini配置文件,在[mysqld]下面加上这样的一句话
1
skip-grant-tables
  1. 重启服务(以管理员运行cmd)
1
net start mysql57
  1. 登录mysql
1
mysql -uroot -p
  1. 置空密码
1
2
3
use mysql;
update user set authentication_string='' where user='root';
flush privileges;#刷新权限
  1. 修改密码

建议将配置文件该回去并且重启服务,使用set password语句,详细参考上文

SQL语句的三种注释

1
2
3
4
5
#单行注释
/*多

注释*/
-- 单行注释(注意前面必须有空格)

MySQL中的标识符(如表名、列名、变量名等)和字符串常量是区分大小写的,但是关键字和函数名不区分大小写。例如,SELECT和select是等效的,但是myTable和mytable是不同的标识符。 在默认情况下,MySQL的表名和列名是大小写不敏感的,但是可以通过设置lower_case_table_names参数来改变这个行为。如果lower_case_table_names设置为0,则表名和列名是大小写敏感的;如果设置为1,则表名和列名是大小写不敏感的,但是区分大小写;如果设置为2,则表名和列名是大小写不敏感的,并且不区分大小写。 总之,MySQL中的大小写敏感性取决于标识符、字符串常量和lower_case_table_names参数的设置。

数据库管理

内置客户端操作

当连接上MySQL之后,执行如下指令(一般称为SQL语句),就可以对MySQL的数据进行操作。

  • 查看当前所有的数据库:show databases;
  • 创建数据库:create database 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  • 删除数据库:drop databases 数据库名;
  • 进入数据(进入文件):use 数据库;

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# 1.登录MySQL
mysql -u root -p
Enter password: **** #输入密码
# 2.查看当前数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+

# 3.创建数据库: create database 数据库名 default charser 编码 collate 排序规则;
mysql> create database shujuku
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| shujuku |
| sys |
+--------------------+
5 rows in set (0.00 sec)
或者输入
mysql> create database shujuku1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database shujuku1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| shujuku |
| shujuku1 |
| sys |
+--------------------+
6 rows in set (0.00 sec)

# 4.删除数据库
mysql> drop database shujuku1;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| shujuku |
| sys |
+--------------------+
5 rows in set (0.00 sec)

# 5.查看当前数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| shujuku |
| sys |
+--------------------+
5 rows in set (0.00 sec)

# 6.进入数据库
mysql> use mysql;
Database changed

# 7.进入mysql数据库(文件夹),查看此数据库下的所有表。
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| engine_cost |
| event |
| func |
| general_log |
| gtid_executed |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| server_cost |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
31 rows in set (0.00 sec)

# 8.退出
mysql> exit
Bye

python操作

无论通过何种方式去连接MySQL,本质上发送到指令都是相同的,只是连接方式和操作形式不同而已

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import pymysql
#链接mysql
conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='123456',charset='utf8')
cursor=conn.cursor()#创建游标

# 1. 查看数据库
# 发送指令
cursor.execute("show databases")
# 获取指令的结果
result=cursor.fetchall()
print(result)
#(('information_schema',), ('mysql',), ('performance_schema',), ('shujuku',), ('sys',))

# 2. 创建数据库
# 发送指令
cursor.execute("create database shujuku1")
# 也可以写成下面的方式
cursor.execute("create database shujuku2 default charset utf8 collate utf8_general_ci")
conn.commit()
cursor.execute("show databases")

# 3. 查看数据库
result=cursor.fetchall()
print(result)
#(('information_schema',), ('mysql',), ('performance_schema',), ('shujuku1',), ('shujuku2',), ('sys',))

# 4. 删除数据库
# 发送指令
# cursor.execute('call drop_databases("shujuku")')
cursor.execute("drop database shujuku1")
cursor.execute("drop database shujuku2")
conn.commit()
cursor.execute("show databases")
result=cursor.fetchall()
print(result)
#(('information_schema',), ('mysql',), ('performance_schema',), ('sys',))

# 5.进入数据 查看表
# 发送指令
cursor.execute("use mysql")
cursor.execute("show tables")
result=cursor.fetchall()
print(result)
#(('columns_priv',), ('db',), ('engine_cost',), ('event',), ('func',), ('general_log',), ('gtid_executed',), ('help_category',), ('help_keyword',), ('help_relation',), ('help_topic',), ('innodb_index_stats',), ('innodb_table_stats',), ('ndb_binlog_index',), ('plugin',), ('proc',), ('procs_priv',), ('proxies_priv',), ('server_cost',), ('servers',), ('slave_master_info',), ('slave_relay_log_info',), ('slave_worker_info',), ('slow_log',), ('tables_priv',), ('time_zone',), ('time_zone_leap_second',), ('time_zone_name',), ('time_zone_transition',), ('time_zone_transition_type',), ('user',))

尾言

至于MySQL的其他操作和知识,以后有缘补上


本破站由 @BXZDYG 使用 Stellar 主题创建。
本博客部分素材来源于网络,如有侵权请联系1476341845@qq.com删除
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

本"页面"访问 次 | 👀总访问 次 | 总访客
全部都是博主用心学编写的啊!不是ai啊 只要保留原作者姓名并在基于原作创作的新作品适用同类型的许可协议,即可基于非商业目的对原作重新编排、改编或者再创作。