Sqlite

import sqlite3
from employee import Employee

conn = sqlite3.connect(':memory:') #for testing

c = conn.cursor()

c.execute("""CREATE TABLE employees(
            first text,
            last  text,
            pay   integer
            )""") # doc string

# c.execute("INSERT INTO employees VALUES ('Mary', 'Schafer', 70000)")
#
# conn.commit()
def insert_emp(emp):
    with conn: # automaticlly commit, etc.
        c.execute("INSERT INTO employees VALUES (:first, :last, :pay)",{'first': emp.first, 'last': emp.last, 'pay': emp.pay})

def get_emps_by_name(lastname):
    c.execute("SELECT * FROM employees WHERE last = :last", {'last': 'Doe'})
    return c.fetchall()

def update_pay(emp, pay):
    with conn:
        c.execute("""UPDATE employees SET pay = :pay
                    WHERE first = :first AND last = :last""",
                  {'first': emp.first, 'last': emp.last, 'pay': pay})

def remove_emp(emp):
    with conn:
        c.execute("DELETE from employees WHERE first = :first AND last = :last",
                  {'first': emp.first, 'last': emp.last})


emp_1 = Employee('John', 'Doe',80000)
emp_2 = Employee('Jane', 'Doe',90000)

insert_emp(emp_1)
insert_emp(emp_2)

emps = get_emps_by_name('Doe')
print(emps)

update_pay(emp_2, 95000)
remove_emp(emp_1)
emps = get_emps_by_name('Doe')
print(emps)

conn.close()
posted @   2021年的顺遂平安君  阅读(166)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示