• python对sqlite数据库的操作


     

    python对sqlite数据库的操作如下:

    需要注意以下三点:

    1. 对数据做更改必须得使用conn.commit()语句变更才生效。
    2. 为了使语句安全,使用这样的格式,传变量。symbol = 'RHAT' c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)
    3. 使用完后记得关闭数据库,使用conn.close()语句。
    In [1]:
     
     
    import sqlite3
    conn = sqlite3.connect('example.db')
    c = conn.cursor()
    # 创建表
    c.execute('''CREATE TABLE stocks
                 (date text, trans text, symbol text, qty real, price real)''')
    # 插入一行数据
    c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)")
    # 保存(提交)数据
    conn.commit()
    # 我们也可以关闭连接,如果我们完成了它。
    # 只要确保所有的更改都已提交,否则它们将丢失。
    conn.close()
     
     
    In [2]:
     
     
    conn = sqlite3.connect('example.db')
    c = conn.cursor()
    symbol = 'RHAT'
    c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)
    print(c.fetchone())
     
     
     
    ('2006-01-05', 'BUY', 'RHAT', 100.0, 35.14)
    
    In [3]:
     
     
    conn.close()
     
     
    In [15]:
     
     
    conn = sqlite3.connect('example.db')
    c = conn.cursor()
    purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
                 ('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
                 ('2006-04-06', 'SELL', 'IBM', 500, 53.00),
                ]
    c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases)
    conn.commit()
    conn.close()
     
     
    In [79]:
     
     
    conn = sqlite3.connect('example.db')
    c = conn.cursor()
    c.execute('SELECT * FROM stocks')
    print(c.fetchmany(10))
    conn.close()
     
     
     
    [('2006-01-05', 'BUY', 'RHAT', 100.0, 35.14), ('2006-03-28', 'BUY', 'IBM', 1000.0, 45.0), ('2006-04-05', 'BUY', 'MSFT', 1000.0, 72.0), ('2006-04-06', 'SELL', 'IBM', 500.0, 53.0), ('2006-03-28', 'BUY', 'IBM', 1000.0, 45.0), ('2006-04-05', 'BUY', 'MSFT', 1000.0, 72.0), ('2006-04-06', 'SELL', 'IBM', 500.0, 53.0), ('2006-03-28', 'BUY', 'IBM', 1000.0, 45.0), ('2006-04-05', 'BUY', 'MSFT', 1000.0, 72.0), ('2006-04-06', 'SELL', 'IBM', 500.0, 53.0)]
    
    In [111]:
     
     
    conn = sqlite3.connect('example.db')
    c = conn.cursor()
    t = ('RHAT',20,'BUY') #使用元组的方式,使数据更加安全。
    c.execute('SELECT * FROM stocks WHERE symbol=? and price>? and trans=?', t)
    #print(c.fetchall()) #显示全部记录。
    #print(c.fetchmany(10)) #显示多条记录。
    print(c.fetchone()) #显示一条记录。
    conn.close()
     
     
     
    ('2006-01-05', 'BUY', 'RHAT', 100.0, 35.14)
    
     

    为数据库创建自定义函数

    In [112]:
     
     
    import hashlib
    def md5sum(t):
        return hashlib.md5(t).hexdigest()
    con = sqlite3.connect(":memory:")
    con.create_function("md5", 1, md5sum)
    cur = con.cursor()
    cur.execute("select md5(?)", (b"foo",))
    print(cur.fetchone()[0])
    con.close()
     
     
     
    acbd18db4cc2f85cedef654fccc4a4d8
    
  • 相关阅读:
    RabbitMq(四)远程过程调用RPC
    RabbitMq(三)交换机类型
    RabbitMq(二)工作队列
    java基础知识01--JAVA准备
    匿名子类
    网络之Socket详解
    网络之Socket、TCP/IP、Http关系分析
    Eclipse搭建springboot项目(九)常用Starter和整合模板引擎thymeleaf
    Vue学习——Router传参问题
    sql函数——find_in_set()
  • 原文地址:https://www.cnblogs.com/heroysj/p/13535788.html
Copyright © 2020-2023  润新知