欢迎加入QQ讨论群258996829
麦子学院 头像
苹果6袋
6
麦子学院

Python学习之对SQLite数据库详解

发布时间:2017-04-09 22:17  回复:0  查看:2726   最后回复:2017-04-09 22:17  
本文和大家分享的主要是python SQLite 数据库操作相关内容,一起来看看吧,希望对大家 学习python有所帮助。
  SQLite 是一种嵌入式数据库,它的数据库就是一个文件。由于 SQLite 本身是 C 写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在 IOS Android APP 中都可以集成。
  Python 内置了 SQLite3 ,所以,在 Python 中使用 SQLite ,不需要安装任何东西,直接使用。
  在使用SQLite 前,我们先要搞清楚几个概念:
  表是数据库中存放关系数据的集合,一个数据库里面通常都包含多个表,比如学生的表,班级的表,学校的表,等等。表和表之间通过外键关联。
  要操作关系数据库,首先要连接到数据库,一个数据库连接称为Connection
  连接到数据库后,需要打开游标,称之为Cursor ,通过 Cursor 执行 SQL 语句,然后,获得执行结果。
  一、连接数据库
   import sqlite3# 数据库名 db_name = "test.db"# 表名 table_name = "catalog" conn = sqlite3.connect(db_name)
  二、打开游标
  rs = conn.cursor()
  三、建表
  sql = ' create  table ' + table_name + ' ( id varchar(20) primary  key, pid integer,  name varchar(10))'
  try:
  rs.execute(sql)
  print(" 建表成功 ")
  except:
  print(" 建表失败 ")
  四、增,删,改,查操作
  增:增加三条记录
  sql = "Insert into " + table_name + " values ('001', 1, ' 张三 ')" try:
  rs. execute(sql)
  # 提交事务
  conn.commit()
   print(" 插入成功 ")
  except:
   print(" 插入失败 ")
  sql = "Insert into " + table_name + " values ('002', 2, ' 李四 ')" try:
  rs. execute(sql)
  # 提交事务
  conn.commit()
   print(" 插入成功 ")
  except:
   print(" 插入失败 ")
  sql = "Insert into " + table_name + " values ('003', 3, ' 王五 ')" try:
  rs. execute(sql)
  # 提交事务
  conn.commit()
   print(" 插入成功 ")
  except:
   print(" 插入失败 ")
  删:删除 pid 等于 3 的记录
  sql = "Delete from " + table_name + " where pid = 3" try:
  rs. execute(sql)
  conn.commit()
   print(" 删除成功 ")
  except:
   print(" 删除失败 ")
  改:将 pid 等于 2 的记录的 pid 改为 1
  sql = "Update " + table_name + " set pid = 1 where pid = 2" try:
  rs. execute(sql)
  conn.commit()
   print(" 修改成功 ")
  except:
   print(" 修改失败 ")
  
  查询数据库中所有表名
  sql = "Select name From sqlite_master where type = 'table'" res = rs. execute(sql) print( res.fetchall())
  查询表中所有记录
  sql = "Select * from " + table_name try:
   res = rs. execute(sql)
   print( res.fetchall())
  except:
   print([])
  五、关闭游标
   rs.close()
  六、关闭数据库连接
   conn.close()
来源: 博客园

您还未登录,请先登录

热门帖子

最新帖子