가식적인 놈의 하나뿐인 공간

외로움..? 그건 단지 너를 만나기 위한 기다림.. app@tistory.com

블로그 이미지

VC 로 MYSQL 연결하기 : 2. MYSQL 함수의 개요

Programming/Database 2009. 5. 6. 20:06

글을 다 날려서 다시 적는다. !!  (2009-05-06에 날림) 

2008/01/03 xx:xx   원본보기  


MySQL C API를 이용해서 MySQL 서버에 접속해보자.   ( MySQL 5.0 )

MySQL C API 란 .. ?

 MySQL C API는  MySQL 팀이 개발했기 때문에 가장 광범위하게 쓰이며 , 다른 API의 기초가 된다.

 
- MySQL 5.0 한글 메뉴얼 참고.
  1. MySQL 설치하기 
  2. MySQL 함수의 개요 
  3. MySQL 계정 추가하기 
  4. MySQL , VC 로 접속하기


2. C API 개요
 - 참고 : MYSQL 5.0 한글 메뉴얼 ( 링크 )

2 - 1. 함수 소개

함수 개요 보기..

함수

설명

mysql_affected_rows()

마지막 UPDATE, DELETE, 또는 INSERT 쿼리에 의해 변경, 삭제, 삽입된 로우들의 숫자로 리턴

mysql_autocommit()

자동수행(autocommit) 모드 on/off를 전환한다.

mysql_change_user()

공개된 커넥션에서 사용자와 데이터베이스 변경.

mysql_close()

서버 연결을 종료.

mysql_commit()

트랜잭션을 수행.

mysql_connect()

MySQL 서버를 연결. 이 함수는 무시된다; 대신 mysql_real_connect() 함수 사용.

mysql_create_db()

데이터베이스를 생성. 이 함수는 무시된다; 대신에 SQL 문 CREATE DATABASE 을 사용.

mysql_data_seek()

쿼리 결과 세트에서 임의의 로우 숫자를 찾는다.

mysql_debug()

주어진 문자열로 DBUG_PUSH 한다.

mysql_drop_db()

데이터베이스를 드롭한다. 이 함수는 무시된다; 대신에 SQL문  DROP DATABASE 을 사용.

mysql_dump_debug_info()

서버가 로그에 디버그 정보를 쓰게 만든다.

mysql_eof()

결과 셋의 마지막 로우가 읽혀지는지 여부를 결정한다. 이 기능은 무시된다; mysql_errno() 또는 mysql_error() 함수가 대신 사용된다.

mysql_errno()

가장 최근에 호출된 MySQL 함수의 에러 숫자를 리턴한다.

mysql_error()

가장 최근에 호출된 MySQL 함수의 에러 메시지를 리턴한다.

mysql_escape_string()

SQL 문에 사용하는 경우 문자열에서 스페셜 문자(캐릭터)를 중단한다.

mysql_fetch_field()

다음 테이블 필드의 타입을 리턴한다.

mysql_fetch_field_direct()

필드 숫자가 주어진 테이블 필드의 타입을 리턴한다.

mysql_fetch_fields()

모든 필드 구조의 배열을 리턴한다.

mysql_fetch_lengths()

현재 로우에서 모든 컬럼의 길이를 리턴한다.

mysql_fetch_row()

결과 셋에서 그 다음 로우를 호출한다.

mysql_field_seek()

컬럼 커서를 지정된 컬럼에 넣는다.

mysql_field_count()

가장 최근 명령문의 경우 결과 컬럼의 수를 리턴한다.

mysql_field_tell()

마지막 mysql_fetch_field()함수에 사용된 필드 커서의 포지션을 리턴한다.

mysql_free_result()

결과 셋이 사용한 메모리를 제거한다.

mysql_get_client_info()

문자열로써 클라이언트 버전 정보를 리턴한다.

mysql_get_client_version()

정수로써 클라이언트 버전 정보를 리턴한다.

mysql_get_host_info()

커넥션을 설명한 문자열을 리턴한다.

mysql_get_server_version()

정수로써 서버의 버전 숫자를 리턴한다.

