Python3.9数据库SQLite3学起(3)
发布时间:2023-01-09 18:09:40 299
相关标签: # python# 数据库# sqlite# 数据# 信息
(Python3.9数据库SQLite3学起(3))
二、在PyCharm中SQLite3之更新和查询
1、记录更新的代码 2、PyCharm中查询表数据的代码
1、数据库表中记录更新的代码
数据库操作,少不了更新数据,在PyCharm中,学着用Python语言搞定它。 按照老师教的,还是上帝视角!!!
# (1)打开或创建数据库
# (2)获取游标
# (3)调用executemany()方法多次执行同一条语句
# (4)关闭游标
# (5)关闭连接
正文在此
# 导入访问SQLite的模块
import sqlite3
# (1)打开或创建数据库
conn = sqlite3.connect("sqlite.db")
# (2)获取游标
myCursor = conn.cursor()
# (3)调用executemany()方法多次执行同一条语句
# _id的用法是避开id这个,特别注意,不要用关键的单词,
# 原则:不同地方,不同作用域的都不要用同一命名,自己都看着迷糊,别人怎么看
# 如下的myCursor,可以用cursor命名吧,但是强烈建议不要用,少迷糊少出错^_^
myCursor.executemany('update user_tb set name=? where _id=?',
(
('九歌', 1),
('李小山', 2)
))
# 通过rowcount获取被修改的记录条数
print('修改的记录条数:', myCursor.rowcount)
conn.commit()
# (4)关闭游标
myCursor.close()
# (5)关闭连接
conn.close()
- 查询表内记录的办法,还有一种,来两个截图。
- 不好意思,还有第三张。
2、PyCharm中查询表数据的代码
除了用上面的方法,在PyCharm中,需要编写sql语句来查询数据表的记录。 在此有三个方法:fetchone(),fetchmany(),fetchall()。其中fetch的英文意思就是“抓取”,那么下面就好理解了。
-
fetchone()——查找一条记录
-
fetchmany()——查找多条记录(如fetchmany(3),就是查询3条记录)
-
fetchall()——查找所有记录
-
继续举例子,上代码。
# 导入访问SQLited的模块
import sqlite3
# (1)打开或创建数据库
# 也可以使用特殊名称:memory:,代表创建内存中的数据库
conn = sqlite3.connect('sqlite.db')
# (2)获取游标
myCursor = conn.cursor()
# (3)调用执行sql语句,此处加上where条件语句(就是符合where后面语句块的才被查询输出)
myCursor.execute('select * from user_tb where _id > ?', (2, ))
# ①通过使用游标cursor的rowcount属性,返回记录条数
print('查询返回的记录数:', myCursor.rowcount)
# ②再通过游标的description属性,获取列信息
for col in (myCursor.description):
print(col[0], end='\t')
print('\n'+'-'*26)
# ③再来一轮查询,用到了游标里面的fetchone()方法
while True:
# 获取一条记录,放到一个元组
row = myCursor.fetchone()
# 如果获取不到(row为None),则退出循环
if not row:
break
print(row)
# 查询就用不到conn.commit()了,因为无需提交生笑吗
# (4)关闭游标
myCursor.close()
# (5)关闭库连接
conn.close()
-
上面查询使用execute()方法执行了一条select语句,接下来再使用while循环,再用游标的description属性获取列信息,返回_id 大于2的记录。
-
上面myCursor.fetchone()换成myCursor.fetchall()的话,就是查询所有的记录了。
本节结束,稍后更新。
文章来源: https://blog.51cto.com/u_15930659/5990397
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报