加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite数据库

发布时间:2020-12-12 23:51:49 所属栏目:百科 来源:网络整理
导读:SQLite是一款轻型的数据库。是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同
SQLite是一款轻型的数据库。是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月. 至今已经有14个年头,SQLite也迎来了一个版本 SQLite 3已经发布。 GridFS GridFS是一种在MongoDB中存储大二进制文件的机制,使用GridFS原因有以下几种: 储存巨大的文件,比如视频、高清图片等.利用GridFS可以简化需求. GridFS会直接利用已经建立的复制或分片机制,故障恢复和扩展都很容易. GridFS可以避免用户上传内容的文件系统出现问题. GridFS不产生磁盘碎片 GridFS存储数据 GrdiFS使用两个表来存储数据: files 包含元数据对象 chunks 包含其他一些相关信息的二进制块. 为了使多个GridFS命名为一个单一的数据库,文件和块都有一个前缀,默认情况下,前缀是fs,所以任何默认的GridFS存储将包括命名空间fs.files和fs.chunks。 各种第三方语言可以更改其前缀 使用GridFS mongofiles mongofiles是从命令行操作GridFS的一种工具 四个命令:put(存储)、get(取得/下载)、list(列表)、delete(删除) eg. ./mongofiles put testfile.zip ./mongofiles list ./mongofiles get testfile.zip ./mongofiles delete testfile.zip 验证md5 mg5sum testfiles.zip 此时登录mongo,show tables可以看到新增2个文件fs.files和fs.chunks. 查看fs.files中的内容 db.fs.files.find(); fs.files 中存储的是一些基础的元数据信息. db.fs.chunks.find(); fs.chunks 中存储的是一些实际的内容数据信息. a、 如何连接sqlite数据库? if ($db = sqlite_open('mysqlitedb',0666,$sqliteerror)) { select * from sqlite_master; echo "数据库连接成功!"; } else { die($sqliteerror); } b、 如何列出数据库中所有的表? if ($db = sqlite_open('mysqlitedb',$sqliteerror)) { $result = sqlite_array_query($db,'select * from sqlite_master;'); foreach ($result as $entry) { echo 'talbe name='.$entry['name']." n"; echo 'sql='.$entry['sql']." n"; echo " -------------------------------------------------------------------------------- "; } sqlite_close($db); } else { die($sqliteerror); }} c、 对sqlite数据库的查询,以及结果集的显示 if ($db = sqlite_open('mysqlitedb','select name,email from user ',SQLITE_ASSOC); echo "user表查询结果: n"; echo " n name email n"; foreach ($result as $entry) { echo ' '.$entry['name']." " $entry['email']." n"; } echo ' '; sqlite_close($db); } else { die($sqliteerror); } d、数据库对象记录的增加、删除、修改 sqlite_query($db,"INSERT INTO user VALUES('user".$i."'" ",'user".$i."@ hichina. com')"); sqlite_query($db,"delete from user where user=’user99’"); sqlite_query($db,'UPDATE user SET email="lilz@ hichina .com" where name="user1"'); 2.用JAVA连接SQLite 先下载SQLite数据库的JDBC 这里给出一个中文站点的URL:(参见扩展阅读) 将下载到的包解压后得到jar包 sqlitejdbc-v033-nested.jar 放到%JAVA_HOME%lib 下, 并且将其添加到classpath系统环境变量中,我的classpath系统环境变量为: .;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;%JAVA_HOME%libsqlitejdbc-v033-nested.jar 在你的代码中引用这个驱动: Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager.getConnection("jdbc:sqlite:filename");//filename为你的SQLite数据名称 // ... use the database ... conn.close(); 示例程序如下: importjava.sql.*; importorg.sqlite.JDBC; /** * 这是个非常简单的SQLite的Java程序, * 程序中创建数据库、创建表、然后插入数据, * 最后读出数据显示出来 */ publicclass TestSQLite { publicstaticvoid main(String[] args) { try { //连接SQLite的JDBC Class.forName("org.sqlite.JDBC"); //建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之 Connection conn =DriverManager.getConnection("jdbc:sqlite:zieckey.db"); Statement stat = conn.createStatement(); stat.executeUpdate("create table tbl1(name varchar(20),salary int);");//创建一个表,两列 stat.executeUpdate("insert into tbl1values('ZhangSan',8000);");//插入数据 stat.executeUpdate("insert into tbl1values('LiSi',7800);"); stat.executeUpdate("insert into tbl1values('WangWu',5800);"); stat.executeUpdate("insert into tbl1values('ZhaoLiu',9100);"); ResultSet rs = stat.executeQuery("select * from tbl1;");//查询数据 while(rs.next()){//将查询到的数据打印出来 System.out.print("name = "+ rs.getString("name")+" ");//列属性一 System.out.println("salary = "+ rs.getString("salary"));//列属性二 } rs.close(); conn.close();//结束数据库的连接 } catch(Exception e ) { e.printStackTrace(); } } } 编译运行: E:Codingjavatest>javac TestSQLite.java E:Codingjavatest>java TestSQLite name = ZhangSan salary = 8000 name = LiSi salary = 7800 name = WangWu salary = 5800 name = ZhaoLiu salary = 9100 总结:本文介绍了嵌入式数据库SQLite在Java中的应用, 通过创建表、插入数据、查询等操作介绍了在Java中对数据库的操纵。 SQLite 常用函数 SQLite 有许多内置函数用于处理字符串或数字数据。下面列出了一些有用的 SQLite 内置函数,且所有函数都是大小写不敏感,这意味着您可以使用这些函数的小写形式或大写形式或混合形式。欲了解更多详情,请查看 SQLite 的官方文档:[1] 序号 函数 & 描述 1. SQLite COUNT 函数  SQLite COUNT 聚集函数是用来计算一个数据库表中的行数。 2. SQLite MAX 函数  SQLite MAX 聚合函数允许我们选择某列的最大值。 3. SQLite MIN 函数  SQLite MIN 聚合函数允许我们选择某列的最小值。 4. SQLite AVG 函数  SQLite AVG 聚合函数计算某列的平均值。 5. SQLite SUM 函数  SQLite SUM 聚合函数允许为一个数值列计算总和。 6. SQLite RANDOM 函数  SQLite RANDOM 函数返回一个介于 -9223372036854775808 和 +9223372036854775807 之间的伪随机整数。 7. SQLite ABS 函数  SQLite ABS 函数返回数值参数的绝对值。 8. SQLite UPPER 函数  SQLite UPPER 函数把字符串转换为大写字母。 9. SQLite LOWER 函数  SQLite LOWER 函数把字符串转换为小写字母。 10. SQLite LENGTH 函数  SQLite LENGTH 函数返回字符串的长度。 11. SQLite sqlite_version 函数  SQLite sqlite_version 函数返回 SQLite 库的版本。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读