一般都是在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))");