Linux 아래 C 언어 연결 mysql 실례 설명

3747 단어
Linux 아래 C 언어 연결 mysql 실례 설명
첫 번째 단계:
mysql 설치, 참조://www.jb51.net/article/39190.htm
2단계:
mysql을 설치합니다.h함수 라이브러리

sudo apt-get install libmysqlclient-dev

실행하면/usr/include/MySQL 디렉터리를 볼 수 있습니다
그리고 우리의 링크를 시작합니다.
일단 제 데이터베이스를 볼게요.

mysql> show databases;
+--------------------+
| Database      |
+--------------------+
| information_schema |
| chat_room     |
| mysql       |
| mysql_shiyan    |
| performance_schema |
| sys        |
+--------------------+
6 rows in set (0.00 sec)
mysql> use chat_room;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------+
| Tables_in_chat_room |
+---------------------+
| user_message    |
+---------------------+
1 row in set (0.00 sec)
mysql> select * from user_message;
+------+-------+--------+
| ID  | name | passwd |
+------+-------+--------+
|  1 | linux | linux |
|  2 | lyt  | lyt  |
+------+-------+--------+
2 rows in set (0.00 sec)


보입니다, 저는 채팅room 데이터베이스에user메시지 이 표, 우리가 지금 해야 할 일은 이 표의 데이터를 읽는 것이다.
직접 부호

#include
#include
#include
#include

int main(void)
{
  char *sql;
  sql="SELECT * FROM user_message;";
  int res;//  sql        
  MYSQL_RES *res_ptr;//         
  MYSQL_FIELD *field;//      
  MYSQL_ROW result_row;//        
  int row,column;//          
  MYSQL *conn;//         
  int i,j;

  //       
  conn = mysql_init(NULL);

  if(conn == NULL) { //    NULL       
    printf("mysql_init failed!
"); return EXIT_FAILURE; } // //  conn ,host mysql ,user ,passwd ,database_name , conn = mysql_real_connect(conn,"localhost","lyt","","chat_room",0,NULL,0); if (conn) { printf("Connection success!
"); } else { printf("Connection failed!
"); } mysql_query(conn,"set names gbk");// 。 res = mysql_query(conn,sql);// 0 if(res) { perror("my_query"); mysql_close(conn); exit(0); } else{ // res_ptr res_ptr = mysql_store_result(conn); // , if(res_ptr) { column = mysql_num_fields(res_ptr); row = mysql_num_rows(res_ptr); printf(" %d
",row); // for(i = 0;field = mysql_fetch_field(res_ptr);i++) { printf("%10s",field->name); } puts(""); // for(i = 1;i < row+1;i++){ result_row = mysql_fetch_row(res_ptr); for(j = 0;j< column;j++) { printf("%10s",result_row[j]); } puts(""); } } } // mysql_close(conn); return 0; }

결실

gcc -o mysql a.c -L/usr/lib/mysql -lmysqlclient
./mysql 
Connection success!
  2 
    ID   name  passwd
     1   linux   linux
     2    lyt    lyt

주석을 상당히 분명하게 썼으니, 무슨 분명하지 않은 것이 있으면 나에게 메시지를 남겨도 되고, 모두 함께 공부합시다!

좋은 웹페이지 즐겨찾기