python自带数据库SQLite3,实现增删改查,及初始化重复操作
一、SQLite3简介
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。
二、 为什么用SQLite3
不需要一个单独的服务器进程或操作的系统(无服务器的)。
SQLite 不需要配置,这意味着不需要安装或管理。
一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
SQLite 是自给自足的,这意味着不需要任何外部的依赖。
SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。
python中,SQLite3是标准模块,不需要安装,所以,我们会经常使用其开发一些小型数据库系统。
三、访问数据库的步骤
3.1 导入Python SQLite数据库模块
import sqlite3
3.2 建立数据库连接,返回connection对象
以创建school数据库为例:
Conn=sqlite3.connect('school.db')
3.3 创建游标对象
Cur=Conn.cursor()
3.4 使用Cursor对象的execute()方法执行SQL命令返回结果
Cur.execute('Create table class(id ,name,sex,age)')
3.5 数据库的提交或回滚
Conn.commit()
3.6 关闭Cursor对象和Connection对象
Conn.close()
3.7 关闭Cursor对象和Connection对象
Cur.close()
Conn.close()
完整示例
4.1 代码块
import sqlite3
from time import sleepdef conn():"""创建数据库库"""Conn=sqlite3.connect('nba.db') # 连接数据库Cur=Conn.cursor() # 创建游标对象Cur.execute('Create table lakers(id ,name,tall,age)') # 创建表Conn.commit()print('数据库表创建成功')Cur.close() # 关闭游标Conn.close() # 关闭数据库连接sleep(2) # 为了使效果更加明显,添加等待时间2秒def ins():"""添加数据"""Conn = sqlite3.connect('nba.db')Cur = Conn.cursor()Cur.execute('insert into lakers values(?,?,?,?)', (1,'rw',191,33)) # 插入数据,使用了占位符?Cur.execute('insert into lakers values(?,?,?,?)',(2,'lbj',203,36))Cur.execute('insert into lakers values(?,?,?,?)',(3,'ca',203,36))Cur.execute('insert into lakers values(?,?,?,?)',(4,'kd',208,28))Cur.execute('insert into lakers values(?,?,?,?)',(5,'dh',210,36))Conn.commit()print('数据添加成功')Cur.close()Conn.close()sleep(2)def res():"""查询数据"""Conn = sqlite3.connect('nba.db')Cur = Conn.cursor()re=Cur.execute('select * from lakers')Conn.commit()print('查询数据成功:')for i in re:print(i)Cur.close()Conn.close()sleep(2)def upd():"""修改数据"""Conn = sqlite3.connect('nba.db')Cur = Conn.cursor()Cur.execute("update lakers set name='hhd' where id=5") # 修改数据re = Cur.execute("select *from lakers where id=5") # 查询修改后的数据Conn.commit()print('数据修改成功:')for i in re:print(i)Cur.close()Conn.close()sleep(2)def dele():"""删除数据"""Conn = sqlite3.connect('nba.db')Cur = Conn.cursor()Cur.execute('delete from lakers where id=4') # 删除id=4数据re=Cur.execute('select * from lakers') # 删除后查询数据Conn.commit()print('数据删除成功:')for i in re:print(i)Cur.close()Conn.close()sleep(2)def dro_tb():"""删除表""""""注意这个需要先创建成功后,才能执行"""Conn = sqlite3.connect('nba.db')Cur = Conn.cursor()Cur.execute('drop table lakers')Conn.commit()print('删除表成功')Cur.close()Conn.close()if __name__ == '__main__':dro_tb() # 需要先执行创建表后,此步骤才有效,这就相当于是一个初始化操作,可重复执行conn()ins()res()dele()
4.2 运行结果
非首次运行成功截图:
python自带数据库SQLite3,实现增删改查,及初始化重复操作相关推荐
- python连接mysql数据库并实现增删改查
2019独角兽企业重金招聘Python工程师标准>>> 服务器安装mysql sudo apt-get install mysql-sever 开启和停止mysql服务 sudo s ...
- python数据库教程_Python连接mysql数据库及简单增删改查操作示例代码
1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...
- python操作数据库教程_Python连接mysql数据库及简单增删改查操作示例代码
1.安装pymysql 进入cmd,输入 pip install pymysql: 2.数据库建表 在数据库中,建立一个简单的表,如图: 3.简单操作 3.1查询操作 #coding=utf-8 #连 ...
- IOS开发基础之SQLite3数据库的使用增删改查
IOS开发基础之SQLite3数据库的使用增删改查 ios开发我们可能会使用到数据库进行持久化存储.sqlite3 是轻量级的数据库. 今天我们来介绍sqlite3 数据库.此方法跟java的增删改查 ...
- sqlite数据库的基本增删改查操作
2019独角兽企业重金招聘Python工程师标准>>> 效果图示例 1.在清单里添加相应的权限 <uses-permission android:name="andr ...
- mysql创建数据表列子,MySQL 创建数据库及简单增删改查
MySQL 创建数据库及简单增删改查 我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下: CREATE DATABASE 数据库名; 登入: Enter passwor ...
- java调用oracle删除,使用IDEA对Oracle数据库进行简单增删改查操作
1.1 java中的数据存储技术 在java中,数据库存取技术可分为如下几类: 1.jdbc直接访问数据库 2.jdo(java data object)是java对象持久化的新的规范,也是一个用于存 ...
- jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...
Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...
- 数据库的操作 增删改查 mysql
数据库的操作 增删改查 mysql 登陆数据库 查看全部的数据库 系统提供的库,除了 test 是给我们练手的 其它的不要碰 mysql库,保存了系统重要内容,比如帐户 root帐户的用户名,密码,就 ...
- thinkphp连mysql增删改查_ThinkPHP5.1框架数据库链接和增删改查操作示例
本文实例讲述了ThinkPHP5.1框架数据库链接和增删改查操作.分享给大家供大家参考,具体如 本文实例讲述了ThinkPHP5.1框架数据库链接和增删改查操作.分享给大家供大家参考,具体如下: 一. ...
最新文章
- Win7使用Visual Studio 2010编译用于Qt4.8.6的MySQL驱动
- 死锁是什么?死锁产生的条件?如何避免死锁?以及死锁的示例代码(Java代码)
- CoordinatorLayout中AppBarLayout的折叠仅依靠滑动RecyclerView实现
- hasOwnProperty()
- python中,(x for y in z for x in y)这个结构怎么理解?
- DDR3:MIG控制器设计(vivado)
- NOIP2016 酱油记
- html5画智利国旗,智利国旗与得州州旗,你能分的清么?
- ARouter there‘s no route matched 解决办法
- Wab开发————jQuery
- 框架里面的标签采集不到怎么办_怎么做微信生态的全数据采集和打通?
- Leetcode刷题:贪心算法
- 看linux centos版本信息,Linux CentOS查看操作系统版本信息
- 虚拟化、虚拟机等概念理解
- CouchDB与CouchBase的比较
- rman怎么恢复数据文件
- python 使用pika对接rabbitMQ
- 多线程与简单统筹学--Python语言描述
- iview 如何去掉Carousel的指示器
- 零基础学习CSS(10)——属性选择器
热门文章
- C++中 cin 的详细用法
- 核心类库——网络编程
- 【100%通过率】华为OD机试真题 Java 实现【货币单位换算】【2022.11 Q4 新题】
- EasyExcel复杂excel导入
- 春秋杯秋季联赛勇者赛道MISC部分WP
- 计算机专业去北邮还是天大,北京邮电大学的通信工程专业好还是天津大学的通信工程专业好?...
- 31. Linux内核 - Squashfs文件系统的制作与使用
- 民工哥的十年程序员生涯:杭漂十年,今撤霸都!
- Android 友盟推送SDK集成---一路艰辛
- 计算机硬盘用u盘维修,硬盘坏了怎么修复 教你如何修复硬盘坏道