zoukankan      html  css  js  c++  java
  • 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:
    #执行查询操作
        c1.execute("
    select username as username 
    from 
        register 
    where name=?;", 
                  (username,))
    #异常处理
    except (sqlite3.DatabaseError) as e:
        print e
        return None
    else:
        user_row = c1.fetchone()
        #调用数据
    finally:
        conn1.close()
    #关闭连接

    增加数据:

    conn = sqlite3.connect(board.DatabasePath)
    conn.row_factory = sqlite3.Row
    conn.execute("pragma foreign_key=on")
    c = conn.cursor()
    
    md5 = hashlib.md5()
    md5.update(password)
    encrypted_passwd = md5.hexdigest()
    
    try:
    #增加数据
        c.execute("
                  insert into register (name,work,email,username,password) values (?,?,?,?,?);", 
                  (name, workplace, email, username, encrypted_passwd))
        c.execute("select last_insert_rowid() as user_id from register;")
    
    except (sqlite3.DatabaseError) as e:
        print e
        conn.rollback()
        return False
    else:
        conn.commit()
        return True
    finally:
        conn.close()

    删除操作:

    conn=sqlite3.connect(board.DatabasePath)
    conn.execute("pragma foreign_key=on")
    conn.row_factory=sqlite3.Row
    c=conn.cursor()
    try:
        c.execute("
    delete from setting where key=? and parent_id=?;",
    (self.slick.key,self.id))
    except (sqlite3.DatabaseError) as e:
        print e
        conn.rollback()
        return False
    else:
        conn.commit()
        self.slick.items.pop(self.id)
        self=None
        return True
    finally:
        conn.close()    

    修改操作:

    conn=sqlite3.connect(board.DatabasePath)
    conn.execute("pragma foreign_key=on")
    conn.row_factory=sqlite3.Row
    c=conn.cursor()
    try:
        c.execute("
    update setting set value=? where key=? and name=?;",
    (self.title,self.key,"jumbotron_title"))
        c.execute("
    update setting set value=? where key=? and name=?;",
    (self.content,self.key,"jumbotron_content"))
    except (sqlite3.DatabaseError) as e:
        print e
        conn.rollback()
        return False
    else:
        conn.commit()
        return True
    finally:
        conn.close()
  • 相关阅读:
    Let’s Work on an LLVM Superoptimizer
    菜鸟程序员的成长之路(二)——时间都去哪儿了
    python进阶五_类(二)
    python进阶五_类(一)
    基于asp.net + easyui框架,一步步学习easyui-datagrid——完成,总结(四)
    给师弟师妹的一个计算机专业书单
    python进阶四_模块调用
    python进阶三_函数
    实训第一天--增删改查加hibernate+搭建环境常见问题
    9周的项目实训从今天就开始了,
  • 原文地址:https://www.cnblogs.com/FZfangzheng/p/7588793.html
Copyright © 2011-2022 走看看