(高职)9.2 SQLite数据库ppt课件.pptx
9.2 SQLite数据库Python Python 程序设计程序设计丁辉 商俊燕 范晓玲第九章 数据库应用程序开发u9.1 Python数据库应用开发简介数据库应用开发简介u9.2 SQLite数据库数据库u9.3 数据库应用程序开发精选案例数据库应用程序开发精选案例u小结小结2022年年5月月12日日32022年5月12日4l SQLite数据库简介SQLite是一款轻型、开源的嵌入式关系数据库,使用一个文件存储整个数据库,操作十分方便,减少了应用程序管理数据的开销,可移植性好,很容易使用,效率高且可靠。作为嵌入式数据库直接在应用程序进行中运行,不需要服务器,提供了零配置运行模式,资源占用少。9.2 SQLite数据库 SQLite数据库基本的数据类型Integer整型包括基本整型、长整型等,即只要是整数,都用Integer表示。Blob二进制类型用于存放图片、声音、视频等二进制文件。数据类型说 明示 例Null空值NULLInteger整数1,100,-21,432111344Real浮点数1.0,0.4,-34,83.44333Text字符串hello,student,你好Blob一个blob数据,根据它的输入存储一个图片,一首歌,一个ZIP文件2022年5月12日5l SQLite数据库简介 SQLite数据库的基本操作命令SQLite 命令类似于SQL,包括CREATE、SELECT、INSERT、UPDATE、DELETE、ALTER和DROP等。所有的语句以分号“;”结束SQLite3的命令不区分大小写9.2 SQLite数据库编号用户名密码1ding1234562wang78912343zhang874376438SQLite命令应用示例数据 创建数据库命令命令格式:sqlite3 xxx.db;功能:创建一个数据库;示例:sqlite3 xsgl.db; 创建表命令命令格式:create table database_name.table_name(column1 datatype primary key(one or more columns),column2 datatype, ,coiumnN datatype);功能:在指定的数据库里创建一个表,表可以有多列,每一列需要有列名和类型说明,“primary key(one or more columns)”选项是用于指定表的主键;示例:示例数据各列定义如下:编号:id,integer,主键用户名:name,text密码:pwd,textcreate table xsgl.users(id integer primary key,name text,pwd text);2022年5月12日6 SQLite数据库的基本操作命令9.2 SQLite数据库 删除表命令命令格式:drop table database_name.table_name;功能:从指定的数据库中删除指定的表; 插入记录命令命令格式:insert into table_name(column1,column2,columnN) values(value1,value2,valueN);功能:向表内插入记录信息,当省略“(column1,column2,columnN)”选项时,表示按创建表时列的顺序依次输入对应的值,如果有“(column1,column2,columnN)”选项时,则按选项中列出来的列顺序依次插入对应的值;示例:将示例数据表的三条记录依次插入到表中:insert into users values(1,”ding”,”123456”);insert into users(id,pwd,name) values(2,”7891234”,”wang”);insert into users(id,name,pwd) values(3,”zhang”,” 874376438”); 查询记录命令命令格式:select column1,column,column/* from table_name where condition;功能:对表按一定的条件进行查询,列出满足条件的记录,产生出一个新的表(查询结果),如果是“*”,则表示列出所有的列,否则是列出命令中给出的列,如果没有”condition”选项,则表示没有查询条件;示例:select * from users; 更新记录命令命令格式:update table_name set column1=value1,column2=value2,columnN=valueN where condition;功能:对满足条件记录的相关字段,按给定的值进行修改;示例:updete users set name=”dinghui” where id=1; 删除记录命令命令格式:delete from table_name where condition;功能:删除指定表内符合条件的记录;示例:delete from users where name=”wang”;2022年5月12日7l SQLite数据库的操作9.2 SQLite数据库 导入sqlite3模块 import sqlite3 建立与数据库的连接 con = sqlite3.connect(d:pyxsgl.db) 建立游标 cur = con.cursor() 执行数据库语句(命令)在Python中,所有的SQLite语句的执行,都是通过execute()方法进行的,即将SQLite语句作为execute()的参数,并用引号括起来。#在数据库xsgl.db里创建示例数据所示的用户管理表users cur.execute(create table users(id integer primary key,name text,pwd text)#向表users里添加记录 cur.execute(insert into users values(1,ding,123456) cur.execute(insert into users(id,pwd,name) values(2,7891234,wang) cur.execute(insert into users(id,name,pwd) values(3,zhang,874376438)#上述命令正确执行后,会显示如下的提示:#查询记录 cur.execute(select * from users)2022年5月12日8l SQLite数据库的操作9.2 SQLite数据库 关闭数据库的连接 cur.close() con.close()#查询语句执行的结果,要在执行命令提交后,才能通过fetchall()获取#提交事务,通过调用数据库连接对象的commit()方法来向数据提交SQLite命令执行的结果 mit()#获取查询结果#Python中通过fetchall()方法获取查询结果,每条记录是以元组的形式返回,全部结果构成一个列表 result=cur.fetchall() result(1, ding, 123456), (2, wang, 7891234), (3, zhang, 874376438)#修改记录 cur.execute(update users set name=dinghui where id=1) cur.execute(select * from users) mit() result=cur.fetchall() result(1, dinghui, 123456), (2, wang, 7891234), (3, zhang, 874376438)#删除记录 cur.execute(delete from users where name=zhang) cur.execute(select * from users) mit() result=cur.fetchall() result(1, dinghui, 123456), (2, wang, 7891234)2022年5月12日9