Python与Sqlite结合的简单用法
码夫破石
2022年10月27日 16:41
收录于文集
共2篇

Sqlite3是极轻量型的数据库,说白了就是文件夹下的一个文件。放在本地也根本不需要什么专门的数据库管理工具,可以直接用pycharm进行可视化访问。Pycharm的编辑区域最右侧有个【纵向菜单】DataBase,支持大多数数据库,操作简单易上手。如果提示“not found Driver files are not downloaded.”什么之类的,直接选中数据库,右击,安装驱动就好了。(一般有红色叹号,直接右键按照提示操作就行了)。

Python操作sqlite一般分为几个步骤:

1,建立数据库,其实就是一个文件,以.db结尾;

2,连接数据库;

3,获取数据库游标对象;

4,利用游标对象对数据库进行增删改查操作;

5,提交数据库更改;(如果是查询数据库的话,这一步可以不用)

6,关闭数据库连接;

下面的代码是对上面步骤的具体操作:

代码块
Python
自动换行
复制代码
# -*- 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()
复制成功

没涉及删除操作,删除操作在数据库操作中需谨慎。

声明:本文仅用于学习交流。