Mysql API / C/C++ 연동하기 강좌 (2. C/C++ Mysql API 알아보기)
프로그래밍 언어/C++2009. 12. 2. 16:32
MYSQL for C/API 자료형
MYSQL Database와의 연결을 관리하는 구조체입니다.
MYSQL_RES SELECT 결과를 리턴하는 query의 결과를 나타내는 자료형입니다.
MYSQL_ROW MYSQL_RES 하나의 레코드씩 값을 얻어 올때 쓰이는 자료형입니다.
MYSQL_FIELD 필드의 이름과 필드의 타입 등 필드에 관한 정보를 저장하는 자료형입니다.
// 초기화 함수
MYSQL * mysql_init(MYSQL *mysql);
mysql 구조체를 초기화해주는 함수이다. 반드시 처음 실행시 초기화를 해줘야 된다.
// 접속 및 해제 함수
MYSQL *mysql_real_connect( MYSQL *mysql, const char *host,
const char *user, const char *passwd,
const char *db, unsigned int port,
const char *unix_socket, unsigend long clinet_flag)
mysql - 현재 mysql 구조의 어드레스
host - 호스트 이름이나 ip Addr NULL 이거나 "localhost"는 로컬 호스트로 연결된것으로 본다.
user - user ID 만약 NULL이라면 unix는 현재 로그인 이름
passwd - user의 password
db - 데이터 베이스 이름 NULL이면 디폴트 DB로 설정된다.
port - 0 이 아니면 TCP/IP 연결 포트
unix_socket - NULL 이 아니면 문자열은 소켓 또는 사용했던 Named PIPE를 지정한다.
Clinet_flag - 대채로 0 정확한 기능은 관련문서 참조
mysql 서버와 connect 합니다.
void mysql_close(MYSQL *sock);
mysql 서버와 disconnect 합니다.
// 접속 후 db 관리 함수
int mysql_select_db(MYSQL *mysql, const char *db);
mysql - mysql 구조체 어드레스
db - 데이터베이스명
데이터베이스를 선택합니다. (반환 : 0이 아닌값은 에러)
int mysql_query(MYSQL *mysql, const char *q);
mysql - 구조체
q - 퀴리(질의문)
쿼리가 실행가능한 문인지 판단후 반환합니다. (반환 : 0이 아닌값은 에러)
MYSQL_RES * mysql_store_result(MYSQL *mysql);
mysql_query()로 실행한 쿼리 Result Set 을 저장 합니다.
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result);
Result Set에서 하나의 row를 배열로 가져옵니다.
void mysql_free_result(MYSQL_RES *result);
Result Set을 제거합니다. 쿼리작업을 모두 끝낸 Result Set은 반드시 free로 해제해줘야 합니다.
// 에러 메시지 함수
unsigned int mysql_errno(MYSQL *mysql);
mysql 에러Number를 리턴합니다.
const char * mysql_error(MYSQL *mysql);
mysql 에러메시지를 리턴합니다.
error ex) printf("%d error : %s\n", mysql_errno(&conn), mysql_error(&conn));
위 관련 함수 선언은 mysql.h 파일에 기제되어 있으며 기타 다른 함수들 참조시 헤당 헤더파일을 참조하면 됩니다.
다음 강좌는 전체적인 소스를 하나 간단하게 보면서 설명을 진행하도록 하겠습니다.
MYSQL Database와의 연결을 관리하는 구조체입니다.
MYSQL_RES SELECT 결과를 리턴하는 query의 결과를 나타내는 자료형입니다.
MYSQL_ROW MYSQL_RES 하나의 레코드씩 값을 얻어 올때 쓰이는 자료형입니다.
MYSQL_FIELD 필드의 이름과 필드의 타입 등 필드에 관한 정보를 저장하는 자료형입니다.
// 초기화 함수
MYSQL * mysql_init(MYSQL *mysql);
mysql 구조체를 초기화해주는 함수이다. 반드시 처음 실행시 초기화를 해줘야 된다.
// 접속 및 해제 함수
MYSQL *mysql_real_connect( MYSQL *mysql, const char *host,
const char *user, const char *passwd,
const char *db, unsigned int port,
const char *unix_socket, unsigend long clinet_flag)
mysql - 현재 mysql 구조의 어드레스
host - 호스트 이름이나 ip Addr NULL 이거나 "localhost"는 로컬 호스트로 연결된것으로 본다.
user - user ID 만약 NULL이라면 unix는 현재 로그인 이름
passwd - user의 password
db - 데이터 베이스 이름 NULL이면 디폴트 DB로 설정된다.
port - 0 이 아니면 TCP/IP 연결 포트
unix_socket - NULL 이 아니면 문자열은 소켓 또는 사용했던 Named PIPE를 지정한다.
Clinet_flag - 대채로 0 정확한 기능은 관련문서 참조
mysql 서버와 connect 합니다.
void mysql_close(MYSQL *sock);
mysql 서버와 disconnect 합니다.
// 접속 후 db 관리 함수
int mysql_select_db(MYSQL *mysql, const char *db);
mysql - mysql 구조체 어드레스
db - 데이터베이스명
데이터베이스를 선택합니다. (반환 : 0이 아닌값은 에러)
int mysql_query(MYSQL *mysql, const char *q);
mysql - 구조체
q - 퀴리(질의문)
쿼리가 실행가능한 문인지 판단후 반환합니다. (반환 : 0이 아닌값은 에러)
MYSQL_RES * mysql_store_result(MYSQL *mysql);
mysql_query()로 실행한 쿼리 Result Set 을 저장 합니다.
MYSQL_ROW mysql_fetch_row(MYSQL_RES *result);
Result Set에서 하나의 row를 배열로 가져옵니다.
void mysql_free_result(MYSQL_RES *result);
Result Set을 제거합니다. 쿼리작업을 모두 끝낸 Result Set은 반드시 free로 해제해줘야 합니다.
// 에러 메시지 함수
unsigned int mysql_errno(MYSQL *mysql);
mysql 에러Number를 리턴합니다.
const char * mysql_error(MYSQL *mysql);
mysql 에러메시지를 리턴합니다.
error ex) printf("%d error : %s\n", mysql_errno(&conn), mysql_error(&conn));
위 관련 함수 선언은 mysql.h 파일에 기제되어 있으며 기타 다른 함수들 참조시 헤당 헤더파일을 참조하면 됩니다.
다음 강좌는 전체적인 소스를 하나 간단하게 보면서 설명을 진행하도록 하겠습니다.
'프로그래밍 언어 > C++' 카테고리의 다른 글
Mysql API / C/C++ 연동하기 강좌 (6. mysql c++클래스 연동 예제 / 도서관리) (4) | 2009.12.15 |
---|---|
Mysql API / C/C++ 연동하기 강좌 (5. mysql_field_count() 깔끔한 Error처리) (0) | 2009.12.15 |
Mysql API / C/C++ 연동하기 강좌 (4. C/C++ Mysql Class 소스) (0) | 2009.12.04 |
Mysql API / C/C++ 연동하기 강좌 (3. C/C++ Mysql 테스트 Full소스) (2) | 2009.12.02 |
Mysql API / C/C++ 연동하기 강좌 (1. mysql 설치 및 Visual Studio 환경설정) (0) | 2009.12.01 |