栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python中数据库基础的增删查改——以Sqlite为例

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python中数据库基础的增删查改——以Sqlite为例

 “ 本文通过简单示例引入了Python中对数据库的基本增删查改操作,供读者学习了解Python中如何对数据库进行操作,具体复杂操作还需自行学习各类数据库语法。“

PS:“ 本文适用于初学Python数据库操作新手学习。 ”

  • 博主每篇文章的注释都是干货!每个代码段都有详细注释,一定要认真看注释!!!

数据库连接基本框架
  • 步骤:

  1. 连接数据库  

  2. 取得游标 

  3. 执行语句 

  4. 释放游标

  5. 关闭数据库

  • 一定要认真看注释!!!
# sqlite框架
import sqlite3
conn = sqlite3.connect('demos.db')   # 连接数据库,没有则自动建立
cursor = conn.cursor()  # 取得游标
sql = 'create table user(id int(8) primary key, name varchar(50))'    # sql语句创建表单
cursor.execute(sql)     # 执行sql语句
cursor.close()  # 释放游标
conn.close()    # 关闭连接

数据库写入
  • 核心
  • sql语句定义
  • sql语句execute()
  • 写入(删除、修改)数据要commit()
  • 一定要认真看注释!!!
# 创建两组数据[(18, 'yushiba'), (19, 'yushi')]

import sqlite3
conn = sqlite3.connect('demos.db')
cursor = conn.cursor()
sql0 = 'create table user(id int(8) primary key, name varchar(50))'    # sql创建表单
sql1 = "insert into user(id,name) values ('18','yushiba')"    # sql语句,注意保持id唯一性
sql2 = "insert into user(id,name) values ('19','yushi')"
cursor.execute(sql0)    # 执行语句
cursor.execute(sql1)
cursor.execute(sql2)
cursor.close()
conn.commit()   # 写入数据sql1得有提交commit
conn.close()

 数据库查找并打印
  • 核心
  • sql语句定义
  • sql语句执行
  • 游标保存结果fetchall()
  • 一定要认真看注释!!!
# 读取并打印
# 预期结果:[(18, 'yushiba'), (19, 'yushi')]
import sqlite3
conn = sqlite3.connect('demos.db')
cursor = conn.cursor()
sql = 'select * from user'  # *代表全选
cursor.execute(sql)

result = cursor.fetchall()  # 游标保存所有结果
print(result)

cursor.close()
conn.close()
# 打印结果见下图

 


 数据库的修改
  • 核心
  • sql语句定义
  • sql语句执行
  • 写入(删除、修改)数据要commit()
  • 一定要认真看注释!!!
# 更新数据库中的数据id=19的name:'yushi',改为'yu'
# 预期结果[(18, 'yushiba'), (19, 'yu')]
import sqlite3
conn = sqlite3.connect('demos.db')
cursor = conn.cursor()

sql = "update user set name='yu' where id=19"  # 更新数据
cursor.execute(sql)
sql = 'select * from user'  # 全选数据保存
cursor.execute(sql)
result = cursor.fetchall()  # 保存所有结果
print(result)

cursor.close()
conn.commit()   # 有数据改动就要提交commit
conn.close()
# 打印结果见下图

 


数据库的删除
  • 核心
  • sql语句定义
  • sql语句执行
  • 写入(删除、修改)数据要commit()
  • 一定要认真看注释!!!
# 删除id=19的元素
# 原数据:[(18, 'yushiba'), (19, 'yu')]
# 预期结果:(18, 'yushiba')
import sqlite3
conn = sqlite3.connect('demos.db')
cursor = conn.cursor()

sql = "delete from user where id=19"  # 删除id=19的元素
cursor.execute(sql)
sql = 'select * from user'
cursor.execute(sql)
result = cursor.fetchall()
print(result)

cursor.close()
conn.commit()
conn.close()
# 输出结果见下图

 

数据库标准框架
# 预置数据:[(18, 'yushiba')]
# 预期结果:[(18, 'yu')]
import sqlite3
conn = sqlite3.connect('demos.db')
cursor = conn.cursor()
# 结合异常处理,因为数据库要关闭
# 没有下列程序则如果程序出错,数据库将没有关闭
try:
    sql = "update user set name='yu' where id=18"  # 更新数据
    cursor.execute(sql)
    sql = 'select * from user'
    cursor.execute(sql)
    result = cursor.fetchall()
    print(result)
    conn.commit()  # 有数据改动就要提交commit
except Exception as e:
    conn.rollback() # 数据库的回滚
finally:    # 关闭游标和连接
    cursor.close()  # 关闭
    conn.close()
 核心总结
  • 连接数据库→取得游标→执行语句→释放游标→关闭数据库

  • sql语句定义后执行execute

  • 游标保存cursor.fetchall()

  • 写入(删除、修改)数据要conn.commit()

  • 结合程序异常处理


 “知行合一。” 

                                                                ——Created By 是羽十八ya

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/875019.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号