python自带数据库SQLite3,实现增删改查,及初始化重复操作

一、SQLite3简介

SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。

二、 为什么用SQLite3

不需要一个单独的服务器进程或操作的系统(无服务器的)。

SQLite 不需要配置,这意味着不需要安装或管理。

一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。

SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。

SQLite 是自给自足的,这意味着不需要任何外部的依赖。

SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。

SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。

SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。

SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。

python中,SQLite3是标准模块,不需要安装,所以,我们会经常使用其开发一些小型数据库系统。

三、访问数据库的步骤

3.1 导入Python SQLite数据库模块

import sqlite3

3.2 建立数据库连接,返回connection对象

以创建school数据库为例:

Conn=sqlite3.connect('school.db')

3.3 创建游标对象

Cur=Conn.cursor()

3.4 使用Cursor对象的execute()方法执行SQL命令返回结果

Cur.execute('Create table class(id ,name,sex,age)')

3.5 数据库的提交或回滚

Conn.commit()

3.6 关闭Cursor对象和Connection对象

Conn.close()

3.7 关闭Cursor对象和Connection对象

Cur.close()
Conn.close()

完整示例

4.1 代码块

import sqlite3
from time import sleep

def conn():
        """创建数据库库"""
        Conn=sqlite3.connect('nba.db')
        Cur=Conn.cursor()
        Cur.execute('Create table lakers(id ,name,tall,age)')
        Conn.commit()
        print('数据库表创建成功')
        Cur.close()
        Conn.close()
        sleep(2)

def ins():
        """添加数据"""
        Conn = sqlite3.connect('nba.db')
        Cur = Conn.cursor()
        Cur.execute('insert into lakers values(?,?,?,?)', (1,'rw',191,33))
        Cur.execute('insert into lakers values(?,?,?,?)',(2,'lbj',203,36))
        Cur.execute('insert into lakers values(?,?,?,?)',(3,'ca',203,36))
        Cur.execute('insert into lakers values(?,?,?,?)',(4,'kd',208,28))
        Cur.execute('insert into lakers values(?,?,?,?)',(5,'dh',210,36))
        Conn.commit()
        print('数据添加成功')
        Cur.close()
        Conn.close()
        sleep(2)

def res():
        """查询数据"""
        Conn = sqlite3.connect('nba.db')
        Cur = Conn.cursor()
        re=Cur.execute('select * from lakers')
        Conn.commit()
        print('查询数据成功:')
        for i in re:
                print(i)
        Cur.close()
        Conn.close()
        sleep(2)

def upd():
        """修改数据"""
        Conn = sqlite3.connect('nba.db')
        Cur = Conn.cursor()
        Cur.execute("update lakers set name='hhd' where id=5")
        re = Cur.execute("select *from lakers where id=5")
        Conn.commit()
        print('数据修改成功:')
        for i in re:
                print(i)
        Cur.close()
        Conn.close()
        sleep(2)

def dele():
        """删除数据"""
        Conn = sqlite3.connect('nba.db')
        Cur = Conn.cursor()
        Cur.execute('delete from lakers where id=4')
        re=Cur.execute('select * from lakers')
        Conn.commit()
        print('数据删除成功:')
        for i in re:
                print(i)
        Cur.close()
        Conn.close()
        sleep(2)

def dro_tb():
        """删除表"""
        """注意这个需要先创建成功后,才能执行"""
        Conn = sqlite3.connect('nba.db')
        Cur = Conn.cursor()
        Cur.execute('drop table lakers')
        Conn.commit()
        print('删除表成功')
        Cur.close()
        Conn.close()

if __name__ == '__main__':
        dro_tb()
        conn()
        ins()
        res()
        dele()

4.2 运行结果

非首次运行成功截图:

python自带数据库SQLite3,实现增删改查,及初始化重复操作

Original: https://blog.csdn.net/weixin_45230019/article/details/119298951
Author: Irving_Hua
Title: python自带数据库SQLite3,实现增删改查,及初始化重复操作

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/816653/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球