python--基础学习(六)sqlite数据库基本操作
python系列均基于python3.4环境
1、新建数据表
- 新建表,命名为student(id, name, score, sex, age),id为关键字,代码如下:
- import sqlite3
- # test.db is a file in the working directory
- conn = sqlite3.connect("test.db")
- c = conn.cursor()
- # create tables
- sql = '''create table student (id int primary key, name varchar(20), score int, sex varchar(10), age int)'''
- c.execute(sql)
- # save the changes
- conn.commit()
- # close the connection with the database
- conn.close()
(1)如果数据库test.db不存在的话,会自动创建数据库test.db
(2)如果sql语句比较长的话,需要换行,又要保持格式的话,可以使用三引号(python--基础学习(三)字符串单引号、双引号、三引号)
2、插入数据
- 代码示例
- import sqlite3
- conn = sqlite3.connect("test.db")
- c = conn.cursor()
- students = [(2, 'mark', 80, 'male', 18),
- (3, 'tom', 78, 'male', 17),
- (4, 'lucy', 98, 'female', 18),
- (5, 'jimi', 60, 'male', 16)]
- # 第一种:execute "INSERT"
- c.execute("insert into student(id, name, score, sex, age) values (1,'jack',80,'male',18)")
- # 第二种:execute multiple commands
- c.executemany('insert into student values (?,?,?,?,?)', students)
- # 第三种:using the placeholder
- c.execute("insert into student values (?,?,?,?,?)", (6, 'kim', 69, 'male', 16))
- conn.commit()
- conn.close()
3、查询
- 代码示例
- import sqlite3
- conn = sqlite3.connect('test.db')
- c = conn.cursor()
- # 第一种:retrieve one record
- c.execute('select * from student order by score desc')
- print(c.fetchone()) #第1条记录
- print(c.fetchone()) #第2条记录
- # 第二种:retrieve all records as a list
- c.execute('select * from student order by score desc')
- print(c.fetchall())
- # 第三种:terate through the records
- rs = c.execute('select * from student order by score desc')
- for row in rs:
- print(row)
- conn.commit()
- conn.close()
- 运行结果:
- #第一种
- (4, 'lucy', 98, 'female', 18)
- (1, 'jack', 80, 'male', 18)
- #第二种
- [(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)]
- #第三种
- (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)
4、修改
- 代码示例
- import sqlite3
- conn = sqlite3.connect("test.db")
- c = conn.cursor()
- sql = "update student set name='jerry' where id = 2"
- c.execute(sql)
- conn.commit()
- conn.close()
5、删除
- 删除数据,代码示例
- conn = sqlite3.connect("test.db")
- c = conn.cursor()
- c.execute('delete from student where id=2')
- conn.commit()
- conn.close()
- 删除数据表
- c.execute('drop table tableName')
(@_@)Y 学习总结到此结束,待续!
python--基础学习(六)sqlite数据库基本操作的更多相关文章
- python基础知识六 文件的基本操作+菜中菜
基础知识六 文件操作 open():打开 file:文件的位置(路径) mode:操作文件模式 encoding:文件编码方式 f :文件句柄 f = open("1.t ...
- Python基础学习六 操作MySQL
python操作数据库,需要先安装模块 1.下载MySQL.Redis模块 2.解压后,在当前目录执行 python setup.py install 3.或是pycharm直接选择安装 import ...
- 【Python基础学习六】函数
1.创建函数 Python中函数的关键字def来定义. def fibs(num): f=[0,1] for i in range(1,num): f.append(f[-1]+f[-2]) retu ...
- python基础学习Day8 文件的基本操作
1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读 r r+b ...
- Python基础学习六 操作Redis
import redis r = redis.Redis(host=',db=1) #set get delete setex 都是针对string类型的 k-v # r.set('louis_ses ...
- IOS开发-UI学习-sqlite数据库的操作
IOS开发-UI学习-sqlite数据库的操作 sqlite是一个轻量级的数据库,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了,而且它的处理速度比Mysql.PostgreSQL这 ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- Day1 Python基础学习——概述、基本数据类型、流程控制
一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...
- Python 基础学习 总结篇
Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...
- Python基础学习五
Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...
随机推荐
- 8.2 辅助 xUtils 3.0
主要有四大模块: DbUtils模块: android中的orm(对象关系映射)框架,一行代码就可以进行增删改查: 支持事务,默认关闭: 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL ...
- android wifi ANR问题分析总结
android wifi ANR问题分析总结 1 看看main进程阻塞在那里? 2 调用关系的函数阻塞在那里? 3 最终阻塞函数的阻塞前的log以及状态
- js php json
js端生成json函数 function json_encode_js(aaa){ function je(str){ var a=[],i=0; var pcs="abcdefghijkl ...
- Movies
码头风云欲望号街车 不可思议的收缩人 The Incredible Shrinking Man (1957) 风之谷 西域威龙 对话 天地无限 现代启示录 黑暗之心 Hearts of Darknes ...
- python之raise、assert、with/as环境管理器
要故意出发异常,可以使用raise语句,形式如下: raise <name> #manually trigger an exception raise<name>,<v ...
- 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 ...
- 解决VS2008 开发Windows Mobile 项目生成速度慢的问题(转)
最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长 ...
- 批量修改vss工作目录
vss作为源代码版本控制工具,可以针对不同的文件夹设置不同的本地工作目录,这样可以方便我们不同的个性化需求.但是往往实际情况是,我们设置了不同的工作目录,后来却发现导致引用混乱,每个人每次获取项目文件 ...
- SQL Server认证培训与考试
Microsoft 技术专员 (MTA) - 数据库 https://www.microsoft.com/zh-cn/learning/mta-certification.aspx MCSA: SQL ...
- asp.net identity 2.2.0 中角色启用和基本使用(四)
创建角色相关视图 第一步:添加视图 打开RolesAdminController.cs 将鼠标移动到public ActionResult Index()上 右键>添加视图 系统会 ...