Python3之连接MySQL数据库(mysql-connector)

本文详细介绍了如何使用Python3的mysql-connector模块连接和操作MySQL数据库,包括安装、连接、修改密码、创建数据库和表、设置主键、插入查询数据、条件筛选、排序、限制、删除和更新等关键步骤。
摘要由CSDN通过智能技术生成
一、概述

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()

注意:
解决Unread result found问题

六、创建数据表

创建数据表使用 “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
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值