c语言mysql同时创建多个表并插入数据
时间: 2023-11-26 13:03:49 浏览: 85
要使用 C 语言操作 MySQL 数据库,需要使用 MySQL C API 库。下面是一个简单的示例代码,可以同时创建多个表并插入数据。
```c
#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = "password"; // 替换为你自己的 MySQL root 用户密码
char *database = "test";
conn = mysql_init(NULL);
// 连接 MySQL 数据库
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
// 创建多个表并插入数据
if (mysql_query(conn, "CREATE TABLE table1 (id INT, name VARCHAR(20))") != 0) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "INSERT INTO table1 VALUES (1, 'John')") != 0) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "CREATE TABLE table2 (id INT, name VARCHAR(20))") != 0) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "INSERT INTO table2 VALUES (2, 'Mary')") != 0) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
// 查询数据
if (mysql_query(conn, "SELECT * FROM table1")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
printf("table1:\n");
while ((row = mysql_fetch_row(res)) != NULL) {
printf("%s %s\n", row[0], row[1]);
}
mysql_free_result(res);
if (mysql_query(conn, "SELECT * FROM table2")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
printf("table2:\n");
while ((row = mysql_fetch_row(res)) != NULL) {
printf("%s %s\n", row[0], row[1]);
}
mysql_free_result(res);
mysql_close(conn);
return 0;
}
```
这个例子中创建了两个表,分别为 `table1` 和 `table2`,并向每个表中插入了一条数据。然后查询了这两张表中的数据。在实际使用中,需要根据自己的需求进行修改。
阅读全文