蒹葭苍苍,白露为霜。
所谓伊人,在水一方。

58 Python - Python 操作SQLite-58


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:参数化查询——:冒号

 

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

 

 

赞(0) 打赏
未经允许不得转载:酷居科技 » 58 Python - Python 操作SQLite-58

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

锦瑟无端五十弦,一弦一柱思华年

酷居科技联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