首页  /  Python教程  /  SQlite数据库(1)  /  

SQlite数据库(1)

点击打开在线编译器,边学边练

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

    1. 创建数据库文件流程

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

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

图片25.png

        

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

        执行之后:

图片26.png

        输出结果为:

创建数据库文件成功

        我们可以看到创建好的数据库文件,如果创建了已存在的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

本文固定URL:https://www.dotcpp.com/course/308

上一课:对象和游标 下一课:SQlite数据库(2)
第一章 人生苦短,我用Python
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 函数
第六章 面向对象编程
第七章 模块
第八章 异常处理和程序调试
第九章 文件及目录操作
第十章 GUI编程
第十一章 进程和线程
第十二章 数据库管理
第十三章 算法
第十四章 爬虫
第十五章 实战篇
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)