python中使用数据库sqlite3

Python使用sqlite3数据库

python3.x标准库内置了SQLite3

查看sqlite的版本

python 复制代码
import sqlite3 
sqlite_version = sqlite3.sqlite_version 
print(f"SQLite version: {sqlite_version}") 

显示

导入模块连接sqlitte3

python 复制代码
import sqlite3 

con=sqlite3.connect("d:/first.db",isolation_level=None)
#数据库文件first.db,如果不存在则会自动创建 
#isolation_level=None,事务隔离级别;隔离模式为None时,插入操作不用 commit 

cur=con.cursor()
#新建表
sql="create table student (id INTEGER PRIMARY KEY AUTOINCREMENT,name varchar(30) NOT NULL,yuwen INTEGER)" 
cur.execute(sql)

cur.close()
con.close()

查看表

查看所有表

在SQLite数据库中,所有的表信息都存储在一个名为sqlite_master的内置表中

python 复制代码
sql = "SELECT name FROM sqlite_master WHERE type='table';"
cur.execute(sql)
print(cur.fetchall())

显示

查看表结构

python 复制代码
sql="pragma table_info(student)"
cur.execute(sql)
print(cur.fetchall())
#包括列的编号、列名、数据类型、是否非空、默认值 以及是否为主键

显示

每个元组中分别是:列的编号;列名;数据类型;是否非空;默认值;是否为主键

新建表

python 复制代码
sql="create table student (id INTEGER PRIMARY KEY AUTOINCREMENT,name varchar(30) NOT NULL,yuwen INTEGER)" 
cur.execute(sql)

删除表

python 复制代码
sql="create table student2 (id INTEGER PRIMARY KEY AUTOINCREMENT,name varchar(30) NOT NULL,yuwen INTEGER)" 
cur.execute(sql)  #新建 表student2

sql = "drop table student2" #删除表student2
cur.execute(sql)

插入数据

python 复制代码
sql = " insert into student values(Null,?,?)" 
cur.execute(sql,("张三",70))
con.commit() 

插入多条数据

python 复制代码
sql = " insert into student values(Null,?,?)"
cur.executemany(sql,[("张三",82),("李四",75),("小红",76),("小李",92)])
con.commit()

删除数据

python 复制代码
sql = "delete from student where name=?;"
cur.execute(sql,("张三",))

修改数据

python 复制代码
sql = "update student set yuwen=? where name =?" 
cur.execute(sql,(80,"小红",)) 
con.commit()

查询

python 复制代码
sql="select * from student";
cur.execute(sql);
print(cur.fetchall());

显示

相关推荐
Han_han9192 分钟前
数据库基本操作:
数据库
站大爷IP9 分钟前
那天,我的Python函数死活改不了全局变量
python
右耳朵猫AI10 分钟前
Python周刊2026W22 | Django 6.1 Alpha 1发布、Nuitka 4.1发布、PEP 831终稿、PEP 808已接受
开发语言·python·django
J.Kuchiki15 分钟前
【PostgreSQL 内核学习:平衡 K 路归并(Balanced k-way Merge)】
数据库·学习·postgresql
Wonderful U16 分钟前
Python+Django实战|美食菜谱分享与食材采购一体化系统:食谱发布收藏、图文教程、食材商城、购物车、订单管理、美食点评、智能食谱推荐
python·django·美食
xieliyu.22 分钟前
MySQL 全套入门笔记:基础、库操作、数据类型
数据库·笔记·mysql
lvbinemail26 分钟前
【无标题】
数据库·postgresql·zabbix·监控
秦jh_27 分钟前
【LangChain核心组件】少样本提示(示例选择器)
人工智能·python·langchain
技术小甜甜33 分钟前
[办公效率] Excel 表格越做越乱,先整理字段、格式还是公式?
数据库·excel·办公效率·数据整理
资深流水灯工程师34 分钟前
PyCharm 增强插件完整安装与配置指南(PySide6 开发专用)
ide·python·pycharm