在学习MySQL模块的操作之前,我们先来学习一个名为SQLite的Python内置的数据库模块,SQLite是一种嵌入式数据库,而不是一个客户端的数据库引擎,所以它是一款轻型的遵守ACID的关系型数据库管理系统,它存在于一个相对小的C库中,经常被集成到各种应用程序中,这两节我们就来学习使用SQLite。
1. 创建数据库文件流程
Python中内置了SQLite3模块,我们可以直接使用import导入。
我们在操作数据库的时候流程一般如下:

2. 创建数据库文件和表
连接SQLite数据库的方式为sqlite.connect(‘数据库名’),我们通过一个例子来看一下,代码如下:
import sqlite3
con = sqlite3.connect('test.db')
print('创建数据库文件成功')
cursor = con.cursor()#创建一个游标
cursor.execute('''#执行SQL语句
create table user( #创建一个表
id int(8) primary key,
name varchar(18),
age int(8))
''')#执行SQL语句
cursor.close()
con.close()执行之后:

输出结果为:
创建数据库文件成功
我们可以看到创建好的数据库文件,如果创建了已存在的user表将会出现错误信息。我们在创建的时候使用通常是使用单引号,这里为了方便大家理解使用三引号方式,我们在创建列表项的时候需要给出姓名和数据类型,主键能帮助我们保证数据的唯一性,当数据不易区分的时候我们需要引入主键,像学生信息这样的表单,我们要设置学号为主键来区分信息,即使出现姓名相同的学生,但也可以通过唯一的主键来区分他们。
3. 插入操作
在创建了表之后我们肯定要往表中添加数据,添加数据的语法格式为:
con.execute("insert into user (id,name,age) values (1001, '李华', 21,)")
注意插入的数据类型一定要和我们在创建表的时候一一对应,也就是id对应1001,name对应李华,age对应21。
代码如下:
import sqlite3
con = sqlite3.connect('test.db')
cursor = con.cursor()
con.execute("insert into user (id,name,age) values (1001, '李华', 21)")
con.execute("insert into user (id,name,age) values (1002, '小明', 20)")
con.execute("insert into user (id,name,age) values (1003, '小张', 21)")
print('插入数据成功')
cursor.close()
con.commit()
con.close()输出结果为:
插入数据成功
如果我们重复运行当前代码,会出现如下错误,错误提示为存在了相同的信息,我们可以看出已经完成插入。
Traceback (most recent call last):
File "C:/Users/轻烟/PycharmProjects/untitled1/Akgirutgnm/test.py", line 4, in <module>
con.execute("insert into user (id,name,age) values (1001, '李华', 21)")
sqlite3.IntegrityError: UNIQUE constraint failed: user.idC语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程