我是靠谱客的博主 俊逸白羊,最近开发中收集的这篇文章主要介绍Python中SQLite使用一、前言二、创建数据库文件三、操作SQLite,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Python中SQLite使用

  • 一、前言
  • 二、创建数据库文件
  • 三、操作SQLite
    • 1.新增用户数据信息
    • 2.查询用户数据信息
    • 3.修改用户数据信息
    • 4.删除用户信息


一、前言

  与许多其他数据库管理系统不同,SQLite不是一个客户端/服务器结构的数据库引擎,而是一种嵌入式数据库,它的数据库就是一个文件。SQLite将整个数据库,包括定义、表、索引以及数据本身,作为一个单独的,可跨平台使用的文件存储在主机中。由于SQLite本身是用C语言编写的,而且体积很小,所以,经常被集成到各种应用程序中。Python就内置了SQLite3,所示,在Python中使用SQLite,不需要安装任何模块,可以直接使用。


二、创建数据库文件

  由于Python中已经内置了SQLite3,所以可以直接使用import语句导入SQLite3。Python操作数据的通常流程如图所示:
在这里插入图片描述
  例如,创建一个名称为mrsoft.db的SQLite数据库文件,然后执行SQL语句创建一个user(用户表),user表包含id和name两个字段。具体代码如下:

import sqlite3

# 连接到SQLite数据库
# 数据库文件是mrsoft.db,如果文件不存在,会自动在当前目录创建
conn = sqlite3.connect("mrsoft.db")

# 创建一个Cursor
cursor = conn.cursor()

# 执行一条SQL语句,创建user表
cursor.execute("create table user (id int(10) primary key,name varchar(20))")

# 关闭游标
cursor.close()

# 关闭Connection
conn.close()

  上述代码中,使用sqlite3.connect()方法连接SQLite数据库文件mrsoft.db,由于mrsoft.db文件并存在,所以会创建mrsoft.db文件,该文件包含了user表的相关信息。

  说明:上面代码只能运行一次,再次运行,会提示错误信息:“sqlite3.OperationalError: table user already exists”。这是因为user表已经存在。


三、操作SQLite

1.新增用户数据信息

  为了向数据表中新增数据,可以使用如下SQL语句:

insert into 表名(字段名1,字段名2,……,字段名n) values (字段值1,字段值2,……,字段值n) 

  例如,在user表中,有2个字段,字段名分别为id和name,而字段值需要根据字段的数据类型来赋值,如id是一个长度为10的整型,name是长度为20的字符串型数据。向user表中中插入3条用户信息记录,则SQL语句如下:

cursor.execute('insert into user (id , name) values ("1","小明") ')
cursor.execute('insert into user (id , name) values ("2","小红") ')
cursor.execute('insert into user (id , name) values ("3","小菜鸡") ')

2.查询用户数据信息

  查找user表中的数据可以使用下列SQL语句:

select 字段名1,字段名2,…… from 表名 where 查询条件 

  查看用户信息的代码与插入数据信息大致相同,不同点在于使用的SQL语句不同。此外查询数据时通常使用如下3种方式:

  • fetchone():获取查询结果集中的吓一条记录。
  • fetchmany():获取指定数据的记录。
  • fetchall():获取结构集所有记录。

  例如,分别使用 fetchone()、fetchmany()、fetchall()查询用户信息的代码如下:

result1 = cursor.fetchone()  # 使用fetchone()方法查询一条数据
print(result1)

result2 = cursor.fetchmany(2)  # 使用fetchmany()方法查询多条数据
print(result2)

result3 = cursor.fetchall()  # 使用fetchall(方法查询全部数据
print(result3)

  修改上面获取查询结果的语句模块模块修改为:

cursor.execute('select * from user where id > ?', (1,))
result3 = cursor.fetchall()  # 使用fetchall(方法查询全部数据
print(result3)

  在select查询语句中,使用问号作为占位符代替具体数据值,然后用一个元组来代替问号(注意,不要忽略元组中的逗号)上述查询语句等价于:

cursor.execute('select * from user where id > 1')

说明:使用占位符的方式可以避免SQL注入的风险,推荐使用这种方式。


3.修改用户数据信息

  修改user表中的数据可以使用如下SQL语句:

update 表名 set 字段名 = 字段值 where 查询条件

  例如,将sqlite数据库中user表ID为1的数据name字段值“小明”修改为“小白白”的代码如下:

# 创建一个Cursor
cursor = conn.cursor()
cursor.execute('updata user set name = ? where id = ?',("小白白",1))

4.删除用户信息

  删除user表中的数据可以使用如下SQL语句:

delete from 表名 where 查询条件

  例如,删除sqlite数据库中user表ID为1的数据的代码如下:

# 创建一个Cursor
cursor = conn.cursor()
cursor.execute('delete from user where id = ?',(1,))

最后

以上就是俊逸白羊为你收集整理的Python中SQLite使用一、前言二、创建数据库文件三、操作SQLite的全部内容,希望文章能够帮你解决Python中SQLite使用一、前言二、创建数据库文件三、操作SQLite所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部