今天主要讲的是 Python3 MySQL数据连接
PyMySQL是在python3版本中用于连接MySQL服务器的一个库,Python2中则使用mysqldb
再使用PyMySQL之前 需要确保PyMySQL已安装
如果还未安装,我们可以使用以下命令安装最新版的PyMySQL:
在cmd中输入:
pip install PyMySQL 1.导入pymysql库:import pymysql
2.打开数据库连接
conn=pymysql.connect(host='服务器', port=端口, user='用户', password='密码', db='库名', charset='字符集') 3.使用cuisor()方法创建游标对象cursor
cursor=conn.cursor() 4.使用execute()方法 执行SQL命令
cursor.execute('SQL命令') 5.使用fetchone()方法获取单条数据
row_1=cursor.fetchone() print (row_1) 6.提交,不然无法保存新建或者修改的数据
conn.commit() 7.关闭游标
cursor.close() 8.关闭数据库连接
conn.close() 在python7库中创建表employee
import pymysql ap=pymysql.connect(host='localhost', port=3306, user='root', password='*******', db='python07', charset='utf8') cursor = ap.cursor() #使用execute()方法执行SQL,如果表存在则删除 cursor.execute('DROP TABLE IF EXISTS EMPLOYEE') sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )""" cursor.execute(sql) cursor.close db.close() 给employee表中添加数据
import pymysql ap=pymysql.connect(host='localhost', port=3306, user='root', password='*******', db='python07', charset='utf8') cursor = ap.cursor() sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('Mac', 'Mohan', 20, 'M', 2000)""" cursor.execute(sql) db.commit() db.rollback() db.close() python查询mysql使用fetchone()方法获取单条数据,使用fetchall()方法获取多条数据
fetchone(): 该方法获取一个查询结果集,结果集是一个对象
fetchall():接受全部的返回结果行
rowcount:这是一个只读属性,并返回执行execute()方法后影响的行数
实例:查询employee表第一行数据
import pymysql conn=pymysql.connect(host='localhost', port=3306, user='root', password='*******', db='python07', charset='utf8') cursor = ap.cursor() cursor.execute('SELECT * FROM EMPLOYEE') row_1=cursor.fetchone() print (row_1) cursor.close() conn.close() 得:
('Mac', 'Mohan', 20, 'M', 2000.0) 实例:将表employee中名字为Mac的用户sex字段改为 s
import pymysql conn=pymysql.connect(host='localhost', port=3306, user='root', password='*******', db='python07', charset='utf8') cursor = ap.cursor() cursor.execute('UPDATE EMPLOYEE SET sex="W" WHERE FIRST_NAME="Mac" ') conn.commit() cursor.close() conn.close() 删除表employee中名字为Mac用户的所有数据
import pymysql conn=pymysql.connect(host='localhost', port=3306, user='root', password='*******', db='python07', charset='utf8') cursor = ap.cursor() cursor.execute('DELETE FROM EMPLOYEE WHERE FIRST_NAME="Mac" ') conn.commit() cursor.close() conn.close() 文章来源: Pymysql安装与连接