Pymysql安装与连接

匿名 (未验证) 提交于 2019-12-02 22:06:11

今天主要讲的是 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()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!