Qt SQL 学习笔记二:qt建立数据库,创建和操纵表
qt工程配置
Qt5中使用sql相關功能,需要在工程文件導入sql模塊:
QT += sql頭文件引入SQL模塊類定義
#include <QSqlQuery> #include <QSqlDatabase> #include <QSqlError>創建數據庫
qDebug()<<QSqlDatabase::drivers(); QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("testDB.db"); db.setUserName("root"); db.setPassword("123456");上述第一行代碼查看支持的數據庫類型如下:
("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
后面幾行表示創建一個名為testDB.db的SQLITE數據庫,如果這個數據庫不存在,則創建;數據庫存在,后續的數據庫操作在已有的數據庫上進行。并設置數據庫用戶名為“root”,密碼“123456”。
創建表
- 新表的名字,在關鍵字CREATE TABLE之后給出;
- 新表中,列的名字和定義用逗號隔開。
下面代碼用來實現創建名為Customers的表。
bool isOk = db.open();if(!isOk){qDebug()<<"error info :"<<db.lastError();}else{QSqlQuery query;QString creatTableStr = "CREATE TABLE Customers \( \cust_id char(10) NOT NULL , \cust_name char(50) NOT NULL , \cust_address char(50) NULL , \cust_city char(50) NULL , \cust_state char(5) NULL , \cust_zip char(10) NULL , \cust_country char(50) NULL , \cust_contact char(50) NULL , \cust_email char(255) NULL \);";query.prepare(creatTableStr);if(!query.exec()){qDebug()<<"query error :"<<query.lastError();}else{qDebug()<<"creat table success!";}}db.close();操作數據庫之前,先要打開數據庫,打開成功后才能執行相關數據庫操作,完成后,最好關閉數據庫。
操作數據庫需要用到QSqlQuery類,操作前必須定義一個對象。對數據庫的操作,都是通過執行SQLite的語句完成的。
創建表格語句:CREATE TABLE <table_name> (f1 type1, f2 type2,…);
從上述代碼可以看到,表明Customers緊跟在關鍵字CREATE TABLE之后。表的定義在圓括號之中,各列之間用逗號分隔,總共有9列。每個表列有NULL和NOT NULL兩種模式。允許NULL值的列允許插入時不給出該列的值,反之,NOT NULL列必須有值。注意不要把NULL值和空字符串相混淆,空字符串是一個有效的值。
最后,用DB Browser for SQLite工具打開創建的testDB.db數據庫,數據庫表的結構如下圖:
?
總結
以上是生活随笔為你收集整理的Qt SQL 学习笔记二:qt建立数据库,创建和操纵表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux基于域的虚拟目录,RHELAS
- 下一篇: 二进制包 mysql_二进制包安装MyS