热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

怎么用python操作sqlite数据库

本篇内容介绍了“怎么用python操作sqlite数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习

本篇内容介绍了“怎么用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连接这个数据库,可以看到

    怎么用python操作sqlite数据库

    需要注意的是每次关闭连接之前,一定要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也是非常类似

    怎么用python操作sqlite数据库

    插入

    插入这里很简单的

    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操作sqlite数据库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程笔记网站,小编将为大家输出更多高质量的实用文章!


    推荐阅读
    author-avatar
    kingkongkoil
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有