Dotcpp  >  编程教程  >  Python数据库管理  >  SQlite数据库(1)

SQlite数据库(1)

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

        在学习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



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

上一课:

对象和游标

下一课:

SQlite数据库(2)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Python教程
第一章 Python入门
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 Python函数
第六章 Python面向对象编程
第七章 Python模块
第八章 Python异常处理和程序调试
第九章 Python文件及目录操作
第十章 PythonGUI编程
第十一章 Python进程和线程
第十二章 Python数据库管理
第十三章 Python算法
第十四章 Python爬虫
第十五章 Python实战项目
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)