手机版
贴心博客(Imblog)(LOGO)

贴心博客(Imblog)

v5.7

基于`jquery2+bootstrap4+贴心猫`开发

Python操作mysql和sqlite

发布:2022-01-13 19:10   点击:2次   评论:0
https://www.qingheluo.com/pythoncaozuomysqlhesqlite/ Python操作mysql和sqlite 1. python中使用模块包装了mysql和sqlite数据库的操作,实现方法基本相同,实现步骤为: 1、创建connection对象 2、创建cursor(游标)对象 3、通过cursor(游标)对象操作数据库 4、通过connection对象关闭数据库连接、提交事务及回滚等 操作mysql的模块:python3中使用mysql-connector模块(官方出品)或PyMySQL模块(python2中使用mysqldb) 2. 执行sql语句:cursor.execute(sql) 在mysql-connector和PyMySQL模块中仅支持位置占位符,占位符用"%s" mycursor.execute("INSERT INTO VALUES (%s, %s)", ("name", 20)) 在sqlite3模块中支持位置占位符(占位符用"?")和命名占位符 mycursor.execute("INSERT INTO VALUES (?,?)", ("name", 20)) mycursor.execute("INSERT INTO VALUES (:name,:age)",{'name':'myname','age':20}) 3. 批量执行sql语句:cursor.executemany(sql,values) 该方法sql语句中使用占位符,values是一个元祖组成的列表 sql = "INSERT INTO user(name, age) VALUES(%s, %s)" //操作mysql的"%s"占位符 "INSERT INTO user(name, age) VALUES(?,?)" //操作sqlite的"?"占位符 val = [ ('name1', 20), ('name2', 21), ('name_n', 22) ] //如果sql语句中使用了命名占位符,则val为字典组成的列表 mycursor.executemany(sql, val) 4. 获取查询记录: cursor.fetchone():获取结果集下一行(返回一个元祖),当没有更多可用的数据时返回None。 cursor.fetchmany([size=1]):尝试获取由size指定的尽可能多的行(返回一个元祖组成的列表)。 cursor.fetchall():获取查询结果集中所有(剩余)的行(返回一个元祖组成的列表)。 5. 属性值: 获取最后一条插入语句插入数据的id:mycursor.lastrowid 获取最后一条操作语句影响的行数:mycursor.rowcount
评论(0条) 评论列表
 

公司简介 企业文化 服务内容 公司新闻 公司图片 常见问题 联系我们 责权申明

贴心博客(Imblog)基于`jquery2+bootstrap4+贴心猫`开发; QQ群:607070548; 粤ICP备07020797号

Run:1.123/19.095(ms); 3(sql)/2.178(MB); v4:info/detail; Upd:2024-04-30 07:55:58