zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python通过pymysql连接mysql数据库

2023-09-11 14:16:28 时间

先准备一张测试表:

CREATE TABLE `A` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

数据库表里添加测试用的数据:

测试demo:

#!/usr/bin/python3
# coding=utf-8

import pymysql

mysql_conn = pymysql.connect(
    host='192.168.1.66',
    port=3306,
    user='root',
    password='root',
    database='xwftest',
    charset='utf8',
    autocommit=True,
)

print(mysql_conn)
cursor = mysql_conn.cursor()    # 结果是元组形式
rows = cursor.execute('select * from A')
print('rows:', rows)
res = cursor.fetchall()
print(res)
cursor.close()

cursor = mysql_conn.cursor(cursor=pymysql.cursors.DictCursor)   # 结果是dict形式
cursor.execute('select * from A')
res = cursor.fetchall()
print(res)
print('第一个数据:', res[0]['id'], res[0]['name'], res[0]['age'])
cursor.execute('select * from A where id > %s and id < %s', (2, 5))
print(cursor.fetchall())
cursor.execute('desc A')
for x in cursor.fetchall():
    print('字段:', x)
cursor.close()
mysql_conn.close()

运行结果: