目录
上节课我们知道了可以将数据存储在csv、json、excel文件并且介绍了Python操作文件的方法,但当项目规模扩大后,仅仅使用文件存储数据满足不了项目的需求。这时就需要使用数据库。
数据库管理系统DBMS(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。数据库管理系统应用于大型项目是用户与数据之间交互的途径。
1.SQLite数据库的基本使用
本节课主要介绍SQLite这个数据库,可使用SQLite Expert Professional软件,同时在Pycharm中也集成了这个数据库。
SQLite数据库是动态类型的,它仅有五种类型,可以动态的适应其他数据库中的字段。
- NULL 空字段
- INTEGER 整型(包含short int long...)
- REAL 浮点型(包含float double decimal...)
- TEXT 字符型(包含char string varchar navchar)
- BLOB 二进制型
SQL语句:
查询全部字段—SELECT * FROM 表
插入字段——INSERT INTO 表 (字段1,字段2...) values (值1,值2...)
修改字段——UPDATE 表 SET 字段=值 WHERE 字段=值
删除字段——DELETE FROM 表 WHERE 字段=值
创建数据库
设置数据库参数
创建数据表
创建表字段
最后创建的表如
查找全部字段
插入字段
修改字段
删除字段
2.Pycharm连接数据库
连接成功后可以在Pycharm里使用SQL语句。
3.在Python中使用SQLite(sqlit3模块)
导入sqlite3模块
方法:
conn = sqlit3.connect('数据库’) 连接数据库
conn.cursor() 创建游标
conn.commit() 提交操作
conn.close() 关闭数据库连接
游标.execute(sql语句[,参数]) 执行操作
游标.fetchall() 获取所有结果到列表
游标.fetchone() 返回一条结果
游标.fetchmany(数量) 返回指定数量的条目
参数化查询可以避免SQL注入,参数化查询的两种方法
- ? 传入元组
- :自定义参数名 传入字典表
查询操作
增加操作
删除操作
游标.fetchall()
游标.fetchone()
游标.fetchmany()
不参数化查询,假设用户输入姓名字段进行查找,不参数化查询容易SQL注入,比如用户输入的不是姓名而是一句SQL删除语句..
使用?参数化,需要传入元组
使用:参数名参数化,需要传入字典表
来源:CSDN
作者:嘟嘟杜
链接:https://blog.csdn.net/qq_33836092/article/details/104150345