【Python入门学习四:Sqlite3】操作数据库模块

【Python入门学习四:Sqlite3】操作数据库模块

连接数据库

  • 首先,我们在 P y t h o n Python Python 代码中导入 s q l i t e 3 sqlite3 sqlite3 ,然后连接到一个现有的数据库
  • 注意,如果数据库不存在,那么它会被创建,并返回一个数据库对象
import sqlite3

def main():
    conn = sqlite3.connect("text.db")
    print("Success")
    
main()

可以看到,运行过后,在文件夹中自动创建了一个数据库文件
在这里插入图片描述

创建表

  • 我们使用先获得 cur = conn.cursor() ,然后执行 c.execute("sql command") 既可以完成 m y s q l mysql mysql 命令,自然也就可以创建表单了
import sqlite3

def main():
    conn = sqlite3.connect("text.db")
    cur = conn.cursor()
    cur.execute("""
                CREATE TABLE JOURNAL
                (
                    ID INT PRIMARY KEY NOT NULL,
                    CONTENT CHAR(50) NOT NULL
                );
                """)
    conn.commit()
    print("Create table successfully")
    conn.close()	# 关闭数据库连接
    
main()

各种基础操作

  • I n s e r t Insert Insert 插入数据
    注意:可能有人已经意识到了,这里为什么多加了 conn.commit() 方法呢?
    这个方法用于提交当前的事务。就是说,如果我们插入了数据,在 conn.close() 之前没有提交事务的话,那么所做的更改会丢失
import sqlite3

def main():
    conn = sqlite3.connect("text.db")
    cur = conn.cursor()
    cur.execute("INSERT INTO JOURNAL(ID,CONTENT)\
        VALUES(1,'hello!')")
    cur.execute("INSERT INTO JOURNAL(ID,CONTENT)\
        VALUES(2,'hello again!')")
    conn.commit()
    conn.close()
    
main()

当然, s q l i t e 3 sqlite3 sqlite3 支持问号和命名占位符

cur.execute("INSERT INTO JOURNAL VALUES(?,?)",(4,"Makabaka"))
  • S e l e c t Select Select 查询数据
    首先,查询结果的返回值用一个变量存好
    然后访问这个变量表即可
import sqlite3

def main():
    conn = sqlite3.connect("text.db")
    cur = conn.cursor()
    table = cur.execute("SELECT * FROM JOURNAL")
    for row in table:
        print(row)
    conn.close()
    
main()
  • U p d a t e Update Update 操作
    我们还可以使用 conn.total_changes 来查看更新了多少行数据
import sqlite3

def main():
    conn = sqlite3.connect("text.db")
    cur = conn.cursor()
    
    cur.execute("UPDATE JOURNAL set CONTENT = 'CHANGED' where ID = 4")
    
    print("CHANGED " + str(conn.total_changes) + "Entities")
    
    table = cur.execute("SELECT * FROM JOURNAL")
    for row in table:
        print(row)
    conn.commit()
    conn.close()
    
main()

在这里插入图片描述

  • D e l e t e Delete Delete 操作完全同理,就不重述了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值