Linux下C语言和Mysql数据库
#include <stdlib.h>
#include <stdio.h>
#include <mysql/mysql.h> // 要把MySQL头文件設置好
int main(int argc, char *argv[]) {
int t, r;
char *query;
MYSQL *conn_ptr;
MYSQL_RES *res;
MYSQL_ROW row;
// 初始化一个类型为MYSQL的数据结构
conn_ptr = mysql_init(NULL);
if (!conn_ptr) {
fprintf(stderr, "mysql_init failed\n");
return EXIT_FAILURE;
}
// 与MySQL数据库引擎建立连接。
conn_ptr = mysql_real_connect(conn_ptr, "localhost", "root", "root",
"test", 0, NULL, 0);
if (conn_ptr) {
printf("Connection success\n");
}
else {
printf("Connection failed\n");
}
//query = "delete from stu where name = 'c'";
//t=mysql_real_query(conn_ptr,query, (unsigned int)strlen(query) );
query = "select * from stu";
// 执行query字符串中的SQL语句
t = mysql_real_query(conn_ptr, query, (unsigned int)strlen(query) );
if (t)
{
printf("Error making query: %s\n", mysql_error(conn_ptr));
}
else
{
printf("Query made...\n");
}
// 获取语句执行的返回结果。
res=mysql_use_result(conn_ptr);
for(r = 0; r <= mysql_field_count(conn_ptr); r++)
{
// 取回结果集中的下一条记录 。
row = mysql_fetch_row(res);
if(row < 0)
break;
// 获得一条记录中的各个字段
for(t = 0; t < mysql_num_fields(res); t++)
{
printf("%s ",row[t]);
}
printf("\n");
}
mysql_close(conn_ptr);
return 0;
}
// 用以下命令使用 GCC 编译 这个 C源文件.(linux系统要安装GCC和 MySQL嵌入式开发包)
// gcc -o C_MySQL_o -g C_MySQL.c -lmysqlclient