下面是 "Python3 对接 MySQL 数据库实例" 的详细攻略。
1. 前置条件
在进行 MySQL 数据库的操作前,需要安装 MySQL 数据库并创建相应的数据库及表。
2. 安装 MySQL-python
首先需要在 Python3 中安装 MySQL-python,可以使用 pip 进行安装:
pip install mysql-python
安装完成后,可以使用下面的代码进行测试:
import MySQLdb
conn = MySQLdb.connect('localhost', 'username', 'password', 'database')
conn.ping(True)
cursor = conn.cursor()
cursor.execute('SELECT * FROM test_table')
results = cursor.fetchall()
for record in results:
print(record)
3. 配置数据库连接
在 Python3 中,可以使用 pymysql 模块来进行数据库的连接。具体的连接代码如下所示:
import pymysql
db = pymysql.connect(host='localhost',
port=3306,
user='username',
password='password',
db='database',
charset='utf8mb4')
其中,host 参数代表数据库的地址,port 参数代表数据库的端口号,user 参数代表数据库的用户名,password 参数代表数据库的密码,db 参数代表操作的数据库名称,charset 参数代表字符编码。
4. 创建数据表
在 Python3 中,可以使用 pymysql 模块来创建数据表。具体的创建数据表代码如下所示:
import pymysql
db = pymysql.connect(host='localhost',
port=3306,
user='username',
password='password',
db='database',
charset='utf8mb4')
cursor = db.cursor()
sql = """
CREATE TABLE `test_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
"""
cursor.execute(sql)
db.close()
在上面的代码中,需要注意以下几点:
- 语句的末尾不要加分号。
- 执行完语句后需要手动关闭数据库连接。
5. 插入数据
在 Python3 中,可以使用 pymysql 模块来插入数据。具体的插入数据代码如下所示:
import pymysql
db = pymysql.connect(host='localhost',
port=3306,
user='username',
password='password',
db='database',
charset='utf8mb4')
cursor = db.cursor()
name = 'Tom'
age = 18
sql = "INSERT INTO `test_table` (`name`, `age`) VALUES ('%s', %d)" % (name, age)
cursor.execute(sql)
db.commit()
db.close()
在上面的代码中,需要注意以下几点:
- 插入数据前需要确保数据表已存在。
- 插入数据时需要使用 %s 和 %d 来格式化字符串。
- 执行插入语句后需要调用 db.commit() 方法来提交事务。
6. 查询数据
在 Python3 中,可以使用 pymysql 模块来查询数据。具体的查询数据代码如下所示:
import pymysql
db = pymysql.connect(host='localhost',
port=3306,
user='username',
password='password',
db='database',
charset='utf8mb4')
cursor = db.cursor()
sql = 'SELECT * FROM `test_table`'
cursor.execute(sql)
results = cursor.fetchall()
for record in results:
print(record)
db.close()
在上面的代码中,需要注意以下几点:
- 查询数据前需要确保数据表已存在。
- 执行查询语句后需要调用 cursor.fetchall() 方法来获取查询结果。
示例说明
下面是两个使用 Python3 对接 MySQL 数据库的示例:
示例 1:插入数据
import pymysql
db = pymysql.connect(host='localhost',
port=3306,
user='username',
password='password',
db='database',
charset='utf8mb4')
cursor = db.cursor()
name = 'Tom'
age = 18
sql = "INSERT INTO `test_table` (`name`, `age`) VALUES ('%s', %d)" % (name, age)
cursor.execute(sql)
db.commit()
db.close()
上面的示例中,使用 pymysql 模块向 MySQL 数据库中的 test_table
表中插入了一条数据。
示例 2:查询数据
import pymysql
db = pymysql.connect(host='localhost',
port=3306,
user='username',
password='password',
db='database',
charset='utf8mb4')
cursor = db.cursor()
sql = 'SELECT `name`, `age` FROM `test_table`'
cursor.execute(sql)
results = cursor.fetchall()
for record in results:
print(record)
db.close()
上面的示例中,使用 pymysql 模块从 MySQL 数据库中的 test_table
表中查询了所有的数据,并将其打印到控制台上。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3对接mysql数据库实例详解 - Python技术站