精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Qt學習筆記之數據庫結構設計1

jf_78858299 ? 來源:紛紜雜談 ? 作者:CY_CHEN ? 2023-02-17 11:25 ? 次閱讀

一、數據庫

1、數據庫概述

2、數據庫操作語句

二、Qt SQL簡介

1、 Qt SQL對數據庫支持

2、SQLite數據庫初識

3、 Qt SQL模塊數據庫類接口

**一、數據庫

**

1、概述

數據庫也是應用程序的重要部分,一個完整的應用程序幾乎都包含數據庫。

當前主流的數據庫有DB2、MYSQL、OCI、ODBC、SQLITE、TDS、Oracle。

Sqlite是一款輕型的數據庫,它的設計目標是嵌入式,方便我們使用。

2、數據庫操作語句

語句:

SELECT * FROM menu WHERE id>20

INSERT INTO menu VALUES(102, HELLO)

DELETE FROM menu WHERE name="wj"

UPDATE menu SET name="weijie"

二、Qt SQL簡介

1、Qt SQL對數據庫支持

在Qt中,Qt為SQL數據庫提供支持的基本模塊。Qt SQL的API分為不同的層:

·驅動層

·SQL API層

·用戶接口層

(1)驅動層

對于Qt是基于C++來實現的框架,該層主要包括QSqlDriver,QSqlDriverCreator,QSqlDriverCreatorBase,QSqlDriverPlugin,and QSqlResult。這一層提供了特定數據庫和SQL API層之間的底層橋梁。

(2)SQL API層

對于SQL API層提供了數據庫的訪問相關類,其中,QSqlDatabase類進行連接,QSqlQuery可以完成與數據庫的交互。除此之外,還提供了QSqlError,QSqlField,QSqlIndex,and SQqlRecord類。

(3)用戶接口層

用戶接口層的幾個類實現了將數據庫中的數據鏈接到窗口部件上,這些類是使用模型/視圖框架實現的,他們是更高層次的抽象,主要包括QSqlQueryModel,QSqlTableModel,and QSqlRelationTableModel。

2、SQLite數據庫初識

對于數據庫操作流程主要分為:

第一步:在項目管理文件(.pro)中,增加數據庫模塊

QT += core gui sql

第二步:查看Qt對數據庫的驅動的類型的支持

QStringList drivers = QSqlDatabase::drivers();//獲取到qt中所支持的數據庫驅動類型


foreach(QString driver,drivers)
{
    qDebug() << driver;
}

第三步:連接和打開數據庫

db = QSqlDatabase::addDatabase("QSQLITE");  //QSQLITE----他來告訴系統,連接的數據庫是sqlite3數據庫
                                                //連接成功,返回一個數據庫對象(QSqlDatabase)
    db.setDatabaseName("test.db");    //設置數據庫名,數據庫文件后綴為.db
    db.setUserName("admin");          //設置數據庫用戶名
    db.setPassword("admin");          //設置數據庫密碼
    //如果想要進一步操作數據庫,那么就必須進行數據庫打開操作
    if (!db.open())
    {
        qDebug()<<"Error failed to open" <<db.lastError();
        return false;
    }
    else
    {
        qDebug() << "open success";
    }

第四步:訪問數據庫

訪問數據庫的操作主要包括:

(1)創建表;

(2)向數據庫表中插入數據;

(3)刪除數據;

(4)更新數據;

(5)查詢數據。

對于數據庫中的表,通常只需要創建一次,而其他的操作是可以重復。

(1)創建表

QSqlQuery query;//在創建該對象時,系統會自動完成跟數據庫的關聯
//定義一個創建表的sql語句    表名:staff    表中的字段:id    name    age
QString sqlCreate = "create table staff(id integer primary key autoincrement,"
                        "name varchar(20),"
                        "age int);";
query.exec(sqlCreate);

使用圖形化工具查看的程序結果:

