数据库SQL ServeSQLite教程 课件 第11章 SQLite数据库操作_第1页
数据库SQL ServeSQLite教程 课件 第11章 SQLite数据库操作_第2页
数据库SQL ServeSQLite教程 课件 第11章 SQLite数据库操作_第3页
数据库SQL ServeSQLite教程 课件 第11章 SQLite数据库操作_第4页
数据库SQL ServeSQLite教程 课件 第11章 SQLite数据库操作_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库SQLServer/SQlite教程授课教师:第11章SQLite数据库操作SQLite是世界上部署最广泛的SQL数据库引擎。它是由D.RichardHipp在2000年5月发布,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。SQLite是一款轻量级的开源的嵌入式数据库,已经在很多嵌入式产品中使用,能够支持Windows/Linux/UNIX等主流操作系统,同时能够和很多程序语言相结合,如Python、Java、C#、PHP等。它具有ODBC接口,比起MySQL、PostgreSQL这两款开源的世界著名的数据库管理系统,它的处理速度比它们都快,已经广泛应用于消费电子、医疗、工业控制、军事等各种领域。第11章

SQLite数据库操作11.1SQLite概述目录11.2SQLite基本操作11.1SQLite概述11.1SQLite概述SQLite是一款轻量级的开源的嵌入式数据库,由D.RichardHipp在2000年5月发布。如果要开发小型的应用,或者想做嵌入式开发,没有合适的数据库系统,那么就可以考虑使用SQLite。由于使用方便,性能出众,因此SQLite广泛应用于消费电子、医疗、工业控制、军事等领域。与其他数据库管理系统不同,SQLite不是一个C/S结构的数据库引擎,而是被集成在用户程序中的。SQLite是由C和C++实现的,可以从C/C++程序中使用sqlite3.h库,还有一个Python模块叫做PySQLite。PHP从HP5.0开始包含了SQLite,但是自5.1版之后开始成为一个延伸函式库。Rails2.0.3将缺省的数的数据库系统就是SQLite。11.1SQLite概述SQLite的主要特点如下:(1)体积小:在嵌入式设备中,最低只需要几百千字节的内存就可以运行SQLite。(2)性能高:SQLite对数据库的访问性能很高,其运行速度比MySQL等开源数据库要快很多。(3)可移植性强:SQLite能支持各种32位和64位体系的硬件Windows、Linux、BSD、MacOS、Solaries等软件平台中运行。1.SQLite的特点11.1SQLite概述SQLite的主要特点如下:1.SQLite的特点(4)SQL支持:SQLite支持ANSISQL92中的大多数标准,提供了对子查询、视图、触发器等机制的支持。(5)接口:SQLite为C、Java、PHP、Python等多种语言提供了API接口,所有的应用程都必须通过接口访问SQLite数据库。11.1SQLite概述SQLite由SQL编译器、内核、后端以及附件等部分组成。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展SQLite的内核变得更加方便。SQLite组件的详细介绍如下:(1)数据库引擎。数据库引擎是SQLite的核心,负责运行中间代码,指挥数据库的具体操作。2.SQLite的组件11.1SQLite概述(2)编译器。编译器由词法分析、语法分析和中间代码生成3个模块组成。其中,词法分析模块和语法分析模块负责检查SQL语句的语法,然后把生成的语法树传递给中间代码生成模块。中间代码生成模块负责生成SQLite引擎可以识别的中间代码。2.SQLite的组件(3)后台。后台由B树、页缓存和系统调用3个模块组成。其中,B树负责维护索引,页缓存负责页面数据的传送,系统调用负责和操作系统交互,最终实现数据库的访问。11.2SQLite基本操作11.2.1SQLite3的下载与数据类型SQLite3是目前最新的SQLite版本,可以从/download.html网站上下载SQLite3的源代码。下载完成后,解压到某一盘符下,双击“sqlite3.exe”,启动SQLite,如图11-1所示。1.下载并启动图11-1启动SQLite11.2.1SQLite3的下载与数据类型大多数的数据库引擎(除了SQLite的每个SQL数据库引擎)都使用静态的和刚性的类型。使用静态类型,数据的类型就由它的容器决定。SQLite使用一个更一般的动态类型系统。在SQLite中,值的数据类型与值本身相关,而不是与它的容器相关,是一种弱数据类型。2.SQLite3支持的基本数据类型11.2.1SQLite3的下载与数据类型(1).NULL——blob(数据块),值是Null。SQLite没有单独的布尔存储类型,它使用INTEGER作为存储类型,0为“false”,1为“true”。SQLite没有另外为存储日期和时间设定一个存储类集,内置的SQLite日期和时间函数能够将日期和时间以TEXT、REAL或INTEGER形式存放。(2).INTEGER——int,值是有符号整型。(3).REAL——float、double,值是浮点型。(4).TEXT——char、varchar,值是文本字符串。(5).NUMERIC——其余的情形。2.SQLite3支持的基本数据类型11.2.1SQLite3的下载与数据类型SQLite3数据库中的任何列,除了整型主键列,可以用于存储任何一个存储列的值。SQL语句中的所有值,不管它们是嵌入在SQL文本中或者是作为参数绑定到一个预编译的SQL语句,它们的存储类型都是未定的。2.SQLite3支持的基本数据类型11.2.2SQLite3的使用在Windows平台下,打开DOS窗口,切换到含有刚解压的sqlite3.exe的目录下,如d:\sqlite>sqlite3-version后回车,将出现对应的版本号信息。1.版本假设需要使用一个test.db数据库,只需在命令行下输入“sqlite3test.db”即可。如果数据库test.db已经存在,则命令“sqlite3test.db”会在当前目录下打开test.db;如果数据库test.db不存在,则命令在当前目录下新建数据库test.db。为了提高效率,SQLite3并不会马上创建test.db,而是等到第一个表创建完成后才会在物理上创建数据库。11.2.2SQLite3的使用2.数据库的创建与查询1)命令创建使用“.database”命令可以查询所使用的数据库,如图11-2所示。11.2.2SQLite3的使用2.数据库的创建与查询2)数据库的查询图11-2版本和数据库打开SQLiteStudio,单击“添加数据库”按钮。单击绿色的“+”表示新建一个数据库,单击文件夹符号表示打开一个现有的数据库。在“文件”处输入完整的路径和文件名,然后单击“OK”按钮,如图11-3所示。11.2.2SQLite3的使用2.数据库的创建与查询3)菜单创建图11-3启动SQLiteStudio创建数据库由于SQLite3是弱类型的数据库,因此在create语句中并不要求给出列的类型。另外注意,所有的SQL指令都是以分号(;)结尾的。如果遇到两个减号(--)则代表注解,SQLite3会略过去。表的创建过程如下:(1)在数据库ddwq1中新建表tb1,数据库ddwq2中新建表tb2。(2)设置表的结构。在“Tablename:”处输入表名“tb1”“tb2”。单击“Structure”选项,再单击“添加字段”按钮,依次添加字段及其类型、长度等。然后,单击“√”按钮,如图11-4、图11-5所示。11.2.2SQLite3的使用3.表的创建11.2.2SQLite3的使用3.表的创建图11-4启动SQLitetudio创建数据库图11-5表的结构在tb2中,单击“Data”选项,再单击“+”按钮,依次添加3条记录。1)菜单命令在SQLiteStudio中添加数据,如图11-6所示。单击“+”添加一行,数据输入结束,单击“√”保存。2)插入命令插入如下命令:sqlite>insertintotb1values('12','kkk');sqlite>insertintotb1values('13','mjjj');单击“

