您的位置:首页 > 博客中心 > 数据库 >

pymysql指南

时间:2022-03-15 15:04

 

在这个创建数据表的例子中,在创建数据库服务连接时,我们通过 database=‘test_db‘这行代码指定参数连接了目标数据库,如果不想在创建数据库服务连接时指定数据库,可以在后续通过cursor.execture(‘user test_db‘)这种方法指定数据库。

从上面创建数据库和数据表的例子可以看出,pymysql执行具体操作时都是先创建数据库服务连接,然后通过连接创建游标,以游标来执行具体的sql语句来完成具体的对数据库操作。不单单可以创建数据库、数据表,还可以创建索引、视图等等,方法也是一样的,这里不再介绍。

上面这种写法是先用字符串利用%s占位生成一条完整的sql语句,然后去执行。其实,pymysql的游标也自带这一功能,而且看起来更加方便,所以,我们还可以这样执行execute方法:

cursor.execute(‘insert into book(bookname, authors, year_publication) values(%s, %s, %s);‘, (‘Python从入门到放弃‘, ‘乔布斯‘, 2019))
conn.commit()
技术图片

这种方法的好处是sql语句中的%s不需要加引号(如果加了引号,引号也会被当做数据插入到数据表中),游标执行这一语句时,会根据数据类型来判断是否要加上引号。

    也可以使用executemany()一次性删除多条:

    cursor.executemany(‘delete from book where bookid=%s;‘, [[2], [4]])
    conn.commit()

    如下图所示,bookid为2和4的记录已经被删除:

    技术图片  

热门排行

今日推荐

热门手游