先准备一张测试表:
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()
运行结果: