Python练习之操作SQLite数据库

作者:? 时间:2024-01-22 03:23:39 

前言

文章包括下几点:

考点--操作SQLite数据库:

  • 创建SQLite数据库;

  • 向表中插入记录;

  • 其他数据库操作。

面试题:

  • 1.面试题一:如何创建SQLite数据库?

  • 2.面试题二:如何向SQLite表中插入数据?

  • 3.面试题三:如何查询SQLite表中的数据?

1.创建SQLite数据库

# coding=utf-8
# _author__ = 孤寒者
import sqlite3
import os
dbPath = 'data.sqlite'
if not os.path.exists(dbPath):
   conn = sqlite3.connect(dbPath)
   c = conn.cursor()
   c.execute('''create table persons
             (id int primary key not null,
              name text not null,
              age int not null,
              address char(100),
              salary real);''')
   conn.commit()
   conn.close()
   print('创建数据库成功')

Python练习之操作SQLite数据库

  • 我们通过上述操作已经成功创建了sql数据库,并在里面创建了一张表。

  • 为了查看我们创建的表,我们可以用到SqliteStudio,它是一款 Sqlite数据库可视化工具,是使用Sqlite数据库开发应用的必备软件,软件无需安装,下载后解压即可使用,很小巧但很了用,绿色中文版本。比起其它SQLite管理工具,我喜欢用这个。很方便易用,不用安装的单个可执行文件,支持中文。

Python练习之操作SQLite数据库

2.向SQLite表中插入数据

# coding=utf-8
import sqlite3
dbPath = 'data.sqlite'
conn = sqlite3.connect(dbPath)
c = conn.cursor()
# 首先将表中数据全部删除
c.execute('delete from persons')
# 插入数据
c.execute('''
insert into persons(id,name,age,address,salary)
values(1, '孤寒者', 18, 'China', 9999)
''')
c.execute('''
insert into persons(id,name,age,address,salary)
values(2, '小张', 55, 'China', 9)
''')
conn.commit()
print('insert success')

Python练习之操作SQLite数据库

Python练习之操作SQLite数据库

3.查询SQLite表中的数据

# coding=utf-8
import sqlite3
dbPath = 'data.sqlite'
conn = sqlite3.connect(dbPath)
c = conn.cursor()
persons = c.execute('select name,age,address,salary from persons order by age')

# 打印查询结果发现是个Cursor对象(可迭代对象)
print(type(persons))

result = []
for person in persons:
   value = {}
   value['name'] = person[0]
   value['age'] = person[1]
   value['address'] = person[2]
   result.append(value)
conn.close()
print(type(result))
print(result)

# 我们也可以使用前面学习的json模块使这个list类型的result转为字符串类型
# 网络传输需要使用字符串类型
import json
resultStr = json.dumps(result, ensure_ascii=False)
print(resultStr)

Python练习之操作SQLite数据库

来源:https://juejin.cn/post/7069638564350263304

标签:Python,操作,SQLite,数据库
0
投稿

猜你喜欢

  • 跟老齐学Python之永远强大的函数

    2021-12-30 19:41:08
  • Django给admin添加Action的步骤详解

    2022-10-12 00:59:40
  • IE不支持overrideMimeType()方法,即使是IE7.

    2009-02-08 16:58:00
  • Golang两行代码实现发送钉钉机器人消息

    2024-04-26 17:30:39
  • Django rstful登陆认证并检查session是否过期代码实例

    2022-11-04 16:17:15
  • SQL Data Services将成为云中完整的数据库

    2009-03-25 12:28:00
  • sqlserver获取当前日期的最大时间值

    2024-01-16 06:54:24
  • python爬取音频下载的示例代码

    2023-07-25 09:59:57
  • Python字典查找数据的5个基础操作方法

    2021-09-08 23:19:45
  • 安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法

    2023-09-09 04:37:39
  • PHP实现的DES加密解密类定义与用法示例

    2023-07-17 08:55:54
  • tkinter禁用(只读)下拉列表Combobox问题

    2021-01-02 13:05:34
  • 一文教你如何快速学会Go的struct数据类型

    2024-02-14 22:58:44
  • python去掉空格的一些常用方式

    2022-02-10 04:45:34
  • Python求解排列中的逆序数个数实例

    2021-07-28 15:17:27
  • SQL Server提示"选定的用户拥有对象,所以无法除去该用户”

    2024-01-22 03:35:05
  • pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解

    2021-06-03 09:28:09
  • Python写安全小工具之TCP全连接端口扫描器

    2023-12-30 13:34:52
  • Python 用三行代码提取PDF表格数据

    2023-10-08 18:54:57
  • JupyterNotebook设置Python环境的方法步骤

    2023-01-15 12:22:14
  • asp之家 网络编程 m.aspxhome.com