pymysql使用

pymysql安装

pip install pymysql

基本使用

1.创建数据库链接

connect = pymysql.connect(
    host=localhost,
    port=3306,
    user=root,
    password=123456,
    database=autotest
)

2.创建游标

sql语句的执行在代码中必须通过游标来进行,所以先要创建游标对象;

cur = connect.cursor()

3.通过execute()函数执行sql语句;

cur.execute("select * from user_info;")

4.读取操作

# 读取一行数据
value = cur.fetchone()
print(value)
# 当再次使用fetchone()时,因为是游标形式,所以会自动读取第二行
value2 = cur.fetchone()
print(value2)
# 获取多行数据
value3 = cur.fetmany(3)
print(value3)
# 获取所有数据
value4 = cur.fetchall()
print(value4)

5.使用增删改时需要进行提交操作

#
sql_insert = "insert into autotest_user(user_name,user_sex,user_age) value(%s,%s,%s);"
data=[
    (zhao, ,24),
    (qian, ,23),
    (sun, ,22)
]
cursor.executemany(sql_insert, data)

#
sql_delete = "delete from autotest_user where user_name=%s;"
username = jiang
cursor.execute(sql_delete,[username])

#
sql_update = "update autotest_user set user_name=%s where user_name=%s;"
cursor.execute(sql_update,[zhao,li])

# 需要提交
connect.commit()

 6.关闭数据库

# 关闭连接
cursor.close()
connect.close()

备注:使用增的时候,数据库插入的是int,不要使用%d格式化操作字符,统一使用%s

设置游标类型

Cursor:默认,元组类型

DictCursor:字典类型

DictCursorMixin:支持自定义的游标类型,需先自定义才可以使用

SSCursor:无缓冲元组类型

SSdictCursor:无缓冲字典类型

方法一:在创建数据库链接时定义

# 创建数据库连接
connect = pymysql.connect(
    host=localhost,
    port=3306,
    user=root,
    password=123456,
    database=autotest,
    cursorclass=pymysql.cursors.DictCursor
)

 方法二:设置游标时即可更改游标类型

cursor = connect.cursor(cursor=pymysql.cursors.DictCursor)

防止sql注入

  参数化语句在执行sql语句时,不要直接将数据写入sql语句,而是通过格式化操作字符将需要写入的数据进行参数化拼接,以避免SQL注入

sql_select = select %s from %s;% ("user_name","autotest_user")

 

pymysql使用

上一篇:mysql的安装参考


下一篇:mysql5.7压缩包配置