最近需要在Ubuntu下使用Qt开发项目,选择简单小巧的SQLite数据库,现将安装配置以及简单操作记录如下,以便日后查阅。

安装Qt

CMake和Qt Creator是Linux下开发C++程序的神器,Ubuntu 15.04已经集成了最新版的Qt Creator (3.1.1)。

sudo apt-get install cmake qtcreator  

安装Sqlite

1 . 安装SQLite3

sudo apt-get install sqlite sqlite3  

2 . 安装Sqlite3编译需要的工具包

//如果,你需要的话可以安装该工具包。只是为了体验一把,可以不安装。该项是可选项。

apt-get install libsqlite3-dev  

3 . 检查安装是否成功

//执行下面命令,会出现sqlite版本号,如3.6.22

sqlite3 -version  

4 . 安装图形界面

//不喜欢命令行的话,安装该项有必要。该项是可选项。

sudo apt-get install sqlitebrowser  

5 . 安装其它语言的支持

//PHP支持
sudo apt-get install php5-sqlite
//Ruby支持
sudo apt-get install libsqlite3-ruby
//Python支持
sudo apt-get install python-pysqlite2

6 . 建立数据库

//可以在任意目录下(如/home/yangrui/database),执行下面命令

sqlite3 test.db  

注意:该命令执行之后,如果在当前目录没有test.db的话,就会创建该文件,如果已经存在的话直接使用该数据库文件。

使用.database可以查看所创建的数据库

7 . 创建表

数据类型,可以参考官方文档。

create table mytable(name varchar(10),age smallint);
//同理,使用.table可以看看自己创建的表mytable

8 . 向表中插入数据

insert into mytable values('mark',28);
insert into mytable values('hello',30);

9 . 查询数据

select * from mytable;  

10 . 删除表

drop table mytable;  

11 . 删除数据库

很不幸运,SQLite无法同其他数据库那样删除数据库文件,即DROP DATABASE test;无效,但是我们可以直接像删除文件一样删除数据库文件,在/home/mark/database下面删除test.db文件即可。

Qt下使用SQLite

QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。

QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与各种数据库的应用编程接口进行通信。Qt的桌面版(Desktop Edition)包括如下一些驱动程序:

在Qt Creator中新建一个test项目:

main.cpp添加一下代码:

#include <QCoreApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlDriver>
#include <QtSql/QSqlQuery>
#include <QDebug>
#include <string> using namespace std; int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv); qDebug()<<"available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<driver; QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
//db.setHostName("localhost");
//db.setPort(3306); //事先创建的数据库EasyChat.db
db.setDatabaseName("/home/yangrui/projects/EasyChat/database/EasyChat.db");
db.setUserName("root");
db.setPassword("123456");
if(!db.open()){
qDebug()<<"Unable to open database";
}else{
qDebug()<<"Database connection established";
} QSqlQuery query;
query.exec("select * from User");
while(query.next())
{
QString userId = query.value("userId").toString();
qDebug()<<userId;
}
return a.exec();
}

注意: .pro文件中代码如下:

#-------------------------------------------------
#
# Project created by QtCreator 2015-11-18T11:30:07
#
#------------------------------------------------- QT += core
QT += sql
QT -= gui TARGET = SqliteTest
CONFIG += console
CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp

执行结果:

附:Sqlite基本操作语句链接

