内容正文:
第八章 SQLite数据库基本操作
SQLite数据库的特点:轻量级、跨平台、独立性、零配置、开放性、占用资源低
import sqlite3
conn = sqlite3.connect("text.db") #连接/创建数据库
cu = conn.cursor() #创建游标
1.创建数据表
#SQL语句格式:create table <表名>(<字段名> <字段数据类型>,……)
cu.execute('''create table st(
ID int primary key not NULL, #primary key用于设置主键
name text not NULL,
age int not NULL,
sex char(1) not NULL)''')
conn.commit() #保存并提交到数据库
(1)SQL是用于访问和处理数据库的标准的计算机语言,SQL代码不区分大小写。数据库的基本操作有“增”、“删”、“改”、“查”四种。
(2)SQLite是关系数据库,数据被存储在数据库的数据表中。数据表的一列称为一个字段,同一字段的数据类型相同。除第一行外,其后的每一行被称为一条记录(第一行为字段名)。
(3)上述语句执行完成后,将在数据库中创建一张名为st的数据表,其中ID字段被设置为主键。主键的特性:在记录中,主键字段的值不能为空,也不能重复。主键一般用于查找唯一记录,例如有两个name为张三的记录,查找时可以用ID值进行区分。主键在一张数据表中只能有一个,但可以由多个字段组成,这样的主键被称为联合主键。
2.“增”加记录
#SQL语句格式:insert into <表名> (字段1,字段2,……) values(值1,值2,……)
cu.execute("insert into st(ID,name,age,sex) values(1,'Peter',15,'M')")
cu.execute("insert into st(ID,name,age,sex) values(2,'Jim',16,'M')")
cu.execute("insert into st(ID,name,age,sex) values(3,'Maray',14,'W')")
cu.execute("insert into st(ID,name,age,sex) values(4,'Brent',17,'M')")
conn.commit() #提交并更新数据库
#运行上述代码后,数据表st中的值
3.“查”找记录
#SQL语句格式:select <输出列1>,<输出列2> form <表名> where <筛选条件>
cu.execute("select * from st")
print(cu.fetchall()) #用fetchall() 获取游标结果,返回值是列表类型
cu.execute("select name,age from st")
print(cu.fetchall())
cu.execute("select name,age from st where age>15")
print(cu.fetchall())
#三次查找输出结果
[(1, 'Peter', 15, 'M'), (2, 'Jim', 16, 'M'), (3, 'Maray', 14, 'W'), (4, 'Brent', 17, 'M')]
[('Peter', 15), ('Jim', 16), ('Maray', 14), ('Brent', 17)]
[('Jim', 16), ('Brent', 17)]
4.修“改”录值
#SQL语句格式:update <表名> set <字段>=<值> where <筛选条件>
cu.execute("update st set sex='W' where name='Jim'")
conn.commit() #提交并更新数据库
5.“删”除记录
#SQL语句格式:delete from <表名> where <筛选条件>
cu.execute("delete from st where ID=1 ")
conn.commit() #提交并更新数据库
#运行上述4,5代码后,数据表st中的变化
cu.close() #关闭游标
conn.close() #关闭数据库
学科网(北京)股份有限公司
$