一、概述
MySQL 数据库是目前使用频率较高的关系型数据库管理系统,日常Python使用过程中也会经常使用MySQL数据库,可通过使用 mysql-connector 来连接使用 MySQL, mysql-connector 是 MySQL 官方提供的驱动器。
二、安装
Python安装目录,找到Lib\site-packages,在此目录下使用 pip 命令来安装 mysql-connector:
pip install mysql-connector-python mysql-connector-python
或
pip install mysql-connector
可通过如下方式检验my - connector是否安装成功:xxx.py文件中输入“import mysql.connector”,如不报错,则说明mysql - connector安装成功
注意:假如安装的 MySQL 是 8.0 版本,密码插件验证方式发生了变化,早期版本为 mysql_native_password,8.0 版本为 caching_sha2_password,需要做如下改变:
1、修改 my.ini 配置:
[mysqld]
default_authentication_plugin=mysql_native_password
再在 mysql 下执行如下命令来修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
参考文档:
1、Python MySQL8.0 版本数据库链接问题
2、MySQL修改安装路径
3、社区版pycharm没有database插件问题
4、Pycharm安装database插件
5、解决PyCharm连接MySql出现时区错误问题
方法A:
a、DOS下进入MySQL安装目录bin下
b、输入 mysql -uroot -p密码
c、输入 set global time_zone = ‘+8:00’;
d、输入 exit
方法B:
默认生成的URL后添加“?serverTimezone=UTC”,即:
三、修改MySQL数据库root密码方式
1、使用SET PASSWORD命令
登录MySQL:
格式:mysql> set password for 用户名@localhost = password(‘新密码’);
例子:mysql> set password for root@localhost = password(‘888’);
2、使用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 888
3、使用UPDATE编辑user表
登录MySQL:
mysql> use mysql;
mysql> update user set password=password(“123”) where user=“root” and host=“localhost”;
mysql> flush privileges;
四、创建数据库连接
Python连接MySQL数据库可使用如下方式实现:
import mysql.connector
# 1、打开数据库连接
mydatabase = mysql.connector.connect(
host = "localhost" , # 服务器地址
user = "root" , # 用户名
passwd = "qazwsx" # 密码
)
# 使用cursor()方法获取操作游标
cursor = mydatabase.cursor()
print(mydatabase)
五、创建数据库
通常使用"CREATE DATABASE"来创建一个数据库,具体例子如下:
import mysql.connector
# 1、打开数据库连接
mydatabase = mysql.connector.connect(
host = "localhost" , # 服务器地址
port = 3306, # 端口
user = "root" , # 用户名
passwd = "qazwsx" , # 密码
buffered = True
)
# 2、使用cursor()方法获取操作游标
cursor = mydatabase.cursor()
# 3.1、判断数据库是否存在,存着则删除
cursor.execute('DROP DATABASE IF EXISTS nba')
# 3.2、判断数据库是否存在,不存着则新建
cursor.execute('CREATE DATABASE IF NOT EXISTS NBA')
# 4、查看所有数据库
cursor.execute("SHOW DATABASES")
# 5、使用 fetchall() 方法获取返回数据
data = cursor.fetchall()
# 6、输出所有数据库名称
print(data)
# 7、关闭数据库连接
mydatabase.close()
六、创建数据表
创建数据表使用 “CREATE TABLE” 语句
import mysql.connector
# 建立数据库连接
MyDataBase = mysql.connector.connect(
host = "localhost",
user = "root",
passwd = "qazwsx",
db = "nba",
port = 3306
)
# 使用cursor()方法获取操作游标
cursor = MyDataBase.cursor()
# 创建数据表,创建前判断数据表是否存在,不存在则创建
sql = "create table IF NOT EXISTS Player(name VARCHAR(255), number VARCHAR(255) , age VARCHAR(255))"
cursor.execute(sql)
# 显示数据库表结构
cursor.execute