insert 프로그램

MySQL 2006. 11. 22. 12:49

/**************************************************************
* FileName : target.c *
* DESC : MySQL 기본 연결 *
* Compile : gcc -o target target.c -lmysqlclient \ *
* -I/usr/local/mysql/include/mysql \ *
* -L/usr/local/mysql/lib/mysql *
* Error : 실행할 때 에러가 난다면 아래 명령어를 실행 *
* bash : export LD_LIBRARY_PATH=/usr/local/lib/mysql *
* csh : setenv LD_LIBRARY_PATH /usr/local/lib/mysql *
* 실행 : ./target TableName (삽입할 개수) *
*************************************************************/

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

#define HOST "localhost"
#define USER "root"
#define PASS "test"
#define DB_NAME "test"

MYSQL_RES *result;
MYSQL_ROW row;
MYSQL mysql;

int main(int argc, char *argv[])
{
char query[1024];
int res, i, j, num;
time_t clock1, clock2;

if(argc != 4){
printf("Usage : [%s] TableName Number\n", argv[0]);
exit(1);
}
/* 수행 시간을 위해 필요 */
(void)time(&clock1);


mysql_init(&mysql);

if(!mysql_real_connect(&mysql, HOST, USER, PASS, NULL, 0, (char *)NULL, 0))
{
printf("%s\n", mysql_error(&mysql));
exit(1);
}

/* db를 선택 */
if( mysql_select_db(&mysql, DB_NAME)){
printf("%s\n", mysql_error(&mysql));
exit(1);
}

num = atoi(argv[2]);

for(i=0;i<num;i++)
{
sprintf(query, "insert into %s (userId, MailTo) values(\'ius[%d]\',\'%s\')", argv[1], i, argv[3]);

res = mysql_query(&mysql, query);

if (!res) {
// printf("Inserted %lu rows\n", (unsigned long)mysql_affected_rows(&mysql));
} else {
fprintf(stderr, "Insert error %d: %s\n", mysql_errno(&mysql), mysql_error(&mysql));
}
}


mysql_close(&mysql);
(void)time(&clock2);
printf("%d개의 자료를 성공적으로 삽입하였습니다.\n 수행 시간은 %ld 초 입니다\n", atoi(argv[2]), (long)clock2 - (long)clock1);
return 0;
}

'MySQL' 카테고리의 다른 글

MySQL 과 C 연동법  (0) 2006.11.20
Calling MySQL from C  (0) 2006.11.20
C 와 MySQL 의 연동  (0) 2006.11.20
MySQL C-API Example  (0) 2006.11.20
MySQL C API 로 unicode 데이터 insert 하기  (0) 2006.11.19
, .