mysql_get_proto_info()

연결에 사용된 프로토콜 버전을 리턴한다.

mysql_get_server_info()

서버 버전 숫자를 리턴한다.

mysql_info()

가장 최근에 실행된 쿼리에 관한 정보를 리턴한다.

mysql_init()

MYSQL 구조를 획득하거나 초기화하다.

mysql_insert_id()

AUTO_INCREMENT 컬럼에 이전 쿼리에 의해 발생한 ID를 리턴한다.

mysql_kill()

주어진 쓰레드를 끄다(죽이다).

mysql_library_end()

MySQL C API 라이브러리는 끝내다.

mysql_library_init()

MySQL C API 라이브러리를 초기화하다.

mysql_list_dbs()

간단한 수식에 맞는 데이터베이스 이름을 리턴한다.

mysql_list_fields()

간단한 수식에 맞는 필드 이름을 리턴한다.

mysql_list_processes()

현재 서버 쓰레드의 목록을 리턴한다.

mysql_list_tables()

간단한 수식에 맞는 테이블 이름을 리턴한다.

mysql_more_results()

더 많은 결과가 있는지 체크한다.

mysql_next_result()

멀티-명령문 실행에서 그 다음 결과를 리턴한다/초기화한다.

mysql_num_fields()

결과 셋에서 컬럼의 숫자를 리턴한다.

mysql_num_rows()

결과 셋에서 로우의 숫자를 리턴한다.

mysql_options()

mysql_connect()함수의 경우 연결 옵션을 설정한다

mysql_ping()

필요에 따라 서버로의 연결이 되어 있는지 다시 연결해야 할지 체크한다.

mysql_query()

null로 종결된 문자열로 지정된 SQL 쿼리를 실행한다.

mysql_real_connect()

MySQL 서버로 연결한다.

mysql_real_escape_string()

현재 연결중인 캐릭터 셋을 고려하여 SQL 문에서 사용시 문자열에서 특수 문자(캐릭터)를 중단한다.

mysql_real_query()

계산에 포함된 문자열로 지정된 SQL 쿼리를 실행한다.

mysql_refresh()

테이블과 캐시를 쏟아내거나(flush) 재설정한다.

mysql_reload()

서버가 grant 테이블을 다시 로드하도록 전달한다.

mysql_rollback()

트랜잭션 롤백.

mysql_row_seek()

mysql_row_tell()함수로부터 리턴된 값을 사용하는 결과 셋에서 로우 오프셋을 찾는다.

mysql_row_tell()

로우 커서 위치를 리턴한다.

mysql_select_db()

데이터베이스를 선택한다.

mysql_server_end()

임베디드 서버 라이브러리를 종결한다.

mysql_server_init()

임베디드 서버 라이브러리를 초기화한다.

mysql_set_local_infile_default()

디폴트 값으로LOAD DATA LOCAL INFILE 조정기 콜백(callback)을 설정한다.

mysql_set_local_infile_handler()

어플리케이션을 위한LOAD DATA LOCAL INFILE 조정기 콜백(callback)을 인스톨한다.

mysql_set_server_option()

연결시 옵션을 설정한다(lmulti-statements처럼).

mysql_sqlstate()

최근 에러의 경우, SQLSTATE 에러코드를 리턴한다.

mysql_shutdown()

데이터베이스 서버를 셧다운한다.

mysql_stat()

문자열로 서버의 상태를 리턴한다.

mysql_store_result()

클라이언트로 완벽한 결과 셋을 검색한다.

mysql_thread_id()

현재 쓰레드 ID를 리턴한다.

mysql_thread_safe()

클라이언트가 쓰레드에 안전하게 컴파일 되었다면 1을 리턴한다.

mysql_use_result()

로우 별로 결과 셋 검색을 시작한다.

mysql_warning_count()

