python 中使用sqlite3数据库

来源:互联网 发布:js 非严格模式 编辑:程序博客网 时间:2024/05/17 04:09

SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下 - 只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。如果您正在寻找一个嵌入式数据库项目或解决方案,SQLite是绝对值得考虑。

移植过程简单,具体参考相关文档。

以下是简单的教程:参考http://database.51cto.com/art/201205/335411.htm

1、 创建 SQLite 数据库

现在你已经安装了 SQLite 数据库,接下来我们创建首个数据库。在命令行窗口中输入如下命令来创建一个名为 test.db 的数据库

  1. sqlite3 test.db 

创建表:

  1. sqlite> create table  if not exists dataCatlog(id varchar primary key ,content varchar   

该表包含一个名为 id 的主键字段和一个名为 value 的文本字段。

接下来往表里中写入一些数据:

  1. sqlite> insert into mytable(id, value) values(1, 'Micheal');  
  2. sqlite> insert into mytable(id, value) values(2, 'Jenny');  
  3. sqlite> insert into mytable(value) values('Francis');  
  4. sqlite> insert into mytable(value) values('Kerk'); 

查询数据:

  1. sqlite> select * from test;  
  2. 1|Micheal  
  3. 2|Jenny  
  4. 3|Francis  
  5. 4|Kerk 

设置格式化查询结果:

  1. sqlite> .mode column;  
  2. sqlite> .header on;  
  3. sqlite> select * from test;  
  4. id          value  
  5. ----------- -------------  
  6. 1           Micheal  
  7. 2           Jenny  
  8. 3           Francis  
  9. 4           Kerk 

.mode column 将设置为列显示模式,.header 将显示列名。

修改表结构,增加列:

  1. sqlite> alter table mytable add column email text not null '' collate nocase;; 

创建视图:

  1. sqlite> create view nameview as select * from mytable; 

创建索引:

  1. sqlite> create index test_idx on mytable(value); 

4. 一些有用的 SQLite 命令

显示表结构:

  1. sqlite> .schema [table

获取所有表和视图:

  1. sqlite > .tables 

获取指定表的索引列表:

  1. sqlite > .indices [table ] 

导出数据库到 SQL 文件:

  1. sqlite > .output [filename ]  
  2. sqlite > .dump  
  3. sqlite > .output stdout 

从 SQL 文件导入数据库:

  1. sqlite > .read [filename ] 

格式化输出数据到 CSV 格式:

  1. sqlite >.output [filename.csv ]  
  2. sqlite >.separator ,  
  3. sqlite > select * from test;  
  4. sqlite >.output stdout 

从 CSV 文件导入数据到表中:

  1. sqlite >create table newtable ( id integer primary key, value text );  
  2. sqlite >.import [filename.csv ] newtable 

备份数据库:

  1. /* usage: sqlite3 [database] .dump > [filename] */  
  2. sqlite3 mytable.db .dump > backup.sql 

恢复数据库:

  1. /* usage: sqlite3 [database ] < [filename ] */  
  2. sqlite3 mytable.db < backup.sql 
结合自己的需求,写了一个简单的demo,

功能描述:建立数据库,insert函数每次插入一条数据。deldata每次从数据库中取出一条数据并删除之。


import sqlite3class dbManage():    def insert(self, key, value):        conn = sqlite3.connect('test.db')        cu = conn.cursor()        cu.execute('create table  if not exists dataCatlog(id varchar primary key ,content varchar )')        cu.execute('insert into dataCatlog values (?,?)', (key, value))        cu.execute('select * from dataCatlog')        print cu.fetchall()        conn.commit()        conn.close()    def deldata(self):        conn = sqlite3.connect('test.db')        cu = conn.cursor()        cu.execute('create table  if not exists dataCatlog(id varchar primary key ,content varchar )')        cu.execute('select * from dataCatlog')        allrecords = cu.fetchall()        print "before del:", allrecords        for record in allrecords:            #record = cu.fetchone()[0]            cu.execute("delete from dataCatlog where id = ?", (record[0],))            cu.execute('select * from dataCatlog')            print "after del:", cu.fetchall()            conn.commit()            #conn.close()        conn.close()


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 传福音接受了却被家人拦阻该怎么办 奶奶出钱由孙子抓奖中奖后怎么办 我不想学车了驾校不同意退学怎么办 2017年大学挂科面临退学怎么办 微信重新登录后东西全没了怎么办 宝宝吃鸡蛋过敏全身起红疹怎么办 180在产蛋鸡因断鸡减产怎么办 住友39熔接机熔接损耗大怎么办 支付宝实名认证刷脸失败怎么办 支付宝注册刷脸不是本人怎么办 小学科学只考88分中学怎么办 收银机关机时才上传数据是怎么办 刚做的系统玩cf卡屏怎么办 办健康证的资料掉了怎么办 刚刚办得的健康证掉了怎么办 房子都过户了银行贷不了款怎么办 我要办大病迁出应该怎么办啊? 遗产继承后户口没地迁出怎么办 安徽蒙城怎么办去韩国的签证的 夜间有人私自收停车费应该怎么办 上次摸不到环尾丝这次摸到了怎么办 法院判决书下来后对方不给钱怎么办 法院判决书下来了钱还保全么怎么办 深圳路边泊车不知道泊车编号怎么办 当事人进拘留所了我的工资怎么办 昆明公租房住满5年后怎么办 昆明公租房房子到期缴纳金怎么办 看守所犯人银行卡里钱没用完怎么办 中国邮政迟迟没有把信件寄到怎么办 拘留15天放出来还不肯还钱怎么办 人死在拘留所不让看监控怎么办 家人吸毒可他又不愿强戒怎么办 容留他人吸毒时签了强戒怎么办 拘留后发现被拘留是人大代表怎么办 执行局要拘留人找不到人怎么办 开设赌场罪拘留37天了该怎么办 对治安处罚光罚款不拘留怎么办 打架和解后警察不给消案怎么办 12个人片诈骗刑拘了28天怎么办 交警拘留几天后还是没钱赔偿怎么办 平安车主信用卡车牌号填错了怎么办