Qt+MySQL:在Qt中用代碼新建數據庫

一般都是在MySQL的命令行或者workbench中建一個數據庫,然後直接用Qt對已存在的數據庫進行連接,像這樣:

    // 連接數據庫
    database_1=QSqlDatabase::addDatabase("QMYSQL","connect1");
    database_1.setHostName("localhost");             // 數據庫服務器IP。
    database_1.setUserName("root");                  // 設置數據庫用戶名
    database_1.setPassword("密碼");                  // 設置密碼
    // 設置數據庫名,使用哪個數據庫,數據庫要本來就有
    database_1.setDatabaseName("你要連接的數據庫名");       
    database_1.open();                              // 使用當前設置的連接值(就是上面設置的那些值),打開數據庫連接

如何在Qt中用代碼新建一個數據庫呢?

例:
連接MySQL後,先創建一個數據庫,再連接這個創建好的數據庫,再對這個數據庫進行操作。

    // 連接數據庫
    database_1=QSqlDatabase::addDatabase("QMYSQL","connect1");
    database_1.setHostName("localhost");     // 數據庫服務器IP。設置數據庫主機名,數據庫支持遠程連接,這裏是本地數據庫 // 127.0.01
    database_1.setUserName("root");          // 設置數據庫用戶名
    database_1.setPassword("密碼");          // 設置密碼
    database_1.open();                      // 使用當前設置的連接值(就是上面設置的那些值),打開數據庫連接
    
    // 創建數據庫,把下面的your_database1替換成你要創建的數據庫名字。
    database_1.exec("create database if not exists your_database1");

    // 連接上剛剛創建好的數據庫
    database_1.setDatabaseName("your_database1"); 
    // 必須重新調用一遍.open(),這裏不加這一句,後面就會報錯"QSqlQuery::exec: database not open"         
    database_1.open();     

	// =====然後再在這個數據庫裏創建表格之類的,下面任意發揮==========================
    query1 = QSqlQuery(database_1);
    // 創建表前先查詢表是否已存在,若存在則先刪除再創建,若不存在則創建。
    query1.exec("drop table if exists table_component_name");
    query1.exec("create table if not exists table_component_name(all_component_name varchar(30) primary key,component_type varchar(50))");



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章