圖片

(2)向數據庫表中插入數據

插入操作語法:

INSERT INTO TABLE_NAME(column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN)

INSERT INTO ------關鍵字

TABLE_NAME ------表名

VALUES -------關鍵字

插入數據操作實例:

//插入操作
QString sqlInset = QString("insert into staff(name,age) values('張三',20);");
if(!query.exec(sqlInset))
{
    qDebug() << "insert data error" << db.lastError();
}

(3)刪除數據

數據庫刪除操作:

基本語法:

DELETE FROM table_name WHERE [condition]

DELETE FROM ---- 關鍵字

table_name ---- 表名

WHERE ---- 條件的關鍵字

[condition] ---- 條件表達式

刪除數據操作實例

//刪除操作
QString sqlDelete = QString("DELETE FROM staff where id = 2;");
if(!query.exec(sqlDelete))
{
    qDebug() << "delete data error" << db.lastError();
}

(4)更新數據

數據庫更新操作:

基本語法:

UPDATE table_name SET column1 = value1, column2 = value2,...,column = valueN WHERE [condition];

UPDATE ---- 關鍵字

Table_name ----表名

SET -----關鍵字

column1 = value1 ------- 要修改的字段名和所對應的值

WHERE ----- 條件的關鍵字

[condition] --- 條件表達式

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5068

    文章

    19021

    瀏覽量

    303322
  • 數據庫
    +關注

    關注

    7

    文章

    3766

    瀏覽量

    64276
  • MySQL
    +關注

    關注

    1

    文章

    802

    瀏覽量

    26445
