python操作数据库 -python 操作sqlite内存数据库方法

本文介绍一下在python中如何使用sqlite数据库。

Sqlite是C语言编写的轻量级的内存数据库,意味访问速度是比较快的,通常的linux系统都是自带该数据库的。由于sqlite的轻量小巧,因此在学习以及一些访问不是那么频繁,通常一个网站每天的点击次数小于10W(甚至100W)次,采用sqlite是完全能够保证稳定运行的,这个时候就可以采用sqlite。很多的语言都提供直接访问sqlite的接口,可以直接使用,python也不例外。python原生提供了对于sqlite的访问支持,因此在安装python环境之后,不需要额外安装其他模块。

对于数据库的操作无外乎增删改查几种方式,示例代码如下:

 # encoding: utf-8 
import json
import os
import sys

import sqlite3


def createSqlite3Table(createSqlcmd):
    conn = sqlite3.connect('db.sqlite3')
    c = conn.cursor()

    c.execute(createSqlcmd)

    conn.commit()
    conn.close()

def insertDataToSqlite3Table(data,insertSqlcmd):

    conn = sqlite3.connect('db.sqlite3')
    c = conn.cursor()
    c.executemany(insertSqlcmd, data)
    conn.commit()
    conn.close()
    print('sql insert data succ')


def readSqlite3Table(selectSqlcmd):
    conn = sqlite3.connect('db.sqlite3')
    c = conn.cursor()
    c.execute(selectSqlcmd)
    data = c.fetchall()
    conn.commit()
    conn.close()
    return data
    #print c.fetchall()

if __name__ == '__main__':


    createSqlCmd = '''CREATE TABLE IF NOT EXISTS USERS
        (ID   BIGINT NOT NULL primary key,
        NAME  TEXT ,
        AGE   INT );'''

    createSqlite3Table(createSqlCmd)

    data = [[1,'tom','20'],[2,'peter','25'],[3,'lily','21']]
    

    insertSqlcmd = 'INSERT INTO users VALUES (?,?,?)'

    insertDataToSqlite3Table(data,insertSqlcmd)

    selectSqlcmd = 'select * from users limit 20'

    print(readSqlite3Table(selectSqlcmd))


对于sqlite的操作API都封装在sqlite3中,因此需要引入import sqlite3

1,createSqlite3Table为数据库创建操作,createSqlCmd为数据库创建命令。

2,insertDataToSqlite3Table为数据库插入操作,data为要插入的数据,是一个二维列表,insertSqlcmd为数据库插入命令,可以单个插入也可以批量插入。

3,readSqlite3Table为数据库查询操作,selectSqlcmd为查询命令。

db.sqlite3为数据库名称,没有该数据库,会在数据库创建命令执行的时候先创建数据库,即在当前文件下生成db.sqlite3这样一个数据库文件。将该文件直接拷贝,就可以在其他机器上使用该数据库,跨平台还是很方便的。

可以看到整体的使用还是非常的简单,只要按照需求写好相应的SQL命令,就可以使用上述几个函数完成相关的数据库操作。想要了解python slqite更多的API接口,参考官方文档,这里

本文为CSDN村中少年原创文章,转载记得加上原创出处,博主链接这里

发布了132 篇原创文章 · 获赞 183 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/javajiawei/article/details/100939694