打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
简易SQLite3数据库学习

SQLite3简介

SQLite3 可使用 sqlite3 模块与 Python 进行集成。基本上使用的是SQL语句,来操作数据库。

本文内容很简单,我觉得常用的知识分享出来。用20%时间掌握80%的sqlite功能。

使用sqlite时,记住步骤:

  1. 连接数据库

    con = sqlite3.connect('test.db')
  2. 创建指针

    #创建指针
    c = con.cursor()
  3. sql操作(创建表,对表增删改查)

    c.execute('SQL语句')
    con.commit()
  4. 关闭数据库

    con.close()

实例

连接数据库

如果数据库不存在,那么它就会被创建,最后将返回一个数据库对象。

import sqlite3 as sq

#当前目录下创建test.db数据库
con = sq.connect('test.db')

print('创建test.db成功')

返回

创建test.db成功

如图,执行代码后,在当前文件目录中生成了test.db数据库

创建表

注意:创建表用sqlite3.Cursor类,如下。保存提交使用sqlite.Connect类,如下。

#创建指针(相当于打开excel,准备操作excel文件)
c = con.cursor()

#创建一个表,声明数据类型。(这里使用的是c不是con)
c.execute("""CREATE TABLE PEOPLE
               (ID INT PRIMARY KEY NOT NULL,                 NAME TEXT NOT NULL,                 AGE INT NOT NULL);"""
)

#提交操作(这里使用的是con而不是c)
con.commit()

#关闭表
con.close()

Insert操作

#打开数据库
con = sq.connect('test.db')
c = con.cursor()

c.execute("""INSERT INTO PEOPLE
            (ID,NAME,AGE)             VALUES (1,'JACK',25)"""
)

c.execute("""INSERT INTO PEOPLE
            (ID,NAME,AGE)             VALUES (2,'Smith',23)"""
)

c.execute("""INSERT INTO PEOPLE
            (ID,NAME,AGE)             ALUES (3,'Vivian',20)"""
)
con.commit()

print('数据已经插入表中')

#关闭数据库
con.close()

返回

数据已经插入表中

Select操作

#打开数据库
con = sq.connect('test.db')

c = con.cursor()

print('数据库连接成功')

people = c.execute("""SELECT ID,NAME,AGE FROM PEOPLE""")

for p in people:    print('ID: {}'.format(p[0]))    print('NAME: {}'.format(p[1]))    print('AGE: {}'.format(p[2]))    print('\n')

con.close()

返回

数据库连接成功ID: 1NAME: JACKAGE: 25        ID: 2NAME: SmithAGE: 23        ID: 3NAME: VivianAGE: 20

Update操作

con = sq.connect('test.db')

c = con.cursor()

#Update操作,ID=3的age改为31
c.execute("""UPDATE PEOPLE
         SET AGE = 31 WHERE ID = 3"""
)
con.commit()

#改变的数据个数
print('改变了{}条数据'.format(con.total_changes))

con.close()

返回 改变了1条数据

查看下数据库中数据

con = sq.connect('test.db')

c = con.cursor()

people = c.execute("""SELECT ID,NAME,AGE FROM PEOPLE""")

for p in people:    print('ID: {}'.format(p[0]))    print('NAME: {}'.format(p[1]))    print('AGE: {}'.format(p[2]))    print('\n')con.close()

返回

ID: 1NAME: JACKAGE: 25        ID: 2NAME: SmithAGE: 23        ID: 3NAME: VivianAGE: 31

Delete操作

使用 DELETE 语句删除任何记录,然后从 PEOPLE 表中获取并显示剩余的记录:

con = sq.connect('test.db')

c = con.cursor()

c.execute("""DELETE FROM PEOPLE WHERE ID = 2""")

con.commit()

#改变的数据个数
print('改变了{}条数据'.format(con.total_changes))

people = c.execute("""SELECT ID,NAME,AGE FROM PEOPLE""")
for p in people:    print('ID: {}'.format(p[0]))    print('NAME: {}'.format(p[1]))    print('AGE: {}'.format(p[2]))    print('\n')    con.close()

返回

改变了1条数据ID: 1NAME: JACKAGE: 25        ID: 3NAME: VivianAGE: 31
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python3 Sqlite3数据库
SQLite和Excel操作
sqlite3 数据库操作指令
PyCharm链接sqlite3数据库,建立数据库,以及数据库增删改查的基本操作
【每日一学】一文读懂Python中的序列化和持久化
Python namedtuple(命名元组)使用实例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服