当前位置:首页 » 编程语言 » c语言mysql数据库

c语言mysql数据库

发布时间: 2025-08-01 17:59:59

A. 用c语言如何对Mysql数据库进行操作

里的大部分代码参考了MySQL发行包里面的.c源文件,大家也可以去里面找找相关的代码,下面这段代码实现了连接到本地MySQL服务器上9tmd_bbs_utf8数据库,从数据表tbb_user中根据输入的userid取得该用户的用户名并打印输出到终端。
if defined(_WIN32) || defined(_WIN64)为了支持windows平台上的编译
#include <windows.h> #endif #include <stdio.h> #include <stdlib.h> #include "mysql.h"

我的机器上该文件在/usr/local/include/mysql下
定义MySQL数据库操作的宏,也可以不定义留着后面直接写进代码
define SELECT_QUERY "select username from tbb_user where userid = %d" int main(int argc, char **argv)char **argv 相当于 char *argv[] {

MYSQL mysql,*sock;定义数据库连接的句柄,它被用于几乎所有的MySQL函数
MYSQL_RES *res;查询结果集,结构类型
MYSQL_FIELD *fd ;包含字段信息的结构
MYSQL_ROW row ;存放一行查询结果的字符串数组
char qbuf[160];存放查询sql语句字符串
if (argc != 2) { //检查输入参数 fprintf(stderr,"usage : mysql_select <userid>\n\n"); exit(1); } mysql_init(&mysql); if (!(sock = mysql_real_connect(&mysql,"localhost","dbuser","dbpwd","9tmd_bbs_utf8",0,NULL,0))) { fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql)); perror(""); exit(1); } sprintf(qbuf,SELECT_QUERY,atoi(argv[1])); if(mysql_query(sock,qbuf)) { fprintf(stderr,"Query failed (%s)\n",mysql_error(sock)); exit(1); } if (!(res=mysql_store_result(sock))) { fprintf(stderr,"Couldn't get result from %s\n", mysql_error(sock)); exit(1); } printf("number of fields returned: %d\n",mysql_num_fields(res)); while (row = mysql_fetch_row(res)) { printf("Ther userid #%d 's username is: %s\n", atoi(argv[1]),(((row[0]==NULL)&&(!strlen(row[0]))) ? "NULL" : row[0])) ; puts( "query ok !\n" ) ; } mysql_free_result(res); mysql_close(sock); exit(0); return 0;

为了兼容大部分的编译器加入此行
}
编译的时候,使用下面的命令
gcc -o mysql_select ./mysql_select.c -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqlclient (-lz) (-lm) 后面两个选项可选,根据您的环境情况运行的时候,执行下面的命令
./mysql_select 1
将返回如下结果:
number of fields returned: 1 Ther userid #1 's username is: Michael query ok !

上面的代码我想大部分都能看明白,不明白的可以参考一下MySQL提供的有关C语言API部分文档,各个函数都有详细说明,有时间我整理一份常用的API说明出来。

B. c语言如何调用Mysql数据库文件并进行对数据库的操作呢。

MYSQL m_sqlCon;//声明
mysql_init(&m_sqlCon);//初始化
mysql_real_connect(&m_sqlCon, "127.0.0.1", abc, "root", "hibernate", atoi("3306"),NULL,0)//链接
mysql_query(&m_sqlCon, "SET NAMES GB2312"); //设置查询编码格式
res = mysql_query(&m_sqlCon,"select * from ms_sendlist where flag = 1 order by style desc");//查询
mysql_query(&m_sqlCon, sql);//插入,删除

C. 请问如何用C语言动态为数据库添加一个表

因为你提的问题,编译环境上很不明确汪兄所以我做纳桐了洞陵坦以下假设。

系统环境linux

编译器GCC

数据库mysql

(编译还需要安装mysql的接口-dev这个库)

这样的情况下只需要包含

然后做以下操作

MYSQL*mysql_init(MYSQL*mysql);//初始化mysql

MYSQL*mysql_real_connect(MYSQL*mysql,constchar*host,constchar*user,constchar*passwd,constchar*db,unsignedintport,constchar*unix_socket,unsignedlongclient_flag);//连接数据库具体参数含义请查MYSQLAPI文档

intmysql_query(MYSQL*mysql,constchar*stmt_str);//执行sql语句如果想添加表的话stmt_str赋值为"CREATETABLEXXXX"就行了

D. C语言编程MySQL中新建表的操作步骤cmysql新建表

C语言编程:MySQL中新建表的操作步骤
MySQL是一种关系型数据库管理系统,它支持多种编程语言进行操作,包括C语言。在C语言中,我们可以通过MySQL提供的API来连接数据库并进行各种操作。本文将介绍如何使用C语言编写程序,来在MySQL中新建一张表格。
步骤1:连接MySQL数据库
在C语言中,我们可以使用mysql_init()函数来初始化一个MYSQL结构体,然后使用mysql_real_connect()函数连接数据库。这里假设我们的MySQL数据库运行在本地主机上,用户名为root,密码为123456,数据库名为test。
MYSQL *conn_ptr; // 定义连接数据库用的指针
MYSQL_RES *res_ptr; // 定义结果集指针,用于保存执行SQL语句查询的结果
MYSQL_ROW sqlrow; // 定义行
int retcode; // 定义返回结果集的状态码
conn_ptr = mysql_init(NULL); // 初始化MYSQL结构体
if (!conn_ptr) {
fprintf(stderr, “mysql_init fled: %s/n”, mysql_error(conn_ptr));
return -1;
}
conn_ptr = mysql_real_connect(conn_ptr, “localhost”, “root”, “123456”, “test”, 0, NULL, 0);
if (conn_ptr) {
printf(“Connect success!/n”);
} else {
fprintf(stderr, “mysql_real_connect error: %s/n”, mysql_error(conn_ptr));
return -1;
}
步骤2:执行SQL语句
建立数据库连接之后,我们需要执行SQL语句来新建表格。下面是一个新建一张学生信息表格的SQL语句:
CREATE TABLE student_info (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL DEFAULT ‘未知’,
PRIMARY KEY (id)
);
在C语言中,我们可以使用mysql_query()函数来执行SQL语句,该函数返回0表示执行成功。
char *sql = “CREATE TABLE student_info (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT NOT NULL,gender VARCHAR(10) NOT NULL DEFAULT ‘未知’,PRIMARY KEY (id));”;
retcode = mysql_query(conn_ptr, sql);
if (retcode) {
fprintf(stderr, “mysql_query error: %s/n”, mysql_error(conn_ptr));
} else {
printf(“Create table success!/n”);
}
步骤3:关闭数据库连接
执行完SQL语句之后,我们需要关闭数据库连接,释放内存。使用mysql_close()函数可以关闭连接。
mysql_close(conn_ptr);
完整代码如下:
#include
#include
int mn() {
MYSQL *conn_ptr; // 定义连接数据库用的指针
MYSQL_RES *res_ptr; // 定义结果集指针,用于保存执行SQL语句查询的结果
MYSQL_ROW sqlrow; // 定义行
int retcode; // 定义返回结果集的状态码
conn_ptr = mysql_init(NULL); // 初始化MYSQL结构体
if (!conn_ptr) {
fprintf(stderr, “mysql_init fled: %s/n”, mysql_error(conn_ptr));
return -1;
}
conn_ptr = mysql_real_connect(conn_ptr, “localhost”, “root”, “123456”, “test”, 0, NULL, 0);
if (conn_ptr) {
printf(“Connect success!/n”);
} else {
fprintf(stderr, “mysql_real_connect error: %s/n”, mysql_error(conn_ptr));
return -1;
}
char *sql = “CREATE TABLE student_info (id INT NOT NULL AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT NOT NULL,gender VARCHAR(10) NOT NULL DEFAULT ‘未知’,PRIMARY KEY (id));”;
retcode = mysql_query(conn_ptr, sql);
if (retcode) {
fprintf(stderr, “mysql_query error: %s/n”, mysql_error(conn_ptr));
} else {
printf(“Create table success!/n”);
}
mysql_close(conn_ptr);
return 0;
}
本文介绍了如何使用C语言编写程序,来在MySQL中新建一张表格。我们通过连接MySQL数据库来进行操作,执行SQL语句来创建表格。希望对大家有所帮助。

热点内容
手机存储卡不能写入 发布:2025-08-02 14:01:11 浏览:26
weblogiclinux安装 发布:2025-08-02 13:59:41 浏览:569
vivo手机为什么不能设置锁屏密码 发布:2025-08-02 13:52:05 浏览:645
php二进制加密 发布:2025-08-02 13:51:04 浏览:282
水强行压缩 发布:2025-08-02 13:37:23 浏览:989
nginx内网访问 发布:2025-08-02 13:35:06 浏览:31
如何用解压密码解压手机文件 发布:2025-08-02 13:32:56 浏览:217
lex制作编译器 发布:2025-08-02 13:31:52 浏览:6
php把数组写入文件 发布:2025-08-02 13:25:51 浏览:282
网页升级访问狼 发布:2025-08-02 13:20:37 浏览:753