이전 SQL문의 경우 경고 카운트를 리턴한다.



 2-2. MYSQL 어플리케이션의 기본적인 방법.  ( 1 번과 5번은 5.0.3 에서부터 적용. )
 
  1. mysql_library_init() 를 호출 , MySQL 라이브러리 초기화.   (임베디드 에서 사용 )
  2. mysql_init() 함수를 호출 , 핸들러를 초기화. 
  3. mysql_real_connect() 함수를 호출, 서버에 연결.
     SQL 문을 끝내고 결과를 처리.
  4. mysql_close() 함수를 호출. MySQL 서버 연결 종료.
  5. mysql_library_end() 호출 , MySQL 라이브러리 종료. (임베디드 에서 사용 )

2 ~ 3번 예제

MYSQL mysql;

mysql_init(&mysql);

if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0))
{
    fprintf(stderr, "Failed to connect to database: Error: %s\n",
          mysql_error(&mysql));
}

mysql_close(&mysql);



  다음과 같이 기본적인 틀을 따른다.

  각 함수에 대한 자세한 내용이나 더욱 더 자세한 내용은 MySQL 한글 공식 사이트 에서 한글 메뉴얼 5.0 을 참고 바란다.

    1, 5번 예제 ( 참고 )

예제 보기..

#include <mysql.h>
#include <stdlib.h>

static char *server_args[] = {
  "this_program",       /* this string is not used */
  "--datadir=.",
  "--key_buffer_size=32M"
};
static char *server_groups[] = {
  "embedded",
  "server",
  "this_program_SERVER",
  (char *)NULL
};

int main(void) {
  if (mysql_library_init(sizeof(server_args) / sizeof(char *),
                        server_args, server_groups)) {
    fprintf(stderr, "could not initialize MySQL library\n");
    exit(1);
  }

  /* Use any MySQL API functions here */

  mysql_library_end();

  return EXIT_SUCCESS;
}
Posted by appHunter
현재 브라우저에서는 댓글을 표시할 수 없습니다.
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.
블로그 이미지

외로움..? 그건 단지 너를 만나기 위한 기다림.. app@tistory.com

by appHunter

공지사항

  • 티스토리 초대장 배포 합니다.

태그

아이폰 게임 아이폰 오늘만 무료 어플 어플 추천 아이튠즈 무료 어플 아이폰 오늘만 무료 어플 오늘만 무료 어플 앱헌터 오늘만 무료 어플 아이폰 4 오늘만무료어플 iPhone 미국 계정 무료 어플 모바일게임 아이튠즈 오늘만 무료 appHunter 사전등록 아이폰 오늘만무료 오늘만 무료 오늘만 무료 어플리케이션 아이폰 4 오늘만 무료 어플 오늘만무료 앱헌터 아이폰 4 무료 어플 무료 어플 오늘만 무료 앱 아이폰 무료 어플 아이폰 어플 미국 무료 계정 생성 아이폰 아이폰 추천 어플

최근에 올라온 글

  • 더 보기

최근 댓글

최근에 받은 트랙백

글 보관함

달력

«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

링크

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
appHunter's Blog is powered by daumkakao
Skin ⓘ material T Mark1 by 뭐하라

ⓒ 2015. appHunter all rights reserved.

favicon

가식적인 놈의 하나뿐인 공간

외로움..? 그건 단지 너를 만나기 위한 기다림.. app@tistory.com

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (1014)
    • My Story (73)
      • 하루 하루 (70)
      • Skill / Spec (3)
      • 작성중 (0)
    • 안드로이드 (63)
    • iPhone (677)
      • 일반 (51)
      • 이벤트 팡팡 (9)
      • 오늘만 무료 (537)
      • 앱모아 (8)
      • Weekly Apps (7)
      • 어플 리뷰 (65)
    • 리뷰 (2)
      • 신혼집 (1)
      • 맛집 (1)
    • Programming (113)
      • Embedded (12)
      • Language (20)
      • Database (9)
      • Web (15)
      • BOOK (5)
      • Software (30)
      • System (11)
      • 영상 (7)
      • 안드로이드 | Android (1)
    • 프로젝트 (55)
      • 주차관리시스템 (12)
      • 심심풀이 (7)
      • Design (2)
      • 프로젝트 M - 아이폰 어플 (2)
    • INFO (30)
      • Job (9)
      • 재테크 (4)
      • 맛 (5)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바