iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 操作sqlite数据库的方法
  • 300
分享到

python 操作sqlite数据库的方法

python操作sqlitepython操作数据库 2022-06-02 22:06:31 300人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录前言简单介绍创建或连接数据库游标创建表插入查询查询总数查询所有查询第一条分页查询更新删除总结前言 sqlite的官网 sqlite.org/index.html SQLite 作为一个SQL数据库引擎,是由C语

目录
  • 前言
  • 简单介绍
  • 创建或连接数据库
  • 游标
  • 创建表
  • 插入
  • 查询
    • 查询总数
    • 查询所有
    • 查询第一条
    • 分页查询
  • 更新
    • 删除
      • 总结

        前言

        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 就是一个数据库连接对象从上面的程序里我们可以看到

        它可以创建一个游标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数据库来储存查询我们想要的数据。

        以上就是python 操作sqlite数据库的方法的详细内容,更多关于python 操作sqlite数据库的资料请关注编程网其它相关文章!

        --结束END--

        本文标题: python 操作sqlite数据库的方法

        本文链接: https://www.lsjlt.com/news/11015.html(转载时请注明来源链接)

        有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

        本篇文章演示代码以及资料文档资料下载

        下载Word文档到电脑,方便收藏和打印~

        下载Word文档
        软考高级职称资格查询
        编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
        • 官方手机版

        • 微信公众号

        • 商务合作