SQlite数据库(1)_Python教程

内容摘要
在学习MySQL模块的操作之前,我们先来学习一个名为SQLite的Python内置的数据库模块,SQLite是一种嵌入式数据库,而不是一个客户端的数据库引擎,所以它是一款轻型的遵守ACI
文章正文

        在学习MySQL模块的操作之前,我们先来学习一个名为SQLite的Python内置的数据库模块,SQLite是一种嵌入式数据库,而不是一个客户端的数据库引擎,所以它是一款轻型的遵守ACID的关系型数据库管理系统,它存在于一个相对小的C库中,经常被集成到各种应用程序中,这两节我们就来学习使用SQLite。

    1. 创建数据库文件流程

        Python中内置了SQLite3模块,我们可以直接使用import导入。

        我们在操作数据库的时候流程一般如下:

sqlite1

        

    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()

        执行之后:

sqlite2

        输出结果为:

创建数据库文件成功

        我们可以看到创建好的数据库文件,如果创建了已存在的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.id
代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!