1. MySQL API를 이용한 예제 (TEST CODE)
※ MySQL API를 이용할 경우 이점
- Windows의 경우 ODBC를 설치하지 않고도 MySQL를 사용할 수 있다.
- Linux나 Unix 환경처럼 ODBC와 같은 범용 데이터베이스 연결 컨트롤을 사용할 수 없는 경우에도 사용가능하다.
#define SOCKET int
#include <mysql.h>
#include <string.h>
#include <stdio.h>
#pragma comment(lib, "libmySQL.lib")
#define DB_HOST "도메인 또는 IP"
#define DB_USER "유저명"
#define DB_PASS "암호"
#define DB_NAME "DB명"
#define SQL_CREATE_TABLE "CREATE TABLE `mysql_api_test` (\
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,\
`num` INT NULL ,\
`string` VARCHAR( 20 ) NULL \
) TYPE = MYISAM ;" //"
#define SQL_INSERT_RECORD "INSERT INTO `mysql_api_test` ( `id` , `num` , `string` ) \
VALUES (\
NULL , '%d', '%s'\
);" //"
#define SQL_SELECT_RECORD "SELECT * FROM `mysql_api_test`"
#define SQL_DROP_TABLE "DROP TABLE `mysql_api_test`"
int main()
{
MYSQL *connection=NULL, conn;
MYSQL_RES *sql_result;
MYSQL_ROW sql_row;
int query_stat;
char query[255];
mysql_init(&conn);
// DB 연결
connection = mysql_real_connect(&conn, DB_HOST,
DB_USER, DB_PASS,DB_NAME, 3306,(char *)NULL, 0);
if(connection==NULL)
{
fprintf(stderr, "Mysql connection error : %s", mysql_error(&conn));
return 1;
}
// 테이블 생성
query_stat=mysql_query(connection,SQL_CREATE_TABLE);
if (query_stat != 0)
{
fprintf(stderr, "Mysql query error : %s", mysql_error(&conn));
return 1;
}
// 레코드 삽입
for(int i=0;i<5;i++)
{
sprintf(query,SQL_INSERT_RECORD,100+i,"realmind는 마법사일까?");
query_stat = mysql_query(connection, query);
if (query_stat != 0)
{
fprintf(stderr, "Mysql query error : %s", mysql_error(&conn));
return 1;
}
}
// 셀렉트
query_stat=mysql_query(connection,SQL_SELECT_RECORD);
if (query_stat != 0)
{
fprintf(stderr, "Mysql query error : %s", mysql_error(&conn));
return 1;
}
// 결과 출력
sql_result=mysql_store_result(connection);
while((sql_row=mysql_fetch_row(sql_result))!=NULL)
{
printf("%2s %2s %s\n",sql_row[0],sql_row[1],sql_row[2]);
}
mysql_free_result(sql_result);
// 테이블 삭제
query_stat=mysql_query(connection,SQL_DROP_TABLE);
if (query_stat != 0)
{
fprintf(stderr, "Mysql query error : %s", mysql_error(&conn));
return 1;
}
// DB 연결 닫기
mysql_close(connection);
return 0;
}※ MySQL API를 이용할 경우 이점
- Windows의 경우 ODBC를 설치하지 않고도 MySQL를 사용할 수 있다.
- Linux나 Unix 환경처럼 ODBC와 같은 범용 데이터베이스 연결 컨트롤을 사용할 수 없는 경우에도 사용가능하다.
