zoukankan      html  css  js  c++  java
  • python sqlite3

    import sqlite3
    from datetime import datetime
    #sqlite3
    
    #初始化sqlite3 内存表
    conn = sqlite3.connect(':memory:', check_same_thread=False)
    #开启外键约束
    conn.execute('pragma foreign_keys=ON')
    #创建表 关联外键必须设置主键
    sql = """CREATE TABLE IF NOT EXISTS demo(name TEXT, sex TEXT, heigth INTEGER, idt INTEGER not null primary key, time datetime)"""
    #添加外键操作相关表
    sql2 = """CREATE TABLE IF NOT EXISTS records(id INTEGER not null, idt INTEGER not null, test TEXT, FOREIGN KEY(idt) REFERENCES demo(idt) ON DELETE CASCADE ON UPDATE CASCADE)"""
    #执行
    conn.execute(sql2)
    conn.execute(sql)
    #提交事务
    conn.commit()
    #插入数据
    time = datetime.now()
    data = [('zhangsan', 'male', 180, 1, time), ('lisi', 'woman', 150, 2, time), ('wangwu', 'male', 190, 3, time)]
    sql = 'insert into demo values(?, ?, ?, ?, ?)'
    
    conn.executemany(sql, data)
    conn.execute('insert into records values(:id, :idt, :test)', {'id': 1, 'idt': 3, 'test': 'test'})
    conn.commit()
    #删除测试
    conn.execute('delete from demo where idt=3')
    #取所有数据
    sql = 'select * from records;'
    cursor = conn.cursor()
    
    cursor.execute(sql)
    
    conn.commit()
    #关联外键数据同时删除
    print(cursor.fetchall())
    
    #联合查询
    #关闭连接
    conn.close()
  • 相关阅读:
    委托与事件参数的简单运用
    C#消息队列专题
    项目计划流程简易描述
    cookies 客户端历史记录篇
    朋友做的VS2005插件:等号两边值互换
    SSE2指令集系列之二
    SSSE3指令集
    SSE3指令集系列
    SSE特殊指令集系列之一
    SSE2指令集系列之一
  • 原文地址:https://www.cnblogs.com/alplf123/p/9039938.html
Copyright © 2011-2022 走看看