SQLite - Python

连接数据库

下面的 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()

你可能感兴趣的:(SQLite - Python)