SQLite 数据库访问
SQLite是一个很轻量的数据库。详细介绍我就不多说了,这个东西应该在嵌入式里面用得比较多。根据我看到的资料(几个月以前看的),现在安卓应用应该也会用这个,HTML5 也支持sqlite。
SQLite也支持 SQL 语句。它的每一个数据库都是一个后缀为db的文件
我手里有一个这样的文件,里面已经有一些数据了。
怎么访问这个数据?
1. 最简单的在 windows 平台下下载一个 SQLiteSpy 程序
a. File->Open Database, 选择要打开的 .db 文件
可以看到
执行一条简单的sql
2. 使用 Java JDBC 访问 SQLite 数据库
需要添加驱动依赖
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc --> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.23.1</version> </dependency>
java代码
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class App { public static void main(String[] args) { String url = "jdbc:sqlite:sqlDb.db"; Connection conn = null; PreparedStatement pStatement = null; ResultSet resultSet = null; try { Class.forName("org.sqlite.JDBC"); conn = DriverManager.getConnection(url); pStatement = conn.prepareStatement("select * from `AccLvl`"); resultSet = pStatement.executeQuery(); while(resultSet.next()) { System.out.println("AccLvlNum:" + resultSet.getInt("AccLvlNum") + " " + "timeZoneTableId: " + resultSet.getInt("timeZoneTableId") + " " + "lastModified: " + resultSet.getTimestamp("lastModified")); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { try { if(resultSet != null) { resultSet.close(); } if(pStatement != null) { pStatement.close(); } if(conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } }
程序执行结果
AccLvlNum:0 timeZoneTableId: 0 lastModified: 1970-01-19 01:55:17.192 AccLvlNum:1 timeZoneTableId: 1 lastModified: 1970-01-19 01:55:17.192 AccLvlNum:2 timeZoneTableId: 2 lastModified: 1970-01-19 01:55:17.192 AccLvlNum:3 timeZoneTableId: 3 lastModified: 1970-01-19 01:55:17.192 AccLvlNum:4 timeZoneTableId: 4 lastModified: 1970-01-19 01:55:17.193 AccLvlNum:5 timeZoneTableId: 5 lastModified: 1970-01-19 01:55:17.193 AccLvlNum:6 timeZoneTableId: 6 lastModified: 1970-01-19 01:55:17.193 AccLvlNum:7 timeZoneTableId: 7 lastModified: 1970-01-19 01:55:17.193 AccLvlNum:8 timeZoneTableId: 8 lastModified: 1970-01-19 01:55:17.193 AccLvlNum:9 timeZoneTableId: 9 lastModified: 1970-01-19 01:55:17.194 AccLvlNum:10 timeZoneTableId: 10 lastModified: 1970-01-19 01:55:17.194 AccLvlNum:11 timeZoneTableId: 11 lastModified: 1970-01-19 01:55:17.194 AccLvlNum:12 timeZoneTableId: 12 lastModified: 1970-01-19 01:55:17.194 AccLvlNum:13 timeZoneTableId: 13 lastModified: 1970-01-19 01:55:17.194 AccLvlNum:14 timeZoneTableId: 14 lastModified: 1970-01-19 01:55:17.194 AccLvlNum:15 timeZoneTableId: 15 lastModified: 1970-01-19 01:55:17.195 AccLvlNum:16 timeZoneTableId: 16 lastModified: 1970-01-19 01:55:17.195 AccLvlNum:17 timeZoneTableId: 17 lastModified: 1970-01-19 01:55:17.195
3. linux 访问(Ubuntu)
首先安装 sqlite3
sudo apt-get install sqlite3
然后创建一个数据库,之前说了sqlite 的数据库就是一个 db 文件。 然后就可以进行数据库操作了,大体语法跟mysql是一样的,有细微的区别
vmware@ubuntu:~/frank$ sqlite3 test.db SQLite version 3.11.0 2016-02-15 17:29:24 Enter ".help" for usage hints. sqlite> .table sqlite> create table t_user( ...> id integer primary key autoincrement, ...> name varchar(20) not null, ...> password varchar(20) not null ...> ); sqlite> insert into t_user(name, password) values ('jordan','1234'),('kobe', '3456'),('james', '7890'); sqlite> select * from t_user; 1|jordan|1234 2|kobe|3456 3|james|7890 sqlite> select * from t_user where name='kobe'; 2|kobe|3456 sqlite>
用到的sql
.table create table t_user( id integer primary key autoincrement, name varchar(20) not null, password varchar(20) not null ); insert into t_user(name, password) values ('jordan','1234'),('kobe', '3456'),('james', '7890'); select * from t_user select * from t_user where name='kobe';

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Springboot项目打成jar包启动出现页面不能跳转的问题
thymeleaf在开发环境正常使用,用jar(java -jar)运行时报错 Error resolving template template might not exist or might not be accessible Error resolving template "login", template might not exist or might not be accessible by any of the configured Template Resolvers 错误写法: 错误写法 改成下面这种就OK了,正确写法 正确写法
- 下一篇
结合Zabbix与Ansible打造自动化数据库监控体系
一、前言 随着业务的飞速发展,数据库服务器量级飞速增长,比如Oracle、MySQL、Redis、MongoDB的使用更加普及,对数据库运维人员的要求也越来越高,构建一个真正好用的监控系统是一项艰巨的任务。在监控系统的开源软件中,可供选择的工具众多,然而真正适合自己需求、能够真正解决自己数据库问题的监控系统软件却凤毛麟角。 Zabbix和Ansible分别是两款非常流行的开源监控和自动化工具。具有上手简单,学习曲线平滑、配置简单、功能强大、扩展性强等优点。 本次将分享如何使用Zabbix并结合Ansible打造自动化数据库监控体系。 二、Zabbix自动化核心功能介绍 Zabbix是企业级监控解决方案,和自动化相关的核心功能包括:LLD、API、Zabbix_trapper。 1、LLD 在数据库监控中监控的对象往往是变化的,以部署Redis来说:近几年硬件发展迅速,在企业中新购的X86服务器配置基本都在32C、256GB以上,大家都知道Redis是用“单线程-多路复用IO模型”来实现高性能的内存数据服务,只能用到一个CPU核心,内存配置一般也在8G-16G左右,为了提高资源利用率,一...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7设置SWAP分区,小内存服务器的救世主