PYTHON数据库管理:SQlite数据库创建文件和表

2022-08-0710:20:04后端程序开发Comments2,297 views字数 1654阅读模式

学习MySQL模块的操作之前,我们先来学习一个名为SQLitePython内置的数据库模块,SQLite是一种嵌入式数据库,而不是一个客户端的数据库引擎,所以它是一款轻型的遵守ACID的关系型数据库管理系统,它存在于一个相对小的C库中,经常被集成到各种应用程序中,这两节我们就来学习使用SQLite。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

 1. 创建数据库文件流程文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

Python中内置了SQLite3模块,我们可以直接使用import导入。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

我们在操作数据库的时候流程一般如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

PYTHON数据库管理:SQlite数据库创建文件和表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

2. 创建数据库文件和表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

连接SQLite数据库的方式为sqlite.connect(‘数据库名’),我们通过一个例子来看一下,代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

1
2
3
4
5
6
7
8
9
10
11
12
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()

执行之后:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

PYTHON数据库管理:SQlite数据库创建文件和表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

1
创建数据库文件成功

我们可以看到创建好的数据库文件,如果创建了已存在的user表将会出现错误信息。我们在创建的时候使用通常是使用单引号,这里为了方便大家理解使用三引号方式,我们在创建列表项的时候需要给出姓名和数据类型,主键能帮助我们保证数据的唯一性,当数据不易区分的时候我们需要引入主键,像学生信息这样的表单,我们要设置学号为主键来区分信息,即使出现姓名相同的学生,但也可以通过唯一的主键来区分他们。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

3. 插入操作文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

在创建了表之后我们肯定要往表中添加数据,添加数据的语法格式为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

con.execute("insert into user (id,name,age) values (1001, '李华', 21,)")文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

注意插入的数据类型一定要和我们在创建表的时候一一对应,也就是id对应1001,name对应李华,age对应21。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

1
2
3
4
5
6
7
8
9
10
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()

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

1
插入数据成功

如果我们重复运行当前代码,会出现如下错误,错误提示为存在了相同的信息,我们可以看出已经完成插入。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html

1
2
3
4
 Traceback (most recent call last):
  File "C:/Users/轻烟/PycharmProjects/untitled1/Akgirutgnm/test.py", line 4in <module>
    con.execute("insert into user (id,name,age) values (1001, '李华', 21)")
sqlite3.IntegrityError: UNIQUE constraint failed: user.id
代码注释
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/26664.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/26664.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定