要让C语言连接SQL数据库,你需要使用特定的数据库连接库。对于MySQL,你可以使用MySQL Connector/C库。
以下是一个简单的C程序的示例,该程序通过MySQL Connector/C库连接到一个运行的MySQL服务器:
注意:下面这段C语句代码示例是连接本地SQL数据库的,如果是连接华为云的SQL数据库,需要修改对应的数据库地址、用户名和密码。
#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "root";
char *password = "password"; /* 此处为你的密码*/
char *database = "mysql";
conn = mysql_init(NULL);
/* 连接数据库 */
if (!mysql_real_connect(conn, server, user, password,
database, 0, NULL, 0)) {
fprintf(stderr, "%sn", mysql_error(conn));
exit(1);
}
/* 发送SQL查询 */
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%sn", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
/* 输出表名 */
printf("MySQL Tables in mysql database:n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s n", row[0]);
/* 关闭连接 */
mysql_free_result(res);
mysql_close(conn);
return 0;
}
要编译程序,你需要链接到MySQL Connector/C库。这个链接选项取决于你的操作系统和编译器。通常情况下,你可以使用 -lmysqlclient 。
例如:
gcc `mysql_config --cflags --libs` your_program.c -o your_program
运行这个命令将生成一个可执行程序,名为 your_program . 这个程序连接到你的MySQL服务器,列出所有MySQL数据库中的表。
这只是一个基本的示例。你可以增加错误处理代码,更复杂的查询,等等。 查看MySQL Connector/C库的文档以获得更多信息。
注:华为云上的SQL数据库,默认情况下,是不开放公网访问的,建议在本地电脑上或者服务器上安装代理工具(如proxifier或者sshuttle等),使用ssh的Dynamics Port Forwarding功能实现。
对于如何连接华为云数据库,你需要知道数据库的地址、端口、名称、用户名和密码,具体信息可以在华为云的网站上查询。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/173283.html