返回

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()的话,就是查询所有的记录了。

    本节结束,稍后更新。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
Python3.9数据库SQLite3学起(2) 2023-01-09 17:45:21