Python面试必考重点之数据存储第五关——操作SQLite数据库

Posted 孤寒者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python面试必考重点之数据存储第五关——操作SQLite数据库相关的知识,希望对你有一定的参考价值。

面试题第五关:

第一部分——考点:

操作SQLite数据库:

  1. 创建SQLite数据库;
  2. 向表中插入记录;
  3. 其他数据库操作。

第二部分——面试题:

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

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

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


第三部分——解析:

面试题一 之 创建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('创建数据库成功')

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

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

  • 官方下载地址:这里

  • 可能会下载不了,所以我这边已经下载一个(3.3.3版本),微信公众号【孤寒者】后台回复【sqlitestudio】即可~

面试题二 之 向SQLite表中插入数据:

# coding=utf-8
# _author__ = 孤寒者
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')

面试题三 之 查询SQLite表中的数据:

# coding=utf-8
# _author__ = 孤寒者
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)


第四部分——总结:

  • 使用sqlite3模块中的API可以操作SQLite数据库,该模块是Python内置的模块,不需要单独安装。

  • 如果想要系统学习SQLite数据库,可以观看菜鸟教程学习:
    菜鸟教程:SQLite教程

以上是关于Python面试必考重点之数据存储第五关——操作SQLite数据库的主要内容,如果未能解决你的问题,请参考以下文章

Python面试必考重点之字符串与正则表达式第五关——字符串居中显示的各种方法

Python面试必考重点之列表,元组和字典第五关——单星(*)和双星(**)运算符的作用并举例说明/合并列表和字典的方法有哪些

Python面试必考重点之列表,元组和字典第十五关——如何将[i for i in range(20)]变成产生器

Python每日一练——数据存储第五关:操作SQLite数据库

Python面试必考重点之数据存储第二关——XML文档和字典的互转

Python面试必考重点之数据存储第三关——如何将一个JSON文档映射为Python对象