咚咚咚,敲黑板,这一节真的很重要的,因为不论你做什么数据库都是必须要使用的一部分,不论你使用关系型数据库还是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(大同小异)
注意以下两点:
- 执行INSERT等操作后要调用commit()提交事务;
- MySQL的SQL占位符是%s。
SQLAlchemy
这块还是以应用作为驱动吧,还没用过,所以理解不深。
ORM技术
诶,好像听过诶,它是把关系型数据库的表结构映射到对象上,其作用是将数据库表的一行记录和一个对象互相做自动转换。
SQLAlchemy用法
还是见这部分教程吧,偷懒不贴过来了,学会的第一步肯定是照猫画虎,所以也急不得。
今天的文章廖雪峰python学习笔记之访问数据库分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/9111.html