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()可以迭代出 ...
随机推荐
- 用户图形界面(GUI)学习笔记(一)——Swing与AWT
一.Swing与AWT 对象窗口工具箱(Abstact Window Toolkit,AWT),是JAVA1.0刚出现的时候,包含的一个GUI设计类库.它将处理用户界面元素的任务委派给每个目标平台(W ...
- python 之初体验
python 关开python的介绍我这里就不解释了,这里贴出一个官方的介绍,供大家阅读 http://baike.baidu.com/link?url=U6LdVR-5RCI2TNsXzeALCcG ...
- Android前端人员与后台开发的撕逼(一)
首先表明一下身份,本人是Android前端开发人员,本篇只做合理性探讨,不进行人身攻击: 其次希望各位大神进行点评!点评!点评! 我们讨论一下接口的两种返回方式,直接举例说明一下,假设书籍信息表有30 ...
- TclError: no display name and no $DISPLAY environment variable
%matplotlib inline 或 %matplotlib notebook
- array new 与 array deletedelete
以前在看C++书和上C++课的时候可以看到 delete[] pointer; 的用法,而大多数对于这个用法没有具体的解释,多是看到: 有一个delete运算符的特殊语法,可以释放动态分配的数组内存: ...
- RCP:拖拽功能的实现 Drag and Drop
SWT中的拖拽是使用的org.eclipse.swt.dnd. 有三个需要密切注意的类: 1.DragSource 2.DropTarget 3.Transfer DragSource封装了需要被拖拽 ...
- Java IO2:RandomAccessFile
RandomAccessFile RandomAccessFile类可以说是Java语言中功能最为丰富的文件访问类,它提供了众多的文件访问方法.RandomAccessFile类支持"随机访 ...
- Ubuntu Desktop安装及桌面美化(修复图片)
Ubuntu Desktop安装及桌面美化 1 开篇概述 本 系统的文章主要是讲互联网方向的开发主题.根据目前主流互联网公司的技术架构,Linux是必不可少的.对于一直习惯于在Windows下工作 ...
- Web 架构师的能力(转)
文/刘如鸿 最近和几个朋友在谈到时下流行的Web 2.0,也提到了其中最重要的角色——架构师.多方各有争执,不外乎是因为背景和视角的缘故,包括架构一词,本身就从建筑学借鉴而来,至于架构师,则可以 简单 ...
- 【译】用jQuery 处理XML-- DOM(文本对象模型)简介
用jQuery 处理XML--写在前面的话 用jQuery 处理XML-- DOM(文本对象模型)简介 用jQuery 处理XML--浏览器中的XML与JavaScript 用jQuery 处理XML ...