Python基础知识学习(十六)——Python操作SQLite

目录

1.SQLite数据库的基本使用

2.Pycharm连接数据库

3.在Python中使用SQLite(sqlit3模块)


上节课我们知道了可以将数据存储在csv、json、excel文件并且介绍了Python操作文件的方法,但当项目规模扩大后,仅仅使用文件存储数据满足不了项目的需求。这时就需要使用数据库。

数据库管理系统DBMS(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。数据库管理系统应用于大型项目是用户与数据之间交互的途径。

Python基础知识学习(十六)——Python操作SQLite

1.SQLite数据库的基本使用

本节课主要介绍SQLite这个数据库,可使用SQLite Expert Professional软件,同时在Pycharm中也集成了这个数据库。

Python基础知识学习(十六)——Python操作SQLite

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 字段=值

创建数据库

Python基础知识学习(十六)——Python操作SQLite

设置数据库参数

Python基础知识学习(十六)——Python操作SQLite

创建数据表

Python基础知识学习(十六)——Python操作SQLite

创建表字段

Python基础知识学习(十六)——Python操作SQLite

最后创建的表如

Python基础知识学习(十六)——Python操作SQLite

查找全部字段

Python基础知识学习(十六)——Python操作SQLite

插入字段

Python基础知识学习(十六)——Python操作SQLite

Python基础知识学习(十六)——Python操作SQLite

修改字段

Python基础知识学习(十六)——Python操作SQLite

Python基础知识学习(十六)——Python操作SQLite

删除字段

Python基础知识学习(十六)——Python操作SQLite

Python基础知识学习(十六)——Python操作SQLite

2.Pycharm连接数据库

Python基础知识学习(十六)——Python操作SQLite

Python基础知识学习(十六)——Python操作SQLite

Python基础知识学习(十六)——Python操作SQLite

连接成功后可以在Pycharm里使用SQL语句。

Python基础知识学习(十六)——Python操作SQLite

Python基础知识学习(十六)——Python操作SQLite

 

3.在Python中使用SQLite(sqlit3模块)

导入sqlite3模块

方法:

conn = sqlit3.connect('数据库’)   连接数据库

conn.cursor()    创建游标

conn.commit()    提交操作

conn.close()     关闭数据库连接

游标.execute(sql语句[,参数])     执行操作

游标.fetchall()    获取所有结果到列表

游标.fetchone()    返回一条结果

游标.fetchmany(数量)   返回指定数量的条目

参数化查询可以避免SQL注入,参数化查询的两种方法

  • ?                         传入元组
  • :自定义参数名    传入字典表

查询操作

Python基础知识学习(十六)——Python操作SQLite

增加操作

Python基础知识学习(十六)——Python操作SQLite

Python基础知识学习(十六)——Python操作SQLite

删除操作

Python基础知识学习(十六)——Python操作SQLite

Python基础知识学习(十六)——Python操作SQLite

游标.fetchall()

Python基础知识学习(十六)——Python操作SQLite

游标.fetchone()

Python基础知识学习(十六)——Python操作SQLite

游标.fetchmany()

Python基础知识学习(十六)——Python操作SQLite

不参数化查询,假设用户输入姓名字段进行查找,不参数化查询容易SQL注入,比如用户输入的不是姓名而是一句SQL删除语句..

Python基础知识学习(十六)——Python操作SQLite

使用?参数化,需要传入元组

Python基础知识学习(十六)——Python操作SQLite

使用:参数名参数化,需要传入字典表

Python基础知识学习(十六)——Python操作SQLite

Python基础知识学习(十六)——Python操作SQLite