”(刷新)按钮,如图11-7所示。11.2.2SQLite3的使用4.添加数据11.2.2SQLite3的使用4.添加数据图11-6添加表的数据11.2.2SQLite3的使用4.添加数据图11-7“刷新”按钮1)中文界面选择“tools”选项,选择并单击“Openconfigurationdialog”,选择“Look&feel”,在“Language”处选择“简体中文”,选择“Apply”,最后单击“OK”按钮,将界面外观设置为中文。2)UTF-8编码在CMD窗口中输入“chcp65001”后回车确定。注意65001是Unicode(UTF-8)65001的编码设置。11.2.2SQLite3的使用5.修改设置(1)%:表示任意0个或多个字符,可匹配任意类型和长度的字符,有些情况下若是中文,可使用两个百分号(%%)表示。(2)_:表示任意单个字符,可匹配单个任意字符,它常用来限制表达式的字符长度语句。(3)[]:表示括号内所列字符中的一个(类似正则表达式),可指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。(4)[^]:表示不在括号所列之内的单个字符,其取值和[]相同,但它要求所匹配对象为指定字符以外的任一个字符。11.2.2SQLite3的使用6.查询1)相关模糊查询的知识(1)脚本命令方式。例11-1

把name为“张三”“张猫三”“三脚猫”“唐三藏”等有“三”的记录全部找出来。代码如下:select*from[user]wherenamelike'%三%';11.2.2SQLite3的使用6.查询2)查询操作(1)脚本命令方式。例11-2

只找出“唐三藏”这样name为三个字且中间一个字是“三”的记录。代码如下:select*from[user]wherenamelike'_三_';11.2.2SQLite3的使用6.查询2)查询操作例11-3

找出“张三”“李三”“王三”(而不是“张李王三”)。代码如下:select*from[user]wherenamelike'[张李王]三';(2)DOS命令方式。例11-4

在cmd下,查询表tb1的数据。代码如下:d:\sqlite>.tabled:\sqlite>select*fromtb1;运行结果如图11-8所示。11.2.2SQLite3的使用6.查询2)查询操作图11-8查询表中的数据例11-5

以列的形式显示各个字段,列的显示宽度设置为10。代码如下:sqlite>.headeronsqlite>.modecolumnsqlite>.width10运行结果如图11-9所示。11.2.2SQLite3的使用7.格式化显示select的输出信息图11-9格式化输出习题1.SQLite是一款轻量级的

的嵌入式数据库,由D.RichardHipp在2000年发布。2.在d:\sqlite>下输入

,然后回车,将出现对应的版本号信息。3.假设需要使用一个test.db数据库,只需在命令行下输入

即可,如果存在test.db则打开,否则将创建test.db数据库。(填空题剩余习题见教材223页)一、填空题1.由于使用方便,性能出众,所以SQLite广泛应用于消费电子、医疗、工业控制、军事等各种领域。2.在嵌入式设备中,最低只需要几百千字节的内存就可以运行。习题二、判断题(

)(

)习题1.SQLite3支持的基本数据类型有()。A.text

B.real

C.date

D.numeric2.可把name为“张三”“张猫三”“三脚猫”“唐三藏”等有“三”的记录全部找出来的语句是()。A.select*from[user]wherenamelike'[张李王]三';B.select*from[user]wherenamelike'_三_';C.select*from[user]wherenamelike'%三%';D.sele

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论