Ubuntu 15.04 安装配置 Qt + SQLite3的更多相关文章

  1. Ubuntu 15.04 安装配置Apache和mysql的方法

    前 言 上篇海面特效的博文结尾提到了SideFX开发的HQueue分布式集群,配置HQueue首先需要安装mysql,所以今天先分享一下如何在Ubuntu系统中安装mysql和Apache: Ubun ...

  2. ubuntu 15.04 安装配置 JDK1.8

    1.到oracle的官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选 ...

  3. Ubuntu 18.04 安装配置 go 语言

    Ubuntu 18.04 安装配置 go 语言 1.下载 下载 jdk 到 Downloands 文件夹下 cd 进入 /usr/local, 创建 go 文件夹, 然后 cd 进这个文件夹 cd / ...

  4. Ubuntu server16.04安装配置驱动418.87、cuda10.1、cudnn7.6.4.38、anaconda、pytorch超详细解决

    目录 安装GCC 安装NVIDIA驱动 1. 卸载原有驱动(没装跳过) 2. 禁用nouveau 3. 安装NVIDIA显卡驱动 安装CUDA10.1 安装cudnn 安装anaconda 安装ten ...

  5. Ubuntu 18.04安装配置Apache Ant

    Ubuntu 18.04安装配置Apache Ant 文章目录 Ubuntu 18.04安装配置Apache Ant 下载 执行以下命令 `/etc/profile`中配置环境变量 载入配置 测试 执 ...

  6. Ubuntu 18.04 安装配置 MySQL 5.7

    Ubuntu 18.04 安装 mysql 的过程中,竟然没有让你输入秘密?!(之前在 Ubuntu 14.04 下,安装过程中会询问密码),这导致安装完 mysql 初始秘密不知道的问题. $ su ...

  7. 【转】Ubuntu 16.04安装配置TensorFlow GPU版本

    之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...

  8. Ubuntu 15.04 安装 Nvidia Quadro系列显卡驱动

    在这之前,我用的Ubuntu都是系统自带的驱动, 由于分辨率没有任何问题, 所以一直没有安装Nvidia官方的驱动; 近期更新到 15.04 之后, 在播放avi 格式的常规视频时却出现闪烁的现象, ...

  9. Ubuntu 14.04 安装配置备忘录

    完全在 Linux 下工作,大概有3年时间了. 之前都是用 Windows, 而把 Linux 装在虚拟机里,现在反过来,把 Windows 装在了虚拟机里,只是因为偶尔还要用网银的缘故. 以我这几年 ...

随机推荐

  1. redis安装&启动

    1.下载:redis.io,我下载的是5.0. 2.安装 1).tar -zxvf redis-5.0.0 2).进入src目录,执行make 3.回退到src的上一级目录,编辑redis.conf ...

  2. Java开发笔记(九十七)利用Runnable启动线程

    前面介绍了线程的基本用法,按理说足够一般的场合使用了,只是每次开辟新线程,都得单独定义专门的线程类,着实开销不小.注意到新线程内部真正需要开发者重写的仅有run方法,其实就是一段代码块,分线程启动之后 ...

  3. JAVA的API部分介绍

    个人理解: Object作为最大的父类,里面存在不少方法,可以在API中具体的查找.比如可以帮助查看是否相同的equals方法,不过要想看具体属性是否相同需要得重写,打印.调用对象相当于调用其tost ...

  4. More than one fragment with the name [spring_web] was found. This is not legal ...

    今天在搭建springweb应用环境的时候启动tomcat报错More than one fragment with the name [spring_web] was found. This is ...

  5. 单机版mongodb

    1.下载安装包 wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz 下载完成后解压缩压缩包 tar zxf mongod ...

  6. java类及编写public类的基础点

    1.一个java文件中只能有一个public类.且公共类名称必须与java文件名一致,否则会出现错误提示.与其他面向对象编程语言的一样,在利用java分析问题时,基本思路即为将问题的属性(静)与行为( ...

  7. Garmin APP开发之布局

    上一章节介绍了garmin app开发的入门,包括garmin-sdk,开发工具的安装部署,文章结尾我们新建了我们的第一个app程序Garmin开发-入门: http://tieba.baidu.co ...

  8. u-boot剖析(一)----Makefile分析

    由于u-boot比较庞大,所以我们分开来分析,对于一个大型的项目我们想快速的了解其代码架构和内容,最方便的方法就是分析Makefile,所以我们今天以三星的s3c2440来分析Makefile.我们今 ...

  9. TCP连接建立与关闭

    http://hi.baidu.com/psorqkxcsfbbghd/item/70f3bd91943b9248f14215cd TCP连接建立与关闭 TCP 是一个面向连接的协议,无论哪一方向另一 ...

  10. cocos2d-x之CCCardinalSplineBy

    CCCardinalSplineBy概念 这个类是样条曲线动作,其创建函数CCCardinalSplineBy::create(float duration, cocos2d::CCPointArra ...