创建:

create_Email = "CREATE TABLE if not exists emails (\n\
id INTEGER NOT NULL,\n\
user VARCHAR(64),\n\
email VARCHAR(64),\n\
PRIMARY KEY (id)\n\
);"

try:

sqlite_conn=sqlite3.connect(DB_SQLITE_NAME)

sqlite_cursor.execute(create_Email)
    sqlite_conn.commit()

except sqlite3.Error,e:
    traceback.print_exc()
    sqlite_conn.rollback()
finally:
    sqlite_conn.close()

面向对象:
class Email(object):
    """docstring for Email"""
    def __init__(self):
        self.emails = []
        lines=self._get()
        if lines != None and lines != 'failed':
            for line in lines:
            email = {}
            email['id'] = line[0]
            email['user'] = line[1]
            email['email'] = line[2]
            self.emails.append(email)

def _list_all_member(self):
        tmp_str=''
        for name,value in vars(self).items():
            if value != None:
                if type(value) == int:
                    tmp_str=tmp_str+name+'='+str(value)+','
                else:
                    tmp_str=tmp_str+name+'='+"'"+str(value)+"'"+','
        return tmp_str

def _list_all_member_insert(self,email):
        tmp_str=''
        value_str=' VALUES ('
        for name,value in email.items():
            if value != None:
                tmp_str+=name+','
                if type(value)==int:
                    value_str+=str(value)+','
                else:
                    value_str+="'"+str(value)+"'"+','
                tmp_str=tmp_str.strip(',')+')'
                value_str=value_str.strip(',')+')'
        return tmp_str,value_str

def _get(self):
        try:
            rows = []
            sqlite_conn=sqlite3.connect(DB_SQLITE_NAME)
            sqlite_cursor=sqlite_conn.cursor()
            sql_select="SELECT * FROM EMAILS;"
            sqlite_cursor.execute(sql_select)
            for row in sqlite_cursor:
                rows.append(row)
            return rows
        except sqlite3.Error,e:
            return 'failed'
        finally:
            sqlite_conn.close()

def delete(self,id):
        for email in self.emails:
            if email['id'] == id:
                self.emails.remove(email)
                sql_delete= "DELETE FROM EMAILS WHERE id = '" + id + "';"
                local_sql_exe(sql_delete)

def add(self,email):
        self.emails.append(email)
        sql_insert='INSERT INTO EMAILS ( '
                name_str,value_str=self._list_all_member_insert(email)
        sql_insert+=name_str+value_str
        local_sql_exe(sql_insert)

def clear(self):
        self.emails = []
        sql_delete= "DELETE FROM EMAILS;"
        local_sql_exe(sql_delete)

调用:

from sqlite import Email

email= Email()

email.emails

email.add(email)

email.delete(id)

2018.5.8 python操纵sqlite数据库的更多相关文章

  1. [python]用Python进行SQLite数据库操作

    用Python进行SQLite数据库操作 1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~  ]: u ...

  2. Python操作sqlite数据库小节

    学习了Python操作sqlite数据库,做一个小结,以备后用. import sqlite3import os# 进行数据库操作时,主要是参数如何传输try:# 链接数据库conn=sqlite3. ...

  3. Python操作SQLite数据库的方法详解

    Python操作SQLite数据库的方法详解 本文实例讲述了Python操作SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite简单介绍 SQLite数据库是一款非常小巧的嵌入式开 ...

  4. python操作sqlite数据库

    root@cacti:~/box# cat convert.py #!/usr/bin/env python import sqlite3,time,rrdtool,os def boxstatus( ...

  5. python 操作sqlite数据库

    '''SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说 没有独立的维护进程,所有的维护都来自于程序本身. 在python中,使用sqlite3创建数据库的连接,当我们指定的数据库文件不 ...

  6. 用Python进行SQLite数据库操作

    简单的介绍 SQLite数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身.它是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经 ...

  7. Python 操作 SQLite 数据库

    写在之前 SQLite 是一个小型的关系型数据库,它最大的特点在于不需要单独的服务.零配置.我们在之前讲过的两个数据库,不管是 MySQL 还是 MongoDB,都需要我们安装.安装之后,然后运行起来 ...

  8. Python 操作sqlite数据库及保存查询numpy类型数据(二)

    # -*- coding: utf-8 -*- ''' Created on 2019年3月6日 @author: Administrator ''' import sqlite3 import nu ...

  9. Python 操作sqlite数据库及保存查询numpy类型数据(一)

    # -*- coding: utf-8 -*- ''' Created on 2019年3月6日 @author: Administrator ''' import sqlite3 import nu ...

随机推荐

  1. JS-1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. MySQL常用的锁机制 ----------顾名思义

    悲观锁与乐观锁: 悲观锁:顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁.传统的关系型数据库里边就用到了很多这 ...

  3. javascript中的自定义属性

    标签的自定义属性: 在开发中,有时需要在标签上添加一些自定义属性用来存储数据或状态. 设置了自定义属性的标签,就是在这个标签上添加了这个属性,浏览器中的html结构中可以看到. 使用点语法(如oWra ...

  4. centos 7添加硬盘及LVM扩容

    一堆概念 分区工具 fdisk:支持MBR,对GPT支持的不好 parted:支持GPT partprobe(centos 5/6).partx(centos 7)通知内核强制重读磁盘分区表 分区表 ...

  5. Python正则表达式的re库一些用法(上)

    1.查找文本中的模式 search()函数取模式和要扫描的文本作为输入,找到这个模式时就返回一个match对象.如果没有找到模式,search()就返回None. 每个match对象包含有关匹配性质的 ...

  6. Linux 虚拟文件系统概述

    转自:http://blog.csdn.net/u011373710/article/details/70198080 文章梗概 本文首先以“尽量不涉及源代码”的方式讨论Linux虚拟文件系统的存在的 ...

  7. SQL-56 获取所有员工的emp_no、部门编号dept_no以及对应的bonus类型btype和recevied,没有分配具体的员工不显示

    获取所有员工的emp_no.部门编号dept_no以及对应的bonus类型btype和recevied,没有分配具体的员工不显示CREATE TABLE `dept_emp` ( `emp_no` i ...

  8. JAVAEE 第八周

    equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值. hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数.根类Obje ...

  9. Exploit-Exercises nebule 旅行日志(六)

    接着上次的路程继续在ubuntu下对漏洞的探索练习,这次是level05了 先看下level05的问题描述: 从level05的描述上看,是/home/flag05目录的权限有漏洞,看来多半是又跟fl ...

  10. Python爬虫开源项目代码,爬取微信、淘宝、豆瓣、知乎、新浪微博、QQ、去哪网等 代码整理

    作者:SFLYQ 今天为大家整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.WechatSogou [ ...