【Python 连接SQLite数据库文件】

涉及:

  • Python连接db文件
  • 如何按照列名获取数据
  • 如何传入参数

示例代码如下:

# encoding=utf-8

import sqlite3

def get_signal_names(db_file_path):
    names = list()
    with sqlite3.connect(db_file_path, isolation_level="IMMEDIATE", timeout=60, check_same_thread=False) as con:
        # 设置可以使用名称来获取查询后的数据
        con.row_factory = sqlite3.Row
        cur = con.cursor()
        sql = "select distinct(Name) from Channels order by Name asc"
        cur.execute(sql)
        results = cur.fetchall()
        for row in results:
            names.append(row["Name"])
        return names

def get_channel_record(db_file_path, signal_name):
    channel = dict()
    with sqlite3.connect(db_file_path, isolation_level="IMMEDIATE", timeout=60, check_same_thread=False) as con:
        con.row_factory = sqlite3.Row
        cur = con.cursor()
        sql = "select MessageId, MessageChannel, SignalType from test_tb where Name = ?"
        # 注意(signal_name,)元组类型后的逗号
        cur.execute(sql, (signal_name,))
        re = cur.fetchone()

        channel["message_id"] = re["MessageId"]
        channel["signal_type"] = re["SignalType"]
        channel["message_channel"] = re["MessageChannel"]

    return channel

更多请关注微信公众号

原文地址:https://www.cnblogs.com/nelson2013/p/9251938.html

时间: 2024-11-06 17:23:23

【Python 连接SQLite数据库文件】的相关文章

Python连接SQLite数据库

SQLite作为一款轻型数据库,管理工具有很多,比如SQLite Expert Professional,很适合用来存储Python网站,爬虫的相关数据,下面列出基本的增删查改操作 读取操作: conn1 = sqlite3.connect(board.DatabasePath) conn1.row_factory = sqlite3.Row conn1.execute("pragma foreign_key=on") c1 = conn1.cursor() try: #执行查询操作

Python连接Sqlite数据库及Django获取接收Html数据

def sqlitetest(txt,footer): cx = sqlite3.connect("D:\Python-Test\StuProject\db.sqlite3") cu = cx.cursor() #sql = '''insert into 'comment_comment'(txt,'footer') values (\"%s\",\"%s\");'''%(pymysql.escape_string(txt),pymysql.es

Python操作SQLite数据库

连接数据库 从2.5版本开始,Python的标准库中就有了一个专门用于SQLite的sqlite3模块.连接SQLite数据库方式如下: import sqlite3 as dbapi con = dbapi.connect('population.db') cur = con.cursor() 第一个语句用于引用数据库API: 第二个语句创建了一个到数据库的连接(connection):调用数据库模块的connect方法.该方法的参数是一个字符串,它定义了我们所要连接的那个数据库.由于SQLi

Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)

系列文章导航 Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表) Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数) Adobe AIR中使用Flex连接Sqlite数据库(3)(查询) Adobe AIR中使用Flex连接Sqlite数据库(4)(事务) Flex,Fms3相关文章索引 Fms3和Flex打造在线多人视频会议和视频聊天(附原代码) 免费美女视频聊天,多人视频会议功能加强版本(Fms3和Flex开发(附源码))

Python 操作 SQLite 数据库

写在之前 SQLite 是一个小型的关系型数据库,它最大的特点在于不需要单独的服务.零配置.我们在之前讲过的两个数据库,不管是 MySQL 还是 MongoDB,都需要我们安装.安装之后,然后运行起来,其实这就相当于已经有一个相应的服务在跑着. SQLite 与前面所说的两个数据库不同.首先Python 已经将相应的驱动模块作为了标准库的一部分,只要是你安装了 Python,就可以使用:再者它可以类似于操作文件那样来操作 SQLite 数据库文件.还有一点,SQLite 源代码不受版权限制. 建

VS2010连接SQLite数据库

Visual studio 2010及以上版本,连接SQLite数据库 1.在Sqlite开发站点下载SQLite的.exe安装包 Ctrl+F搜索这条语句:This is the only setup package that is capable of installing the design-time components for Visual Studio xxxx 找到对应的VS版本,注意一定要带bundle,集成了设计器:无论32位系统还是64位系统,似乎都要下载32位的(X86)

Python连接Mysql数据库(Debian)

Python连接Mysql数据库(Debian) 以下是Python 2.*版本的安装方法,MySQL-python暂不支持Python 3.*版本 提前要做的工作: 安装setuptools,在终端中运行 wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python 安装pip,下载“get_pip.py”,运行 python get_pip.py 运行如下命令装好必要的包 sudo apt-get install python-d

vc连接sqlite数据库

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump

C#连接SQLite数据库

如果只是想C#引用DLL开发程序,不想要创建数据库,则可以从第三部分开始看 第一步.创建SQLite数据库 1)Shell模式下的CLP 首先下载CLP 官方站点http://www.sqlite.org/ 点击Download进入下载页面http://www.sqlite.org/download.html 滚动鼠标,找到页面上的Precompiled Binaries for Windows 有一个叫sqlite-shell-win32-x86-3080403.zip,其中后面的小版本号一定