连接数据库
- 首先,我们在 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 操作完全同理,就不重述了