首页
登录 | 注册

Python sqlite3操作笔记

创建数据库

def create_tables(dbname):
    conn = sqlite3.connect(dbname)
    print "Opened database successfully";
    c = conn.cursor()
    c.execute('''CREATE TABLE VULNDB
        (Plugin_ID INT PRIMARY KEY     NOT NULL,
        NAME           TEXT    NOT NULL,
        Risk           TEXT     NOT NULL,
        Description    CHAR(1000),
        Solution       CHAR(1000));''')
    print "Table created successfully";
    conn.commit()
    conn.close()

查询或删除


def selectdb():
    conn = sqlite3.connect('vuln.db')
    conn.text_factory=str
    c = conn.cursor()
    cursor = c.execute("SELECT  count(Plugin_ID) from VULNDB")
    for row in cursor:
        print row
c.execute("DELETE from VULNDB where Plugin_ID=34311;")

 

在sqlite3中插入中文字符

#!/usr/bin/python
# -*- coding:utf-8 -*- 

import sqlite3
conn = sqlite3.connect('test.db')
conn.text_factory=str
c = conn.cursor()

users = (2,'username','high','腾讯qq', 'qq@example.com')
ins="INSERT INTO VULNDB(Plugin_ID,NAME,Risk,Description,Solution) VALUES (?,?,?,?,?)"
c.execute(ins,users)  
conn.commit()
print "Records created successfully";
c.close()
conn.close()

 

 CSV导入数据库

def insertdata(v):
    conn = sqlite3.connect('vuln.db')
    conn.text_factory=str
    c = conn.cursor()
    ins="INSERT INTO VULNDB(Plugin_ID,NAME,Risk,Description,Solution) VALUES (?,?,?,?,?)"
    c.execute(ins,v)
    conn.commit()
    conn.close()
def write():    
    with open("loudong-20180913.csv", "r") as csvFile:
        reader2 = csv.reader(csvFile) # 读取csv文件,返回的是迭代类型
        for item2 in reader2:
            #print item2
            insertdata(item2)        
    csvFile.close()

 

参考链接:

https://my.oschina.net/letiantian/blog/217770


相关文章

  • python接口自动化(二十一)--unittest简介(详解)
    简介 前边的随笔主要介绍的requests模块的有关知识个内容,接下来看一下python的单元测试框架unittest.熟悉 或者了解java 的小伙伴应该都清楚常见的单元测试框架 Junit 和 TestNG,这个招聘的需求上也是经常见到 ...
  • Day2----Python学习之路笔记(2)
    学习路线: Day1 Day2 Day3 Day4 Day5 ...待续 一.简单回顾一下昨天的内容 1. 昨天了解到了一些编码的知识 1.1. 我们写好的.py文件头没有加# -*- coding:utf-8 -*-这样的声明,那么在Wi ...
  • 转载请标明出处:http://www.cnblogs.com/zblade/ 一.概述 整理遇到的一些较难处理的bug,总结相关经验 二.主要问题 2.1 material类型的依赖修改 对于material类型的asset,如果修改了其s ...
  • .NET Core Dapper操作mysql数据库
    前言 现在ORM盛行,市面上已经出现了N款不同的ORM套餐了.今天,我们不谈EF,也不聊神马黑马,就说说 Dapper.如何在.NET Core中使用Dapper操作Mysql数据库呢,让我们跟随镜头(手动下翻)一看究竟. 配置篇 俗话说得 ...
  • 定义函数时,默认参数必须指向不变的对象 参数为可变对象时,正常调用的时候,结果没有问题,但是当使用默认参数的时候,结果就会和理想的有差距. In [78]: def add(L=[]): ...: L.append('END') ...: ...
  •   计算属性是基于响应式依赖进行缓存的,只有在相关响应式依赖发生改变时才会重新求值,这种缓存机制在求值消耗比较大的情况下能够显著提高性能. 一.计算属性初始化   Vue 在做数据初始化时,通过 initComputed() 方法初始化计算 ...

2019 cecdns.com webmaster#cecdns.com
12 q. 0.078 s.
京ICP备10005923号