收藏 人收藏

    評論

    相關推薦

    數據庫系統是什么?數據庫系統概念數據庫設計資料免費下載

      什么是概念結構設計1.將需求分析得到的用戶需求抽象為信息結構即概念模型的過程就是概念結構設計2.概念結構是各種
    發表于 09-07 14:34 ?1次下載
    <b class='flag-5'>數據庫</b>系統是什么?<b class='flag-5'>數據庫</b>系統概念<b class='flag-5'>之</b><b class='flag-5'>數據庫</b>設計資料免費下載

    如何進行數據庫設計?數據庫設計介紹和需求分析及結構設計資料概述

    數據庫設計的任務是指根據需求研制數據庫結構并應用 數據庫的過程。數據庫設計內容包括數據庫
    發表于 09-13 17:05 ?0次下載
    如何進行<b class='flag-5'>數據庫</b>設計?<b class='flag-5'>數據庫</b>設計介紹和需求分析及<b class='flag-5'>結構設計</b>資料概述

    如何使用PowerDesigner進行數據庫靜態結構設計?詳細資料概述

    把用戶需求抽象為概念模型即為概念結構設計。 概念模型除了要求能反映客觀世界并且易于理解外,還要求其易于向數據模型(如關系模型)轉化。 概念模型獨立于具體的數據庫系統,是整個數據庫
    發表于 09-13 17:05 ?0次下載
    如何使用PowerDesigner進行<b class='flag-5'>數據庫</b>靜態<b class='flag-5'>結構設計</b>?詳細資料概述

    數據庫靜態結構如何設計?詳細資料任務和方法說明

    任務:實現數據庫設計新奧爾良方法中概念結構設計和邏輯結構設計
    發表于 09-27 15:32 ?1次下載
    <b class='flag-5'>數據庫</b>靜態<b class='flag-5'>結構</b>如何設計?詳細資料任務和方法說明

    數據庫教程之如何進行數據庫設計

    本文檔的主要內容詳細介紹的是數據庫教程之如何進行數據庫設計內容包括了:1 數據庫設計概述 ,2 數據庫需求分析 ,3
    發表于 10-19 10:41 ?21次下載
    <b class='flag-5'>數據庫</b>教程之如何進行<b class='flag-5'>數據庫</b>設計

    數據庫設計的七大知識點總結詳細資料免費下載

    本文檔的主要內容詳細介紹的是數據庫設計的七大知識點總結包括了:1 數據庫設計概述2 需求分析3 概念結構設計4 邏輯結構設計5
    發表于 10-19 10:41 ?0次下載
    <b class='flag-5'>數據庫</b>設計的七大知識點總結詳細資料免費下載

    數據庫學習入門資料如何進行數據庫設計

    本文檔的主要內容詳細介紹的是數據庫學習入門資料如何進行數據庫設計主要內容包括了:數據庫系統設計的1
    發表于 10-25 16:29 ?14次下載
    <b class='flag-5'>數據庫</b><b class='flag-5'>學習</b>入門資料<b class='flag-5'>之</b>如何進行<b class='flag-5'>數據庫</b>設計

    數據庫學習入門資料數據庫的概念結構詳細資料概述

    什么是概念結構設計 將需求分析得到的用戶需求抽象為信息結構即概念模型的過程就是概念結構設計 概念結構是各種數據模型的共同基礎,它比
    發表于 10-25 16:29 ?0次下載
    <b class='flag-5'>數據庫</b><b class='flag-5'>學習</b>入門資料<b class='flag-5'>之</b><b class='flag-5'>數據庫</b>的概念<b class='flag-5'>結構</b>詳細資料概述

    數據庫概念結構是如何設計的概念結構設計資料概述

    本文檔的主要內容詳細介紹的是數據庫概念結構是如何設計的概念結構設計資料概述主要內容包括了:1 概念結構2 概念
    發表于 10-26 11:49 ?22次下載
    <b class='flag-5'>數據庫</b>概念<b class='flag-5'>結構</b>是如何設計的概念<b class='flag-5'>結構設計</b>資料概述

    數據庫的設計概念總結

    本文檔的主要內容詳細介紹的是數據庫的設計概念總結主要內容包括了:1.數據庫設計概述,2.需求分析,3.概念結構設計,4.邏輯結構設計,5.
    發表于 01-09 17:29 ?13次下載
    <b class='flag-5'>數據庫</b>的設計概念總結

    數據庫設計開發案例教程之數據庫設計的資料介紹

    本文檔的主要內容詳細介紹的是數據庫設計開發案例教程之數據庫設計的資料介紹主要內容包括了:1 數據庫設計概述,2 需求分析,3 概念結構設計
    發表于 01-11 11:20 ?17次下載
    <b class='flag-5'>數據庫</b>設計開發案例教程之<b class='flag-5'>數據庫</b>設計的資料介紹

    Qt學習筆記數據庫結構設計2

    數據庫也是應用程序的重要部分,一個完整的應用程序幾乎都包含數據庫。 當前主流的數據庫有DB2、MYSQL、OCI、ODBC、SQLITE、TDS、Oracle。 Sqlite是一款輕型的
    的頭像 發表于 02-17 11:25 ?522次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數據庫</b><b class='flag-5'>結構設計</b>2

    Qt學習筆記數據庫結構設計5

    Qt中,Qt為SQL數據庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅動層 ·SQL API層 ·用戶接口層
    的頭像 發表于 02-17 13:56 ?780次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數據庫</b><b class='flag-5'>結構設計</b>5

    Qt學習筆記數據庫結構設計6

    Qt中,Qt為SQL數據庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅動層 ·SQL API層 ·用戶接口層
    的頭像 發表于 02-17 13:57 ?501次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數據庫</b><b class='flag-5'>結構設計</b>6

    Qt學習筆記數據庫結構設計7

    Qt中,Qt為SQL數據庫提供支持的基本模塊。Qt SQL的API分為不同的層: ·驅動層 ·SQL API層 ·用戶接口層
    的頭像 發表于 02-17 13:57 ?520次閱讀
    <b class='flag-5'>Qt</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>數據庫</b><b class='flag-5'>結構設計</b>7