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()可以迭代出 ...
随机推荐
- 如何参与Linux内核开发(转)
本文来源于linux内核代码的Document文件夹下的Hoto文件.Chinese translated version of Documentation/HOWTO If you have any ...
- CAS 4.0.0RC编译环境
CAS 4.0.0RC编译环境 Eclipse Java EE IDE for Web Developers. JDK1.7,注意用JDK1.8是会出现编译错误的. Maven 在编译出现test错误 ...
- iOS -- 透明H5(webView)效果的实现
前几天有一个完全透明的webView加载H5页面的效果的实现,就相当于是一个半透明的遮罩层,上面有一个不透明的图片,一般原生的带遮罩层的弹框会采用这种方式,如果是原生代码实现,就简单的多了,视图的叠加 ...
- linux ssh config
Host code.engineering.redhat.com HostName code.engineering.redhat.com Port 29418 User jiall ...
- Activity类生命周期
Activity通常就是一个单独的屏幕.每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件作出响应. 从开发者角度看,Activity是一个J ...
- Oracle EBS进化史
https://blogs.oracle.com/ptian/entry/oracle_ebs%E8%BF%9B%E5%8C%96%E5%8F%B2 通过图表总结了下Oracle EBS的进化历史,回 ...
- Excel VBA自定义函数编写(UDF, User-Defined Function)
虽然知道Microsoft Office Excel可以支持用VB语言来进行复杂的编程和自定义函数的编写,但是一直以来都没有这个需求. 这次遇到的问题是要根据一列数组计算出一个值,但计算过程又比较复杂 ...
- android precelable和Serialization序列化数据传输
一 序列化原因: 1.永久性保存对象,保存对象的字节序列到本地文件中:2.通过序列化对象在网络中传递对象:3.通过序列化在进程间传递对象. 二 至于选取哪种可参考下面的原则: 1.在使用内存的时候,P ...
- android项目中values中几个文件的作用
最近反编译了几个Android软件,发现一些以前未用到的资源文件:ids.xml——为应用的相关资源提供唯一的资源id.id是为了获得xml中的对象而需要的参数,也就是Object = findVie ...
- [翻译]docker生态圈Mindmap
Docker是一个开源的Linux容器,其被业界所接受,很快成为了一个产业标准.Docker可以减少应用程序启动 时候的大量资源的筹备.docker很快的成为了新兴的应用程序容器标准.现在有很多项目正 ...