
MySQL공식 홈페이지에서 C언어 API자료형을 알려준다(참고)
MySQL 8.0 C API Developer Guide
mysql_init(MYSQL *mysql)은 mysql_real_connect()를 위하여 MYSQL 객체를 초기화해준다.mysql_real_connect()는 실행되는 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,
unsigned long client_flag)
- host에 지정된 서버로 연결을 시도하는 함수이다.
- mysql : MYSQL 변수에 대한 포인터 형이다.
- host : 연결하고자 하는 서버의 IP Address 혹은 도메인 이름을 적어주면 된다. NULL로 적어주면 localhost를 의미한다.
- user : 접속시의 사용자 이름이다. NULL이면 현재 login한 user ID가 된다.
- passwd : user의 암호를 나타낸다. NULL이면 암호가 없다는 의미
- db : 접속시에 사용하고자 하는 database를 나타낸다. NULL로 지정을 하면 연결 후에
mysql_select_db() 혹은 mysql_query()를 이용해서 지정할 수 있고, database를 바꿀 수도 있다.
- port : TCP/IP 연결시에 사용할 포트 번호를 나타낸다.
- unix_socket : 보통 NULL로 하면된다.
- client_flag : 이 인자도 보통 0으로 해주면 된다.
mysql_close(MYSQL* mysql)는 서버와 연결을 끊고 할당되었던 메모리를 해제한다.mysql_query(MYSQL *mysql, const char *stmt_str)는 NULL 종료 문자열 stmt_str이 가리키는 SQL 문을 실행한다. 일반적으로 문자열은 종료 세미콜론(;) 또는 \g 없이 단일 SQL 문으로 구성되어야 한다. 다중 문 실행이 활성화된 경우 문자열에는 세미콜론(;)으로 구분된 여러 문이 포함될 수 있다. 명령문이 결과 세트를 반환하는지 확인하려면 mysql_field_count()를 호출한다.mysql_store_result(MYSQL *mysql)는 query의 결과로 리턴되는 ROW들을 한꺼번에 얻어온다.mysql_fetch_row(MYSQL_ROW *result)는 result에 있는 ROW들에서 한 개의 ROW를 얻어 온다.