python pymysql模块

pymysql 是一个纯 Python 实现的 MySQL 客户端操作库今天说一下用pymysql实现对数据库的基本增删改查

首先需要连接数据库

import pymysql

conn=pymysql.connect(host='127.0.0.1',user='root',password='123',database='ku1',charset='utf8')
打开数据库连接
cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)
创建一个数据库连接对象cursor=pymysql.cursors.DictCursor表示返回的数据用字典表示列明和数据的对应关系
sql='select * from user'
sql操作命令
cursor.execute(sql)
用execute方法执行sql命令 ps:executemany可以执行多条命令
res=cursor.fetchone()
使用fetchone获得一条返回结果,ps:fetchall可以以列表的形式拿到返回的所有结果
print(res)

在使用过程中sql操作指令大都是拼接出来的会有sql注入的风险在这里我们同过转义的方法来规避

import  pymysql

# 连接mysql服务器
username = input('username:')
pwd = input('password:')

### 对用户输入的值进行转义

conn = pymysql.connect(host='localhost', user='root', password='123',database='ku', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

sql = "select * from student where sname = %s and sid = %s"

cursor.execute(sql,(username, pwd))
把重要信息赋值的地方放在execute里面是防止sql注入的方法之一 res
= cursor.fetchone() print(res) if res: print('登录成功') else: print('登录失败') cursor.close() conn.close()

对数据进行增删改之后需要提交数据后对数据库的操作才会生效

import random

import  pymysql,time

# 连接mysql服务器

conn = pymysql.connect(host='localhost', user='root', password='123',database='db1', charset='utf8')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# sql = "delete from t7 where id=%s"

sql = "insert into t12 (name, email) values (%s, %s)"
数据库的操作指令和数据库端的完全一样
 插入多条
data = []
for i in range(3000000):
    num = random.randrange(0,3000000)
    data.append(('root'+str(num), 'root'+str(num)+'@qq.com'))

cursor.executemany(sql, data)

conn.commit()
提交操作

cursor.close()
conn.close()关闭数据库连接
原文地址:https://www.cnblogs.com/duGD/p/11088004.html