Sqlite3是极轻量型的数据库,说白了就是文件夹下的一个文件。放在本地也根本不需要什么专门的数据库管理工具,可以直接用pycharm进行可视化访问。Pycharm的编辑区域最右侧有个【纵向菜单】DataBase,支持大多数数据库,操作简单易上手。如果提示“not found Driver files are not downloaded.”什么之类的,直接选中数据库,右击,安装驱动就好了。(一般有红色叹号,直接右键按照提示操作就行了)。
Python操作sqlite一般分为几个步骤:
1,建立数据库,其实就是一个文件,以.db结尾;
2,连接数据库;
3,获取数据库游标对象;
4,利用游标对象对数据库进行增删改查操作;
5,提交数据库更改;(如果是查询数据库的话,这一步可以不用)
6,关闭数据库连接;
下面的代码是对上面步骤的具体操作:
# -*- encoding: utf-8 -*-
# @Time: 2022/10/27 11:15
# @Author: 、一叶孤城
# @File: testSqlite
# @IDE: PyCharm
# @Motto: ABC(Always Be Coding)
import sqlite3
# Sqlite的用法
def connect_database():
# 1,连接数据库
conn = sqlite3.connect('test.db') # 如果不存在就会创建
print('创建成功!')
def create_table():
# 2,在数据库中创建表
conn = sqlite3.connect('test.db') # 如果不存在就创建
print('连接成功!')
# 连接成功后就是获取游标
cursor = conn.cursor() # 获取游标
# 接下来就是sql语句,这里做一个建表示例
sql = '''
CREATE TABLE company (
id int primary key not null,
name text not null,
age int not null,
address char(50),
salary real
);
'''
# 执行sql语句
cursor.execute(sql)
# 执行完sql之后就是提交数据库更改
conn.commit()
# 关闭数据库
conn.close()
def insert_to_table():
# 3,像数据库添加内容
# 首先还是先连接数据库
conn = sqlite3.connect('test.db') # 连接数据库
print('连接成功!')
# 获取游标
cursor = conn.cursor()
# sql语句,要添加多条就写多条
sql = '''
INSERT INTO company (id,name,age,address,salary)
values (1, '张三', 28, '北京市王府井', 88000);
'''
sql1 = '''
INSERT INTO company(id,name,age,address,salary)
values (2, '李四',30,'厦门市',12000);
'''
# 利用游标执行sql语句
cursor.execute(sql)
cursor.execute(sql1)
# 提交数据库更改
conn.commit()
print('添加成功!')
# 关闭数据库
conn.close()
def query_data_from_db():
# 4,对数据库数据记性查询
# 首先还是连接数据库
conn = sqlite3.connect('test.db')
print('连接成功!')
# 获取游标
cursor = conn.cursor()
# sql查询语句
query_sql = '''
SELECT * FROM company;
'''
# 也可以这样写
query_sql = '''
SELECT id, name, age, address,salary FROM company;
'''
# 执行sql语句并返回一个结果
query_results = cursor.execute(query_sql)
# print(type(results))
# 遍历结果
for row in query_results:
print(row) # 得到的每行结果都是一个元组类型
print("查询序列号 = ", row[0])
print("名字 = ",row[1])
print("年龄 = ", row[2])
print("地址 = " ,row[3])
print("薪资 = ", row[4], '\n') # 每一查询一次换行
# print("\n")
# 因为是查询可以不用对数据库进行commit,直接关闭数据库
# conn.commit() # 查询的时候这行代码不需要
print('数据库查询完毕,即将关闭数据库!')
conn.close()
query_data_from_db() 没涉及删除操作,删除操作在数据库操作中需谨慎。
声明:本文仅用于学习交流。