>데이터 베이스 >MySQL 튜토리얼 >MySQL과 C++를 사용하여 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법

MySQL과 C++를 사용하여 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법

WBOY
WBOY원래의
2023-09-20 13:48:21804검색

MySQL과 C++를 사용하여 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법

MySQL과 C++를 사용하여 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법

요약:
이 기사에서는 MySQL과 C++를 사용하여 간단한 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법을 소개합니다. 데이터베이스 설계부터 C++ 코드 구현까지 전 과정을 다루고, 구체적인 코드 예시를 제공합니다.

소개:
도서 관리 시스템은 도서관이나 개인 도서 컬렉션을 관리하는 데 사용되는 일반적인 애플리케이션입니다. MySQL을 데이터베이스로, C++를 프로그래밍 언어로 사용함으로써 완전한 기능을 갖춘 도서관 관리 시스템을 쉽게 구현하고 사용자에게 편리한 도서 검색, 대출 및 반납 기능을 제공할 수 있습니다.

1단계: 데이터베이스 설계
먼저, 책과 관련 정보를 저장하기에 적합한 데이터베이스 스키마를 설계해야 합니다. 이 예에서는 다음 테이블을 사용합니다.

  • books 테이블: 도서 ID, 제목, 저자, 출판 날짜 등 도서에 대한 기본 정보를 저장합니다.
  • users 테이블: 사용자 ID, 사용자 이름, 비밀번호 등을 포함한 사용자 정보를 저장합니다.
  • 대출 테이블: 대출 ID, 도서 ID, 사용자 ID, 대출 날짜 및 반납 날짜 등을 포함한 도서 대출 기록을 저장합니다.

다음은 테이블을 생성하는 MySQL 코드의 예입니다.

CREATE TABLE books (
    book_id INT PRIMARY KEY,
    title VARCHAR(100),
    author VARCHAR(100),
    publication_date DATE
);

CREATE TABLE users (
    user_id INT PRIMARY KEY,
    username VARCHAR(100),
    password VARCHAR(100)
);

CREATE TABLE borrowings (
    borrowing_id INT PRIMARY KEY,
    book_id INT,
    user_id INT,
    borrowing_date DATE,
    return_date DATE,
    FOREIGN KEY (book_id) REFERENCES books(book_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);

2단계: C++ 코드 구현
다음으로 C++를 사용하여 MySQL 데이터베이스에 연결하고 라이브러리 관리 시스템의 다양한 기능을 구현하는 코드를 작성하겠습니다.

먼저 필요한 C++ 헤더 파일을 포함해야 합니다:

#include <iostream>
#include <mysql.h>

그런 다음 MySQL 데이터베이스에 연결하기 위한 connect 함수를 만들어야 합니다. connect函数来连接到MySQL数据库:

MYSQL* connect() {
    MYSQL* conn;
    conn = mysql_init(NULL);
    if (conn == NULL) {
        std::cout << "Failed to initialize mysql client library" << std::endl;
        exit(1);
    }
    if (mysql_real_connect(conn, "localhost", "username", "password", "database_name", 0, NULL, 0) == NULL) {
        std::cout << "Failed to connect to database" << std::endl;
        exit(1);
    }
    return conn;
}

接下来,我们可以实现各种功能函数,例如添加图书、删除图书、借阅图书和归还图书等。以下是一个示例函数addBook

void addBook(MYSQL* conn, int book_id, std::string title, std::string author, std::string publication_date) {
    std::string query = "INSERT INTO books (book_id, title, author, publication_date) VALUES ("
                      + std::to_string(book_id) + ",'" + title + "','" + author + "','" + publication_date + "')";
    if (mysql_query(conn, query.c_str()) != 0) {
        std::cout << mysql_error(conn) << std::endl;
    }
}

다음으로 다양한 기능을 구현할 수 있습니다. 도서추가, 도서삭제, 도서대출, 도서반납 등의 기능을 제공합니다. 다음은 데이터베이스에 책을 추가하는 예시 함수 addBook입니다.

int main() {
    MYSQL* conn = connect();
    addBook(conn, 1, "C++ Primer", "Stanley B. Lippman", "1998-10-01");
    // ... 其他功能函数的调用

    mysql_close(conn);
    return 0;
}

마지막으로 다양한 기능을 테스트하는 기본 함수를 작성할 수 있습니다.

rrreee
요약:

이 기사를 통해 우리는 다음과 같은 내용을 배웠습니다. MySQL 및 C++를 사용하여 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법. 데이터베이스 설계부터 C++ 코드 구현까지 전체 개발 프로세스를 다루고 구체적인 코드 예제를 제공합니다. 이러한 기반을 바탕으로 우리는 우리의 필요에 맞게 도서관 관리 시스템을 더욱 확장하고 개선할 수 있습니다. 🎜

위 내용은 MySQL과 C++를 사용하여 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.