Sqlite3是Python内置的一个轻量级数据库
数据库是用于保存大量而定, 格式统一的数据, 比如保存name, age, sex, score. 数据库内部的结构是由多张表table构成, 表中是由多个字段构成.
"""
1. 先连接到数据库文件
2. 进行数据的写入或读取
3. 关闭数据库
"""
import sqlite3
1> 连接数据库
connect( ): 负责连接数据库文件, 当数据文件不存在时, 会默认在当前目录下创建一个新的数据库文件
# connect = sqlite3.connect('database.db')
2> 要操作数据库, 先获取数据库游标cursor, 通过cursor来操作表, 对表进行增删改查的操作
# cursor = connect.cursor( )
3> 向数据库database.db中添加一张表table
声明创建表的SQL语句
Student表中四个字段: id name age score
INTEGER(integer): 整数类型
TEXT: 文本类型
PRIMARY KEY(primary key): 给id添加的约束, 将id作为主键. 主键是唯一的, 不允许重复, 主要是用于给这条数据设置一个唯一的标识, 方便查找和定位. 而name/age/score的值可能会重复, 所以不能作为主键
# create_student_table = "CREATE TABLE Student (id INTEGER PRIMARY KEY, name TEXT, age INTEGER, score FLOAT)"
# 执行创建表的sql语句
cursor.execute(create_student_table)
# 向表中插入数据
insert_sql="INSERT INTO Student(name, age, score)VALUES('李四', 30, 80.5)"
# 修改表中的数据
WHERE: 后面跟的是筛选条件
update_sql = "UPDATE Student SET name='%s', age=%d WHERE id=1" % ('王五', 100)
cursor.execute(update_sql)
# 查询表中的数据
# *表示所有数据
select_sql = "SELECT * FROM Student"
res = cursor.execute(select_sql)
for x in res:
print(x)
# 删除表中的数据
# 将id=1的数据删除
delete_sql = "DELETE FROMO Student WHERE id=1"
cursor.execute(delete_sql)
# 执行提交的操作
connect.commit()
# 关闭游标
cursor.close()
# 关闭数据库
connect.close()