廖雪峰python学习笔记之访问数据库

这篇博客介绍了如何使用Python访问数据库,重点讲解了SQLite的基本用法,包括数据库连接、游标操作和SQL语句的执行。此外,还提到了MySQL的相似操作,并简单提及了SQLAlchemy的ORM技术及其用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

咚咚咚,敲黑板,这一节真的很重要的,因为不论你做什么数据库都是必须要使用的一部分,不论你使用关系型数据库还是nosql,python都可以很好的访问并且操纵它。

SQLite(python集成的数据库,无需安装)

一个小小的铺垫:
一个数据库的连接称为connection,连接到数据库之后,需要打开游标(Cursor),通过其执行SQL语句,然后获得执行结果。一定要注意的是,一旦连接打开游标之后记得关闭哦,否则会数据泄漏。

# 先关游标,在关连接
cursor.close()
conn.close()

为保证,无论如何都能被关闭,请尝试使用try:…except:…finally:…

基本用法

import sqlite3
conn = sqlite3.connect('数据库文件名')
cursor = conn.cursor()
# SQL语句的增删改查都是通过以下语句实现的
cursor.execute('SQL语句')
cursor.close()
# 提交事务
conn.commit()
conn.close()
  • 使用Cursor对象执行insert,update,delete语句时,执行结果由rowcount返回影响的行数,就可以拿到执行结果。
cursor.rowcount
  • 使用Cursor对象执行select语句时,通过featchall()可以拿到结果集。结果集是一个list,每个元素都是一个tuple,对应一行记录。
cursor.fetchall()

注意:当SQL语句带有参数时,请使用如下写法,?代表占位

cursor.execute('select * from user where name=? and pwd=?', ('abc', 'password'))

MySQL(大同小异)

注意以下两点:

  1. 执行INSERT等操作后要调用commit()提交事务;
  2. MySQL的SQL占位符是%s。

SQLAlchemy

这块还是以应用作为驱动吧,还没用过,所以理解不深。

ORM技术

诶,好像听过诶,它是把关系型数据库的表结构映射到对象上,其作用是将数据库表的一行记录和一个对象互相做自动转换

SQLAlchemy用法

廖雪峰网站

还是见这部分教程吧,偷懒不贴过来了,学会的第一步肯定是照猫画虎,所以也急不得。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值