zoukankan      html  css  js  c++  java
  • SQLite3基本使用从shell到python

            SQLite是一个轻量级的关系型数据库,在訪问量不超过10万PV的中小站点中使用绰绰有余。

    并且使用方便,接口简单,以下从命令行和python接口双方面介绍SQLite3的基本操作。

            在linux终端中,通过 sqlite3 a.db 打开a.db数据库,假设不存在会自己主动创建,创建一个表格:

    create table users(id integer primary key,name text,level integer);

    然后插入新的数据:

    insert into users(name,level) values('李斯',2);
    insert into users(name,level) values('张三',4);
    insert into users(name,level) values('王五',3);
    

    显示表格内容:

    sqlite> .mode column
    sqlite> .headers on
    sqlite> select * from users;
    id          name        level     
    ----------  ----------  ----------
    1           李斯      2         
    2           张三      4         
    3           王五      3 

    更新李斯的level变为1。操作例如以下:

    sqlite> update users set level=1 where name='李斯';
    sqlite> select * from users;
    id          name        level     
    ----------  ----------  ----------
    1           李斯      1         
    2           张三      4         
    3           王五      3      

    删除张三的数据:

    sqlite> delete from users where name='张三';
    sqlite> select * from users;
    id          name        level     
    ----------  ----------  ----------
    1           李斯      1         
    3           王五      3     

    上面这些操作能够满足基本SQLite的使用了。以下通过python的接口调用:

    连接数据库:

    >>> import sqlite3
    >>> db=sqlite3.connect('a.db')
    >>> c=db.cursor()
    

    插入一个用户的信息:

    >>> c.execute('insert into users(name,level) values("田田蹦",9)')
    <sqlite3.Cursor object at 0xb711c4a0>
    >>> db.commit()
    

    所有取出表中的数据:

    >>> c.execute('select * from users')
    <sqlite3.Cursor object at 0xb70e74e0>
    >>> c.fetchall()
    [(1, '李斯', 1), (3, '王五', 3), (4, '田田蹦', 9)]
    

    一行一行取出表中数据:

    >>> c.execute('select * from users')
    <sqlite3.Cursor object at 0xb70e7c20>
    >>> c.fetchone()
    (1, '李斯', 1)
    >>> c.fetchone()
    (3, '王五', 3)
    >>> c.fetchone()
    (4, '田田蹦', 9)
    >>> c.fetchone() == None
    True

    关闭游标对象并关闭数据库连接:

    >>> c.close()
    >>> db.close()
    

    python下对SQLite的更新和删除操作參考上面的插入操作。是一样一样的。很方便。得到的表格数据是list,每行数据是一个tuple,兴许操作也很方便。


    转载请注明:转自http://blog.csdn.net/littlethunder/article/details/24696309

  • 相关阅读:
    截取字符串
    VC++ PathFindFileName函数,由文件路径获得文件名
    获取GetOpenFileName多选文件名
    WideCharToMultiByte和MultiByteToWideChar函数的用法(转载)
    map set iterator not incrementable 解决办法
    定义c/c++全局变量/常量几种方法的区别(转载)
    如何禁止同IP站点查询和同IP站点查询的原理分析 Robots.txt屏蔽BINGBOT
    JavaScript 文件操作方法详解
    nginx日志配置
    php的strip_tags,htmlspecialchars,htmlentities,stripslashes,addslashes解释
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5251110.html
Copyright © 2011-2022 走看看