日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Qt SQL 学习笔记二:qt建立数据库,创建和操纵表

發布時間:2023/12/10 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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建立数据库,创建和操纵表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。