最近需要在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. 040 Combination Sum II 组合总和 II

    给定候选号码数组 (C) 和目标总和数 (T),找出 C 中候选号码总和为 T 的所有唯一组合.C 中的每个数字只能在组合中使用一次.注意:    所有数字(包括目标)都是正整数.    解决方案集不 ...

  2. 048 Rotate Image 旋转图像

    给定一个 n × n 的二维矩阵表示一个图像.将图像旋转 90 度(顺时针).注意:你必须在原矩阵中旋转图像,请不要使用另一个矩阵来旋转图像.例 1:给出的输入矩阵 = [  [1,2,3],  [4 ...

  3. sql server replace函数巧妙完成字符串联结

    示例一: 需求:将'1,2,3,4,5,6,7,8,9,10'转成:'1','2','3','4','5','6','7','8','9','10' ),) set @s='1,2,3,4,5,6,7 ...

  4. Unity3d Attribute 总结(转)

      举两个例子,在变量上使用[SerializeFiled]属性,可以强制让变量进行序列化,可以在Unity的Editor上进行赋值. 在Class上使用[RequireComponent]属性,就会 ...

  5. 在写fegin客户端的时候无法继承接口

    仔细查看fegin是不是写成类了,要接口才行

  6. 1979 第K个数

    1979 第K个数 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 黄金 Gold         题目描述 Description 给定一个长度为N(0<n<=10000) ...

  7. 【复习笔记】HTML基础

    编码 HTML LANG标注整体文档语言 常用编码:ASCII.GB2312.UTF-8 中文编码解决: 1.浏览器要用一个编码表去看你的文件<meta charset="utf-8& ...

  8. PADS 9.5封装向导 多一个管脚

    使用PADS 9.5封装向导(Decal Wizard)建立封装(Decals) 时遇到封装的中间多了一个管脚,如图红圈位置,通过一番搜寻,才知道这是热焊盘,不需要就在右边的红圈处去掉勾选热焊盘即可.

  9. python3操作excel01(对excel的基础操作)

    #!/usr/bin/env python# -*- coding:UTF-8 -*- import requestsfrom bs4 import BeautifulSoupfrom bs4 imp ...

  10. HDU 4055 The King’s Ups and Downs(DP计数)

    题意: 国王的士兵有n个,每个人的身高都不同,国王要将他们排列,必须一高一矮间隔进行,即其中的一个人必须同时高于(或低于)左边和右边.问可能的排列数.例子有1千个,但是最多只算到20个士兵,并且20个 ...