1.创建数据库
通过 sqlite3 模块的函数 connect()传递一个代表数据库的文件名(company.db 文件),并创建一个代表数据库的连接对象。例如:
import sqlite3
db_filename = 'company.db'
conn = sqlite3.connect(db_filename)
第一次尝试连接数据库时,会自动创建一个新的数据库文件(如代码中的 company.db 文件)。当然,对于一个新的数据库,它还没有用于存储数据的表(Table)。
2.创建表
和所有关系数据库一样,sqlite 数据库由一些表组成,每个表就是类似学生表、工资单这样的,由一行行记录构造的表格。
一旦有了一个数据库的连接,就可以获得一个 Cursor 对象(游标对象),通过调用 Cursor 对象的execute()方法可执行 SQL 命令。游标对象可以产生一致的数据视图,这是与 SQLite 等事务数据库系统进行交互的主要手段。
首先,执行创建数据库表的 SQL 语句“CREATE TABLE…”创建一个表:
c = conn.cursor() #通过连接 conn 的 cursor()函数获得一个"游标"
c.execute('''CREATE TABLE Department
(name text primary key, date text, description text)''')
创建名字叫作 Department 的表,这个表的数据项(列)是 name、date、description,它们的数据类型都是 text 文本,并且 name 是这个表的主键(primary key)。
下面的语句创建名字叫作 Employee 的表,这个表的数据项(列)是 id、name、date、salary 和department。其中,salary 的类型是 real(实数),department 项引用的是表 Department 的 name:
c.execute('''CREATE TABLE Employee
(id integer primary key autoincrement not null,
name text, date text, salary real,
department text not null references Department(name))''')
执行上述代码后输出:
<sqlite3.Cursor at 0x21a00706500>