python系列均基于python3.4环境

1、新建数据表

  • 新建表,命名为student(id, name, score, sex, age),id为关键字,代码如下:
  1. import sqlite3
  2.  
  3. # test.db is a file in the working directory
  4. conn = sqlite3.connect("test.db")
  5. c = conn.cursor()
  6.  
  7. # create tables
  8. sql = '''create table student (id int primary key, name varchar(20), score int, sex varchar(10), age int)'''
  9. c.execute(sql)
  10.  
  11. # save the changes
  12. conn.commit()
  13.  
  14. # close the connection with the database
  15. conn.close()

(1)如果数据库test.db不存在的话,会自动创建数据库test.db

(2)如果sql语句比较长的话,需要换行,又要保持格式的话,可以使用三引号(python--基础学习(三)字符串单引号、双引号、三引号)

2、插入数据

  • 代码示例
  1. import sqlite3
  2.  
  3. conn = sqlite3.connect("test.db")
  4. c = conn.cursor()
  5.  
  6. students = [(2, 'mark', 80, 'male', 18),
  7. (3, 'tom', 78, 'male', 17),
  8. (4, 'lucy', 98, 'female', 18),
  9. (5, 'jimi', 60, 'male', 16)]
  10.  
  11. # 第一种:execute "INSERT"
  12. c.execute("insert into student(id, name, score, sex, age) values (1,'jack',80,'male',18)")
  13.  
  14. # 第二种:execute multiple commands
  15. c.executemany('insert into student values (?,?,?,?,?)', students)
  16.  
  17. # 第三种:using the placeholder
  18. c.execute("insert into student values (?,?,?,?,?)", (6, 'kim', 69, 'male', 16))
  19.  
  20. conn.commit()
  21. conn.close()

3、查询

  • 代码示例
  1. import sqlite3
  2.  
  3. conn = sqlite3.connect('test.db')
  4. c = conn.cursor()
  5.  
  6. # 第一种:retrieve one record
  7. c.execute('select * from student order by score desc')
  8. print(c.fetchone()) #第1条记录
  9. print(c.fetchone()) #第2条记录
  10.  
  11. # 第二种:retrieve all records as a list
  12. c.execute('select * from student order by score desc')
  13. print(c.fetchall())
  14.  
  15. # 第三种:terate through the records
  16. rs = c.execute('select * from student order by score desc')
  17. for row in rs:
  18. print(row)
  1. conn.commit()
  2. conn.close()
  • 运行结果:
  1. #第一种
  2. (4, 'lucy', 98, 'female', 18)
  3. (1, 'jack', 80, 'male', 18)
  4.  
  5. #第二种
  6. [(4, 'lucy', 98, 'female', 18), (1, 'jack', 80, 'male', 18), (2, 'mark', 80, 'male', 18), (3, 'tom', 78, 'male', 17), (6, 'kim', 69, 'male', 16), (5, 'jimi', 60, 'male', 16)]
  7.  
  8. #第三种
  9. (4, 'lucy', 98, 'female', 18)
  10. (1, 'jack', 80, 'male', 18)
  11. (2, 'mark', 80, 'male', 18)
  12. (3, 'tom', 78, 'male', 17)
  13. (6, 'kim', 69, 'male', 16)
  14. (5, 'jimi', 60, 'male', 16)

4、修改

  • 代码示例
  1. import sqlite3
  2.  
  3. conn = sqlite3.connect("test.db")
  4. c = conn.cursor()
  5.  
  6. sql = "update student set name='jerry' where id = 2"
  7. c.execute(sql)
  8.  
  9. conn.commit()
  10. conn.close()

5、删除

  • 删除数据,代码示例
  1. conn = sqlite3.connect("test.db")
  2. c = conn.cursor()
  3.  
  4. c.execute('delete from student where id=2')
  5.  
  6. conn.commit()
  7. conn.close()
  • 删除数据表
  1. c.execute('drop table tableName')

(@_@)Y 学习总结到此结束,待续!

python--基础学习(六)sqlite数据库基本操作的更多相关文章

  1. python基础知识六 文件的基本操作+菜中菜

    基础知识六 文件操作 ​ open():打开 ​ file:文件的位置(路径) ​ mode:操作文件模式 ​ encoding:文件编码方式 ​ f :文件句柄 f = open("1.t ...

  2. Python基础学习六 操作MySQL

    python操作数据库,需要先安装模块 1.下载MySQL.Redis模块 2.解压后,在当前目录执行 python setup.py install 3.或是pycharm直接选择安装 import ...

  3. 【Python基础学习六】函数

    1.创建函数 Python中函数的关键字def来定义. def fibs(num): f=[0,1] for i in range(1,num): f.append(f[-1]+f[-2]) retu ...

  4. python基础学习Day8 文件的基本操作

    1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读  r  r+b ...

  5. Python基础学习六 操作Redis

    import redis r = redis.Redis(host=',db=1) #set get delete setex 都是针对string类型的 k-v # r.set('louis_ses ...

  6. IOS开发-UI学习-sqlite数据库的操作

    IOS开发-UI学习-sqlite数据库的操作 sqlite是一个轻量级的数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了,而且它的处理速度比Mysql.PostgreSQL这 ...

  7. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  8. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  9. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

  10. Python基础学习五

    Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...

随机推荐

  1. 8.2 辅助 xUtils 3.0

    主要有四大模块: DbUtils模块: android中的orm(对象关系映射)框架,一行代码就可以进行增删改查: 支持事务,默认关闭: 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL ...

  2. android wifi ANR问题分析总结

    android wifi ANR问题分析总结 1 看看main进程阻塞在那里? 2 调用关系的函数阻塞在那里? 3 最终阻塞函数的阻塞前的log以及状态

  3. js php json

    js端生成json函数 function json_encode_js(aaa){ function je(str){ var a=[],i=0; var pcs="abcdefghijkl ...

  4. Movies

    码头风云欲望号街车 不可思议的收缩人 The Incredible Shrinking Man (1957) 风之谷 西域威龙 对话 天地无限 现代启示录 黑暗之心 Hearts of Darknes ...

  5. python之raise、assert、with/as环境管理器

    要故意出发异常,可以使用raise语句,形式如下: raise <name>  #manually trigger an exception raise<name>,<v ...

  6. Oracle Created Database Users: Password, Usage and Files References (文档 ID 160861.1)

    This document is no longer actively maintained, for info on specific (new) users in recent product e ...

  7. 解决VS2008 开发Windows Mobile 项目生成速度慢的问题(转)

    最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长 ...

  8. 批量修改vss工作目录

    vss作为源代码版本控制工具,可以针对不同的文件夹设置不同的本地工作目录,这样可以方便我们不同的个性化需求.但是往往实际情况是,我们设置了不同的工作目录,后来却发现导致引用混乱,每个人每次获取项目文件 ...

  9. SQL Server认证培训与考试

    Microsoft 技术专员 (MTA) - 数据库 https://www.microsoft.com/zh-cn/learning/mta-certification.aspx MCSA: SQL ...

  10. asp.net identity 2.2.0 中角色启用和基本使用(四)

    创建角色相关视图 第一步:添加视图   打开RolesAdminController.cs   将鼠标移动到public ActionResult Index()上  右键>添加视图   系统会 ...