c++连接数据库实现增删改查的代码
时间: 2023-09-24 07:14:08 浏览: 98
下面是一个使用C++连接MySQL数据库并实现增删改查的示例代码:
```c++
#include <iostream>
#include <mysql.h>
#include <string>
using namespace std;
int main()
{
MYSQL *conn; // MySQL连接
MYSQL_RES *res; // MySQL查询结果集
MYSQL_ROW row; // MySQL查询结果行
// 初始化MySQL连接
conn = mysql_init(NULL);
// 连接MySQL数据库
if (!mysql_real_connect(conn, "localhost", "username", "password", "database", 0, NULL, 0))
{
cout << "Error: " << mysql_error(conn) << endl;
return 1;
}
// 设置MySQL字符集
mysql_set_character_set(conn, "utf8");
// 插入数据
string insert_sql = "INSERT INTO students (id, name, age) VALUES ('001', 'Tom', 18)";
if (mysql_query(conn, insert_sql.c_str()) != 0)
{
cout << "Error: " << mysql_error(conn) << endl;
return 1;
}
cout << "Insert success!" << endl;
// 查询数据
string select_sql = "SELECT * FROM students";
if (mysql_query(conn, select_sql.c_str()) != 0)
{
cout << "Error: " << mysql_error(conn) << endl;
return 1;
}
res = mysql_use_result(conn);
cout << "ID\tName\tAge" << endl;
while ((row = mysql_fetch_row(res)) != NULL)
{
cout << row[0] << "\t" << row[1] << "\t" << row[2] << endl;
}
mysql_free_result(res);
// 更新数据
string update_sql = "UPDATE students SET age = 20 WHERE id = '001'";
if (mysql_query(conn, update_sql.c_str()) != 0)
{
cout << "Error: " << mysql_error(conn) << endl;
return 1;
}
cout << "Update success!" << endl;
// 删除数据
string delete_sql = "DELETE FROM students WHERE id = '001'";
if (mysql_query(conn, delete_sql.c_str()) != 0)
{
cout << "Error: " << mysql_error(conn) << endl;
return 1;
}
cout << "Delete success!" << endl;
// 关闭MySQL连接
mysql_close(conn);
return 0;
}
```
在上面的示例代码中,我们连接了一个名为 `database` 的MySQL数据库,其中包含一个名为 `students` 的表,表中包含 `id`、`name` 和 `age` 三个字段。我们使用了 `mysql_real_connect()` 函数来连接MySQL数据库,并且使用了 `mysql_query()` 函数来执行SQL语句。
在示例代码中,我们实现了插入数据、查询数据、更新数据和删除数据四个操作,分别对应了SQL语句中的 INSERT、SELECT、UPDATE 和 DELETE 命令。同时,我们使用了 `mysql_fetch_row()` 函数来获取查询结果集中的每一行数据,并输出给用户。
阅读全文