加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Python怎样操作sqlite数据库 增减改怎样做

发布时间:2023-08-14 13:01:10 所属栏目:语言 来源:
导读:很多朋友都对“Python怎样操作sqlite数据库,增删改怎样做”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!sq

很多朋友都对“Python怎样操作sqlite数据库,增删改怎样做”的内容比较感兴趣,对此小编整理了相关的知识分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获,那么感兴趣的朋友就继续往下看吧!

sqlite的官网 sqlite.org/index.html SQLite 作为一个SQL数据库引擎,是由C语言实现的,又小又快,具有高可靠性且功能齐全。 作为嵌入式数据库,在移动设备中使用非常广泛且方便。Python3中内嵌了sqlite的驱动,我们直接导入就行。

import sqlite3

简单介绍

首先我们给大家一个能够运行的Python程序,让大家对Python操作sqlite数据库有一个直观的感受。

# 导入SQLite驱动:

import sqlite3

# 连接到SQLite数据库

# 数据库文件是test.db

# 如果文件不存在,会自动在当前目录创建:

conn = sqlite3.connect('test.db')

# 创建一个Cursor:

cursor = conn.cursor()

# 执行一条SQL语句,创建user表:

cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')

# 继续执行一条SQL语句,插入一条记录:

cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')

# 通过rowcount获得插入的行数:

print(cursor.rowcount)

# 关闭Cursor:

cursor.close()

# 提交事务:

conn.commit()

# 关闭Connection:

conn.close()

我们用Navicat连接这个数据库,可以看到

需要注意的是每次关闭连接之前,一定要commit,否则做的任何操作都不会提交到数据库中

创建或连接数据库

conn = sqlite3.connect('test.db') 首先我们要做的是连接数据库,注意如果我们要访问的数据库不存在,那么会自动创建一个的 conn 就是一个数据库连接对象从上面的程序里我们可以看到

1.它可以创建一个游标cursor = conn.cursor()

2.它可以提交事务conn.commit()

3.它还可以关闭连接cursor.close()

4.它还可以对事务做回滚cursor.rollback(),不过程序之中没有展示出来

隔离级别可以在conn建立之前通过传入参数来进行修改

conn = sqlite3.connect('test.db', isolation_level=None) 这样,对应的代码就不再需要commit()操作了

游标

游标对象有以下的操作

execute()--执行sql语句

executemany--执行多条sql语句

close()--关闭游标

fetchone()--从结果中取一条记录,并将游标指向下一条记录

fetchmany()--从结果中取多条记录

fetchall()--从结果中取出所有记录

scroll()--游标滚动

我们一般用到的是execute()更多一些

创建表

下面的代码可以创建表

cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')

可以看到建表语句和MySQL非常类似 创建自增主键的语句

CREATE TABLE "main"."test" (

"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT

);

在Navicat的创建sqlite自增主键和MySQL也是非常类似

插入

插入这里很简单的

cursor.execute('insert into user (id, name) values (\'1\', \'Michael\')')

查询

查询这里需要讲一讲 是要先让游标将sql语句执行掉,再通过上面介绍的

fetchone()--从结果中取一条记录,并将游标指向下一条记录

fetchmany()--从结果中取多条记录

fetchall()--从结果中取出所有记录

来进行查询

查询总数

cursor.execute("select count(*) from user")

print(cursor.fetchone())

# (2,)

查询所有

cursor.execute("select * from user")

print(cursor.fetchall())

# [('1', 'Michael'), ('2', 'Danny')]

查询第一条

cursor.execute("select * from user")

print(cursor.fetchone())

# ('1', 'Michael')

分页查询

cursor.execute("select * from user LIMIT 1, 2")

print(cursor.fetchall())

更新

更新呢也比较简单

cursor.execute("update user set name='test' where id='1'")

这里只要别忘了执行commit就行

删除

cursor.execute("delete from catalog where id = 4")

总结

人生苦短,我用 Python,在强大的Python帮助下,我们只需几行代码就可以操作sqlite数据库来储存查询我们想要的数据。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章