일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Virtual Box
- 알고리즘
- wifi멀티탭
- 코딜리티
- Arduino pin map
- 아두이노 핀
- Arduino
- 아두이노 핀맵
- mysql api
- 아두이노 와이파이
- database
- 아두이노 프로미니
- Raspberry Pi
- MySQL
- mysql c
- 데이터베이스
- ubuntu
- Arduino pin
- 아두이노 wifi
- vm
- 아두이노 pro mini
- 아두이노 핀 맵
- 웹 프로그래밍
- 라즈베리파이
- 아두이노
- web
- html input
- HTML
- Mysql c API
- Codility
- Today
- Total
목록Mysql c API (9)
offfff
1. 소스코드 8번 글에서 데이터베이스에 저장한 이미지를 불러오는 소스코드이다. #include #include void finish_with_error(MYSQL *con){fprintf(stderr, "%s \n", mysql_error(con));mysql_close(con);exit(1);} int main(int argc, char **argv){// write binary 모드로 새로운 이미지를 파일을 만듦FILE *fp = fopen("picture2.jpg", "wb");if (fp == NULL) {fprintf(stderr, "cannot open image file \n");exit(1);} MYSQL *con = mysql_init(NULL);if(con == NULL) {fprin..
이미지는 바이너리(binary) 데이터이다.MySQL은 바이너리 데이터를 저장할 때, BLOB 타입을 사용한다.BLOP은 Binary Large Object의 약어이다.BLOP 타입은 소팅이나 INDEX생성은 할 수 없다. 1. 테이블 추가 MySQL을 실행하고, 아래 명령어를 실행한다. mysql> CREATE TABLE Images(Id INT PRIMARY KEY, Data MEDIUMBLOB); MEDIUMBLOB 타입 데이터를 저장할 수 있는 Images 테이블을 생성한다.BLOB 타입은 indexing을 할 수 없으므로,INT형 Id 필드를 만들고 PRIMARY KEY로 선언한다.MEDIUMBLOB 타입에서 이미지는 16MB까지 저장할 수 있다.이외에도 TINYBLOB(255 Bytes), B..
1. 소스코드 한 Query 문에 SQL 구문을 여러개 넣어 실행할 수 있다.그렇게 하려면, connect 단계에서 'CLIENT_MULTI_STATEMENTS' 플래그를설정해 줘야한다. #include #include void finish_with_error(MYSQL *con){fprintf(stderr, "%s \n", mysql_error(con));mysql_close(con);exit(1);} int main(int argc, char **argv){int status = 0;MYSQL *con = mysql_init(NULL);if (con == NULL) {fprintf(stderr, "mysql_init() failed \n");exit(1);} // connect 할 때, CLIENT_..
1. 소스코드 이전에는 result set으로 테이블을 받아와 한 row씩 데이터를 출력했었다.이것은 테이블에 저장된 값들만 가지고 왔을 뿐, Column 정보는 알 수 없었다.이전 글 링크 : http://dk-projects.tistory.com/11 이 소스코드에서는 column header를 사용해서Column의 이름들을 출력해 본다. #include #include void finish_with_error(MYSQL *con){fprintf(stderr, "%s \n", mysql_error(con));mysql_close(con);exit(1);} int main(int argc, char **argv){MYSQL *con = mysql_init(NULL);if (con == NULL) {fp..
1. 소스코드 테이블에 저장된 마지막 행의 ID가 필요할 때가 있다.'mysql_insert_id()' 함수로 마지막 행의 ID를 알 수 있다.이 함수는 테이블의 열(컬럼)을 'AUTO_INCREMENT'로 정의했을때 사용가능하다. #include #include void finish_with_error(MYSQL * con){fprintf(stderr, "%s \n", mysql_error(con));mysql_close(con);exit(1);} int main(int argc, char **argv){MYSQL *con = mysql_init(NULL);if (con == NULL) {fprintf(stderr, "mysql_init() failed \n");exit(1);} if (mysql_re..
1. 다음과 같은 순서로 프로그래밍 한다. - MySQL 서버와 연결- Query 문 실행- Result set 가져오기- 모든 행 가져오기- Result set 해제 2. 소스코드 데이터베이스에 저장된 데이터를 가져오는 코드이다. #include #include void finish_with_error(MYSQL *con){fprintf(stderr, "%s \n", mysql_error(con));mysql_close(con);exit(1);} int main(int argc, char **argv){MYSQL *con = mysql_init(NULL);if (con == NULL) {fprintf(stderr, "mysql_init() failed \n");exit(1);} if (mysql_rea..
1. 사용자 계정 추가 $ mysql -u root -p 터미널 창에서 mysql을 루트 권한으로 실행한다. mysql> CREATE USER user01@localhost IDENTIFIED BY '1q2w3e!'; 유저 아이디 유저 비밀번호 밑줄로 된 부분(ID, PW)는 원하는대로 설정'user01'이라는 계정이 생성된다. 2. 데이터베이스 접근 권한 mysql> GRANT ALL ON testdb.* to user01@localhost; user01에게 testdb에 대한 모든 접근권한을 준다. 3. 소스코드 테이블을 생성하고 데이터를 넣는 예제 #include #include //#에러 출력 함수void finish_with_error(MYSQL *con){fprintf(stderr, "%s \..
1. 다음과 같은 순서로 프로그래밍 한다 - Connection hadle structure 초기화- MySQL Server와 연결- Query 문 실행- 연결 종료 2. 소스코드 아래 코드는 MySQL 데이터베이스 서버에 'testdb'라는 새로운 DB를 생성하는 코드이다. #include #include int main(int argc, char **argv){//# Connection handle structure 선언 및 초기화MYSQL *con = mysql_init(NULL);if (con == NULL){fprintf(stderr, "%s \n", mysql_error(con));exit(1);} //# MySQL Server와 연결// root : 서버에 접속할 사용자 ID// root_p..
1. MySQL 클라이언트 라이브러리 설치 sudo apt-get install libmysqlclient-dev 설치 환경(리눅스 계열)마다 다름 2. MySQL 설치 경로 MySQL은 아래 경로에 설치된다. /user/include/mysql/usr/lib/mysql 다른 경로에 있는 경우도 있다 /usr/local/include/mysql/usr/local/lib/mysql 3. 테스트 예제 위의 과정을 성공적으로 완료했는지 확인할 수 있다 에디터로 소스파일 이름(test.c)을 만들어 다음 코드를 작성한다 #include #include int main(int argc, char **argv){printf("MySQL client version : %s \n", mysql_get_client_in..