58 Python - Python 操作SQLite
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:参数化查询——:冒号


⑦操作数据库的类的简单样例



浙公网安备 33010602011771号