Python 操作SQLite
如果数据多了存入文件就不太方便了,需要用到数据库
SQLite是一个关系型数据库,比较轻便,没有专门进程或服务维护(如没有用户、角色等),以文件的形式存在,适合小型项目
01 Python项目操作SQLite数据表
(1)创建项目
(2)创建库和表
老师安装了一个软件
创建表,并保存一个通讯录
很多数据库类型都是静态类型,我们创建时候把数据类型已经定义好了,以后我们插入数据必须遵循这套类型。
但是SQLite数据库类型是动态数据类型,它的类型常见的就几种,
定义时候可以与其他数据库类型进行兼容
定义字段发现有很多数据库类型,把其他数据库类型也包括进去了,我们可以写成自己熟悉的类型,便于迁移
SQLite里面有自增长RawID,然后点击下面的Apply
(3)简单使用更新、删除语句
更新
删除
(4)PyCharm(专业版,免费版本没有)操作SQLite
Python自带模块sqlite3,可以利用PyCharm(专业版)操作数据表中数据
PyCharm右侧有一个database标签,然后点击+号
数据源选择
第一次连接可能需要下载JDBC驱动
连接数据源后
可以执行SQL语句
(5)Python
①Python的sqlite3操作语句介绍
②连接对象函数
小细节:脚本窗口和控制台的默认路径有区别
③游标
Row表面看像列表,后面研究
④ 增删改操作
说明:代码在③的基础上顺延
增删改后,提交数据库需要用到commit函数
使用close函数后,再操作sql的话需要重新连接
插入
更新
删除
⑤ 选择数据
Fetchall方法,获取所有结果到列表,每个对象放到一个元组中
Row是一个元组
Fetchone方法,只返回一条,
Fetchmany方法,获取指定条数,result是一个列表
⑥ 参数化查询
场景:如果sql中内容不是固定的即Sql不能写死,该如何处理。
方式1,用一个变量接收信息如name,然后拼接到sql
这种变量方式不推荐,容易引起sql注入,在实际开发中name可能是从输入框获取的,如果输入的信息含有删除或破坏数据库的内容,有风险。
方式2:参数化查询——?问号
用占位符在sql中留位置,该占位符是sql语句的非python的
Name放到元组里面,
sql的占位符用?号(还有很多种占位符),
执行sql把元组当中参数放入
多个参数可以用多个问号
方式3:参数化查询——:冒号
⑦操作数据库的类的简单样例