HomePage >
Study >
Knowing C/C++ >
MySQL API »ç¿ëÇϱâ
MySQL API »ç¿ëÇϱâ
About
- ODBC¸¦ ÅëÇØ¼ Á¢¼ÓÇϱâ À§Çؼ´Â MySQL¿ë ODBC µå¶óÀ̹ö¸¦ ¼³Ä¡ÇØ¾ß Çϱ⠶§¹®¿¡ ¹èÆ÷¿¡ ÀÖ¾î¼ ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. ¹°·Ð ¼³Ä¡ ÇÁ·Î±×·¥°ú ÇÔ²² µå¶óÀ̹ö¸¦ ¼³Ä¡Çϵµ·Ï ¸¸µé¾î ¹èÆ÷ÇÒ ¼ö ÀÖ°ÚÁö¸¸ ³Ê¹« ¹ø°Å·Ó´Ù
- °¡Àå ÁÁÀº ¹æ¹ýÀÌ MySQL C API¸¦ »ç¿ëÇϸé Ãß°¡ÀûÀÎ ¸ðµâÀ̳ª µå¶óÀ̹ö ¼³Ä¡ ÇÊ¿ä¾øÀÌ ÇØ°á ÇÒ ¼ö ÀÖ´Ù.
- ¿ÍÆÛ Ŭ·¡½º·Î ¸¸µé¾îÁø C++¿ë ¶óÀ̺귯¸®ÀÎ mysql++µµ ÀÖÁö¸¸ VC 6.0 ȯ°æ¸¸À» Áö¿øÇÑ´Ù.
- VC 7.1·Î Æ÷ÆÃÇØº¼±î ÇÏ´Â »ý°¢À» °¡Á³Áö¸¸ STL ±â¹ÝÀÇ Çö¶õÇÑ ¼Ò½º Äڵ忡 ±×³É Æ÷±âÇß´Ù.
Code
- ¾Æ·¡ °ø½Ä ȨÆäÀÌÁö¿¡¼ MySQL¸¦ ¹Þ°Å³ª mysql++ ¶óÀ̺귯¸®¸¦ ¹ÞÀ¸¸é C API¸¦ À§ÇÑ Çì´õ ÆÄÀϰú lib, dll ÆÄÀÏÀÌ ÀÖ´Ù. ÀÌ Çì´õ ÆÄÀϰú lib ÆÄÀÏÀ» VC ÇÁ·ÎÁ§Æ®ÀÇ µð·ºÅ丮¿¡ ¼³Á¤ÇÑ´Ù.
- Á¢¼ÓÇϰíÀÚ ÇÏ´Â ¿ø°ÝÁöÀÇ MySQL ¼¹ö´Â ÇØ´ç À¯Àú¿¡ ´ëÇÑ Á¢±Ù È£½ºÆ®¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. phpMyAdminÀÇ »ç¿ë±ÇÇÑ ¸Þ´º¸¦ ÅëÇÏ¸é ½±°Ô °¡´É ÇÏ´Ù.
GRANT ALL PRIVILEGES ON `maker` . * TO 'maker'@'%' WITH GRANT OPTION
#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,"deadwi´Â ¸¶¹ý»çÀϱî?");
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;
}
VC++ Tool
- VS 2005¸¦ À§ÇÑ Ç÷¯±×Àεµ ÀÖ´Ù. À̸¦ ÀÌ¿ëÇÏ¸é ´Ù¸¥ mysql °ü¸® ÇÁ·Î±×·¥À» ½ÇÇàÇϰųª phpMyAdminµîÀ» »ç¿ëÇÒ ÇÊ¿ä¾øÀÌ VS¿¡¼ DB °ü¸®°¡ °¡´ÉÇÏ´Ù.
- ¾Æ·¡ ¼ø¼·Î ¼³Ä¡ÇÏ¸é µÈ´Ù. (´Þ¶óµµ ¹«°ü)
Link