连接数据库
下面的 Python 代码显示了如何连接到一个现有的数据库。如果数据库不存在,那么它就会被创建,最后将返回一个数据库对象。
import sqlite3
conn = sqlite3.connect('test.db')
创建表
下面的 Python 代码段将用于在先前创建的数据库中创建一个表:
import sqlite3
conn = sqlite3.connect('test.db')
# 创建名为 COMPANY 的表,并设置字段
conn.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')
conn.close()
上述程序执行时,它会在 test.db 中创建名为 COMPANY 的表。
INSERT 操作
下面的 Python 代码显示了如何在上面创建的 COMPANY 表中写入记录:
import sqlite3
conn = sqlite3.connect('test.db')
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, 'Paul', 32, 'California', 20000.00 )");
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (2, 'Allen', 25, 'Texas', 15000.00 )");
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )");
conn.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )");
conn.commit()
conn.close()
如果要插入变量到表中,可这样操作:
import sqlite3
conn = sqlite3.connect('testDB.db')
a = 4
b = 'Mark'
c= 25
d = 'Rich-Mond'
e = 65000.00
ins = 'INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES(?,?,?,?,?); '
v = (a, b, c, d, e)
conn.execute(ins, v);
conn.commit()
conn.close()
注意 execute 函数的参数一个字符串,插入变量时也要按照相应的数据类型整合到该字符串里。
SELECT 操作
下面的 Python 代码显示了如何从前面创建的 COMPANY 表中获取并显示记录:
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
print ("ID = ", row[0])
print ("NAME = ", row[1])
print ("ADDRESS = ", row[2])
print ("SALARY = ", row[3], "\n")
conn.close()
上述程序执行时,它会产生以下结果:
ID = 1
NAME = Paul
ADDRESS = California
SALARY = 20000.0
ID = 2
NAME = Allen
ADDRESS = Texas
SALARY = 15000.0
ID = 3
NAME = Teddy
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALARY = 65000.0
UPDATE 操作
下面的 Python 代码显示了如何使用 UPDATE 语句来更新任何记录。
import sqlite3
conn = sqlite3.connect('test.db')
conn.execute("UPDATE COMPANY set SALARY = 25000.00 where ID=1")
conn.commit()
conn.close()
DELETE 操作
下面的 Python 代码显示了如何使用 DELETE 语句删除任何记录:
import sqlite3
conn = sqlite3.connect('test.db')
conn.execute("DELETE from COMPANY where ID=4;")
conn.commit()
conn.close()