如何使用c语言来操作数据库,需要一下几个步骤:
第一:安装mysql;
第二:sudo apt-get install libmysqlclient15 -dev 安装此软件包,然后在/usr/include/mysql里可以找到mysql.h 
第三:使用emacs 将下面代码复制


ubuntu下  :  audo apt-get install libmysqlclient-dev

centos下 : yum install mysql-devel
测试代码
代码

#include <stdlib.h>
#include <stdio.h>

#include "mysql.h"

int main(int argc, char *argv[]) {
   MYSQL *conn_ptr;

   conn_ptr = mysql_init(NULL);//初始化
   if (!conn_ptr) {
      fprintf(stderr, "mysql_init failed\n");
      return EXIT_FAILURE;
   }
   
   conn_ptr = mysql_real_connect(conn_ptr, "localhost", "root", "123456","lianxi", 0, NULL, 0);//连接数据库 1则success or failed

   if (conn_ptr) {
      printf("Connection success\n");
   } else {
      printf("Connection failed\n");
   }

   mysql_close(conn_ptr);

   return EXIT_SUCCESS;
}

代码解释:

#include <mysql.h>
#include <stdio.h>


main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;


   char *server = "localhost";
   char *user = "root";
   char *password = "12345";
   char *database = "mysqltest";


    conn = mysql_init(NULL);


  
   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, "show tables")) {
      fprintf(stderr, "%s\n", 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);
}
第四 :输入这行命令编译 gcc $(mysql_config --cflags) xxx.c -o xxx $(mysql_config --libs)
第五:如果存在这样的错误,'/var/run/mysqld/mysqld.sock' (2),这需要做sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock,这一步的工作。当然每次系统重新启动之后,你都需要重新做这样一个工作,因此你可以这样来做。编写一段这样的代码如下,文件名称为mysql.sh
#!/bin/bash
sudo rm rf /var/run/mysqld
sudo mkdir /var/run/mysqld
sudo touch /var/run/mysqld mysqld.sock
sudo ln -s /opt/lampp/var/mysqld.sock /var/run/mysqld/mysqld.sock
这样系统重启之后可以不用再次链接了了。
Logo

更多推荐