• python sqlite(1)


    #!/usr/bin/env python
    # coding=utf-8
    import sqlite3
    conn = sqlite3.connect(":memory:")
    c = conn.cursor()
    c.execute(
        '''CREATE TABLE stocks(data text,trans text,symbol test,qty real,price real)''')
    c.execute("INSERT INTO stocks VALUES('2006-01-05','BUY','RHAT',100,35.14)")
    conn.commit()
    symbol = 'RHAT'
    c.execute("SELECT * FROM stocks WHERE symbol='%s'" % symbol)
    print c.fetchone()
    parament = [
        ('2014-11-11', 'WCS', 'RHAT', 200, 20.5),
        ('2014-11-15', 'wcs', 'RHAT', 300, 30.0)
    ]
    # for t in parament:
    #    c.execute("INSERT INTO stocks VALUES(?,?,?,?,?)", t)
    c.executemany("INSERT INTO stocks VALUES(?,?,?,?,?)", parament)
    c.execute("SELECT * FROM stocks WHERE symbol='%s'" % symbol)
    print c.fetchall(
    

      

        python是一个轻量级的开发数据库,相比较sql server和roacle而言它显得更加的简单和直观,如oracle庞大的安装文件sqlite就显得轻巧很多,就拿python来说当安装python的时候会自动安装sqlite,用户只要通过import 将其加载入项目就可以直接使用。

    在调用sqlite时需要先通过import加载sqlite3,当加载完毕后可以直接通过调用其方法来对数据库进行相应的操作

         sqlite有两种加载方式:

        1内存形式

            这种类型下的所有数据全部存放在内存当中,相当于用户在运行相应程序的时候会在内存中创建一块专属的区域,当项目运行结束后会自动清空其所在区域内的所有的数据,相对文件而言存取速度更快。

            在调用.connect()方法只要将":memory:"做为形参调用就可以创建一个内存数据库

        2、文件形式

            .connect("文件名"),当系统已有相应的名称的数据库时会自动加载,当没有这个数据库的时候会自动创建。

        如果需要执行相应的数据操作时,需要调用其.execute()这个方法

    1、建表操作

    1. c.execute(

    2.     '''CREATE TABLE stocks(data text,trans text,symbol test,qty real,price real)''')

                上面的语句是执行一条创建表的SQL语句,表名为stocks

     2、插入操作

        2.1:通过元组来实现多个数据同时插入

    parament = [    ('2014-11-11', 'WCS', 'RHAT', 200, 20.5),    ('2014-11-15', 'wcs', 'RHAT', 300, 30.0)]for t in parament:    c.execute("INSERT INTO stocks VALUES(?,?,?,?,?)", t)c.execute("SELECT * FROM stocks WHERE symbol='%s'" % symbol)print c.fetchall()

    (u'2006-01-05', u'BUY', u'RHAT', 100.0, 35.14)

    [(u'2006-01-05', u'BUY', u'RHAT', 100.0, 35.14), (u'2014-11-11', u'WCS', u'RHAT', 200.0, 20.5), (u'2014-11-15', u'wcs', u'RHAT', 300.0, 30.0)]

    第一条是初始状态,第二条插入以后的查询

    2.2通过executemany来进行多条语句的插入

    1. parament = [    ('2014-11-11', 'WCS', 'RHAT', 200, 20.5),    ('2014-11-15', 'wcs', 'RHAT', 300, 30.0)]

    2. c.executemany("INSERT INTO stocks VALUES(?,?,?,?,?)"parament)

    3. c.execute("SELECT * FROM stocks WHERE symbol='%s'" % symbol)

    4. print c.fetchall(

        结果与2.1相同

  • 相关阅读:
    mysql中文乱码的一点理解
    Linux 运行进程实时监控pidstat命令
    深入理解“系统平均负载”
    进程和线程的区别
    vmstat命令
    grep命令
    top命令
    Shell脚本获取本机ip
    CentOS7防火墙(firewall)配置
    大数据测试
  • 原文地址:https://www.cnblogs.com/tianyake/p/4037046.html
Copyright © 2020-2023  润新知