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