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))");



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