当前位置: 首页 > news >正文

python中使用数据库sqlite3

Python使用sqlite3数据库

python3.x标准库内置了SQLite3

查看sqlite的版本

import sqlite3 
sqlite_version = sqlite3.sqlite_version 
print(f"SQLite version: {sqlite_version}") 

显示
在这里插入图片描述

导入模块连接sqlitte3

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的内置表中

sql = "SELECT name FROM sqlite_master WHERE type='table';"
cur.execute(sql)
print(cur.fetchall())

显示
在这里插入图片描述
查看表结构

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

显示
在这里插入图片描述
每个元组中分别是:列的编号;列名;数据类型;是否非空;默认值;是否为主键

新建表

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

删除表

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)

插入数据

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

插入多条数据

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

删除数据

sql = “delete from student where name=?;”
cur.execute(sql,(”张三”,))

修改数据

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

查询

sql=”select * from student”;
cur.execute(sql);
print(cur.fetchall());

显示
在这里插入图片描述

相关文章:

  • Spring Boot 集成 Kettle
  • QML 部件获得焦点触发的全局槽函数 onActiveFocusItemChanged
  • JavaScript 内置对象-字符串对象
  • Docker Remote API未授权访问漏洞复现
  • DeepSeek 助力 Vue 开发:打造丝滑的日期选择器(Date Picker),未使用第三方插件
  • 在conda虚拟环境中安装jupyter lab-----deepseek问答记录
  • lighten() 函数被弃用:替代方案color.scale()或者color.adjust()
  • C语言基础16:二维数组、字符数组
  • 《DeepSeek训练算法:开启高效学习的新大门》
  • 虚拟机如何添加硬盘
  • Java中CompletableFuture异步工具类
  • 【ENSP】链路聚合的两种模式
  • pypthon字符串与日期转换
  • 6.2.4 基本的数据模型
  • linux笔记:shell中的while、if、for语句
  • Spring 如何解决循环依赖以及那些无法解决的循环依赖
  • 【贝克街迷宫疑云:用侦探思维破解Java迷宫算法】
  • java练习(26)
  • 《open3d pyqt》Alpha重建
  • el-table使用fixed=“right“时固定多列,最左边的左边框不显示
  • 沭阳县城乡建设局网站/北京如何优化搜索引擎
  • 个人做门户网站需要注册/百度搜索链接入口
  • 公司网站建设方案模板下载/it行业培训机构哪个好
  • 网站建设费算费用还是固定资产/文山seo
  • 自学程序员的步骤/搜索引擎优化效果
  • 特效视频网站/营销型企业网站的功能