参考

https://blog.csdn.net/csdnhsh/article/details/93376733

https://www.runoob.com/sqlite/sqlite-create-database.html

数据库安装

从网站https://www.sqlite.org/download.html 下载 sqlite-dll-win32-x86-3320200.zip、sqlite-tools-win32-x86-3320200.zip。

创建文件夹,将以上两个zip解压到该文件中,应该包含三个exe、一个dll等。

cmd命令行,cd到sqlite目录下,执行 sqlite3 命令。也可以直接双击执行 sqlite3.exe 。

数据库语法

SQLite不区分大小写。

所有的SQLite语句,以分号(;)结尾。

进入已有数据库

sqlite3 D:\temp\sqlite.db
SQLite version 3.32.2 2020-06-04 12:58:43
Enter ".help" for usage hints.
sqlite> .tables --查看数据库中所有表名
sqlite> .indexes --查看数据库中所有索引
sqlite> .database --查看数据库信息
main: D:\temp\sqlite.db
sqlite> .quit --退出

jdbc代码

SQLite是个小数据库。

java可以通过 sqlite-jdbc 操作该数据库。

以下代码,会创建 src\main\resources\sqlite.dat 文件,并将 person 表数据存储其中。(若文件创建失败,person 表将什么都查不出来)

问题是:绝对路径时,“jdbc:sqlite::resource:sqlite.db”无法使用!

private static String insertSql(String name, int salary) {
StringBuilder sb = new StringBuilder();
sb.append("insert into person ");
sb.append("values('" + name + "', " + salary + ");");
return sb.toString();
}
public static void main(String[] args) {
try {
// String url = "jdbc:sqlite://d:/temp/sqlite.db";//绝对路径
String url = "jdbc:sqlite:src\\main\\resources\\sqlite.db";//直接放在项目目录下
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection(url);
Statement stat = conn.createStatement(); stat.executeUpdate("drop table if exists person;");
stat.executeUpdate("create table person(name varchar(20), salary int);");
stat.executeUpdate(insertSql("ZhangSan", 8000));
stat.executeUpdate(insertSql("LiSi", 7800));
stat.executeUpdate(insertSql("WangWu", 5800));
stat.executeUpdate(insertSql("ZhaoLiu", 9100));
ResultSet rs = stat.executeQuery("select * from person;");
System.out.println("创建表结构录入数据操作演示:");
while(rs.next()) {
System.out.print("name = "+rs.getString("name")+", ");
System.out.println("salary = "+rs.getString("salary"));
}
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}

还需要添加maven配置

<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.28.0</version>
</dependency>

一个小数据库SQLite的更多相关文章

  1. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  2. 用Python写一个向数据库填充数据的小工具

    一. 背景 公司又要做一个新项目,是一个合作型项目,我们公司出web展示服务,合作伙伴线下提供展示数据. 而且本次项目是数据统计展示为主要功能,并没有研发对应的数据接入接口,所有展示数据源均来自数据库 ...

  3. Android学习---如何创建数据库,SQLite(onCreate,onUpgrade方法)和SQLiteStudio的使用

    一.android中使用什么数据库? SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程式庫中.它是D.RichardHipp建立的公有领域项目.SQLite 是一个软件库,实现 ...

  4. ios数据库SQLite实现

    SQLite嵌入式数据库 1.支持时间,不需要配置,不需要安装,不需要管理员; 2.支持大部分SQL92; 3.完整的数据库保存在磁盘上面的一个文件,同一个数据库文件可以在不同机器上面使用.最大支持数 ...

  5. iOS基础 - 数据库-SQLite

    一.iOS应用数据存取的常用方式 XML属性列表 —— PList NSKeyedArchiver 归档 Preference(偏好设置) SQLite3 Core Data(以面向对象的方式操作数据 ...

  6. 轻量级数据库Sqlite的使用

    SqLite是什么? SQLite是一个进程内的库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置. 就像 ...

  7. 数据库-SQLite

    技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong  数据库-SQLite 技术博客http:// ...

  8. C++ Builder 2007中应用数据库SQLite(转载)

    第一次使用SQLite数据库,而且BCB2007也不熟,这两者的结合那就更让我难受了.今天只是简单的在BCB中调用SQLite,就花了我一下午时间,这也足见本人知识的浅薄,另一方面也说明我对这二者确实 ...

  9. Redola.Rpc 的一个小目标

    Redola.Rpc 的一个小目标 Redola.Rpc 的一个小目标:20000 tps. Concurrency level: 8 threads Complete requests: 20000 ...

  10. 关于SQL Server镜像的一个小误区

    昨天晚上突然接到客户的电话, 说在配置了镜像的生产环境数据库下修改 “已提交读快照” 选项的时候报错, 需要先取消镜像然后再重新搭建.悲催的是这是个近TB的数据库,问我有没有什么快速的方法.于是我就问 ...

随机推荐

  1. CompletableFuture的使用

    1 List<List<String>> subList = CommonUtils.splitList(pendingIds, 500);private static fin ...

  2. go 镜像输出一个树 mac模式

    递归写的很low,mac模式 package main import "fmt" type TreeNode struct { Value int Left *TreeNode r ...

  3. 【otter搭建】在Linux下搭建阿里开源otter数据同步平台

    一,准备安装包和配置文件 JDK:https://www.oracle.com/technetwork/java/javase/downloads/index.html Zookeeper:https ...

  4. mysql常规主从复制跟基于GTID的主从复制方法

    一,环境部署 192.168.113.129 193.168.113.130 二进制部署mysql5.7的方法见mysql5.7二进制部署,以及部分优化参数 二,mysql基于二进制日志点的复制 1, ...

  5. 学习lua-04,json.util merge方法对集合处理的实际应用,及tostring方法

    local jsonutil = require("json.util") local merge = require("json.util").merge l ...

  6. Vue Element使用第三方图标(iconfont阿里矢量图标库)

    在  www.iconfont.cn 中搜索图标并加入购物车然后添加至项目,编辑项目名称 然后将项目下载至本地解压后将如下文件复制移到到  src/assets/icon中, 并把iconfont.c ...

  7. 解决element-ui表格多重嵌套循环时,添加row-key="id" 出现Duplicate keys detected: 'XXX' 错误的问题

    Duplicate keys detected: 'XXX' 错误,怀疑是多重嵌套循环时 :key="item.id或index" 不能重复的问题,但设置了不同的 key 后并未解 ...

  8. 第15章 授权:保护您的应用程序(ASP.NET Core in Action, 2nd Edition)

    本章包括 使用授权控制谁可以使用你的应用 对策略使用基于声明的授权 创建自定义策略以处理复杂的需求 根据所访问的资源授权请求 隐藏用户未经授权访问的Razor模板中的元素 在第14章中,我向您展示了如 ...

  9. CSS 常用样式-文本属性

    文本类样式我们已经学习过颜色 color 属性,严格来说行高 line-height 也是文本类属性,由于其可以合写在 font 属性中个,暂时先归类到字体中学习,接下来还有几个常用的文本属性. 水平 ...

  10. api进阶Day1文件的创建、删除、访问、设置过滤器并查询。目录的删除、创建。

    文件的创建: package file; import java.io.File; import java.io.IOException; /* create:创建 new:新 file:文件 使用F ...