이전 포스팅에서는 리눅스 환경에서 C 소스코드를 작성하고 컴파일하여 실행할 수 있는 Codelite 개발 도구 설치 방법에 대해 알아보았습니다. CodeLite는 C/C++ 프로그래밍을 위한 무료 통합 개발 환경(IDE)로 일반 안드로이드 스튜디오처럼 프로그래밍을 할 수 있고 도와주는 도구입니다. 오늘 예제를 위해서 Codelite를 설치하지 않았다면 아래 링크를 참고하여 설치해주세요.
2023.07.28 - [C] - [C/C++] Openssl 정적 라이브러리 빌드 및 Codelite 설치, 개발 환경 구성(ubuntu, codelite)
리눅스 우분투에서 MariaDB 서버를 설치하는 방법을 확인하고 싶으시다면 아래의 이전 포스팅을 참고해주세요. MariaDB 우분투 패키지를 다운로드받아 설치하는 예제와함께 데이터베이스를 생성하는 예제도 포함되어있습니다. MariaDB는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 자세한 설치과정이 궁금하시다면 아래 링크를 참고해주세요.
2023.08.29 - [Linux/OS] - [Linux/Ubuntu] 리눅스 우분투 MariaDB 서버 설치, 데이터베이스 생성 및 계정 생성 예제(ubuntu 20.04)
마지막으로 C 언어를 사용하여 리눅스 우분투에서 MariaDB 데이터베이스에 연결하는 예제를 이전 포스팅에서 알아보았습니다. python이나 java에서 mariadb에 연결하는 방법은 간단하지만 C에서 연결하기 위해서는 약간 복잡한 면이 있습니다. MariaDB 관련 헤더파일과 라이브러리를 프로젝트에 연결해야합니다. 따라서 C 언어에서 MariaDB 데이터베이스 연결 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.06 - [C] - [C/C++] MariaDB Codelite 헤더, 라이브러리 설정 및 데이터베이스 연결 예제
아래는 C 언어를 사용하여 MariaDB 데이터베이스에 연결하고, 'example' 이라는 테이블을 생성하는 예제입니다. MariaDB 라이브러리를 사용하여 데이터베이스 연결과 테이블 생성 작업을 포함하고 있습니다.
#include <stdio.h>
#include <mysql/mysql.h>
int main() {
MYSQL *conn;
conn = mysql_init(NULL);
if (conn == NULL) {
fprintf(stderr, "mysql_init() failed\n");
return 1;
}
if (mysql_real_connect(conn, "localhost", "root", "test1234", "test", 0, NULL, 0) == NULL) {
fprintf(stderr, "mysql_real_connect() failed\n");
mysql_close(conn);
return 1;
}
if (mysql_query(conn, "CREATE TABLE IF NOT EXISTS example (id INT, name VARCHAR(50))")) {
fprintf(stderr, "CREATE TABLE failed\n");
mysql_close(conn);
return 1;
}
printf("Table 'example' created successfully.\n");
mysql_close(conn);
return 0;
}
아래는 C 언어를 사용하여 MariaDB 데이터베이스에서 'example' 테이블을 삭제하는 예제입니다. MariaDB 라이브러리를 사용하여 테이블 삭제 작업을 포함하고 있습니다.
#include <stdio.h>
#include <mysql/mysql.h>
int main() {
MYSQL *conn;
conn = mysql_init(NULL);
if (conn == NULL) {
fprintf(stderr, "mysql_init() failed\n");
return 1;
}
if (mysql_real_connect(conn, "localhost", "user", "password", "database", 0, NULL, 0) == NULL) {
fprintf(stderr, "mysql_real_connect() failed\n");
mysql_close(conn);
return 1;
}
if (mysql_query(conn, "DROP TABLE IF EXISTS example")) {
fprintf(stderr, "DROP TABLE failed\n");
mysql_close(conn);
return 1;
}
printf("Table 'example' deleted successfully.\n");
mysql_close(conn);
return 0;
}