MySQL에서 테이블 및 데이터베이스 구조 표시

Mehvish Ashiq 2023년6월20일
  1. MySQL에서 테이블 구조 표시
  2. mysqldump를 사용하여 MySQL에서 데이터베이스 구조 표시
MySQL에서 테이블 및 데이터베이스 구조 표시

오늘은 MySQL에서 테이블과 데이터베이스 구조를 보여줄 수 있는 쿼리에 대해 알아보겠습니다. mysqldump 유틸리티, DESCRIBE, SHOW TABLESSHOW CREATE TABLE 문을 사용합니다.

이 튜토리얼을 작성하는 동안 MySQL 8.0.28 버전을 사용했습니다.

MySQL에서 테이블 구조 표시

요구 사항에 따라 MySQL에서 테이블 구조를 가져오는 다양한 방법을 사용할 수 있습니다. 그 중 일부는 아래에 나와 있습니다.

MySQL에서 mysqldump 유틸리티 사용

mysqldump 명령줄 도구를 사용하여 모든 CREATE TABLE 문 집합으로 완전한 데이터베이스 구조를 가질 수 있습니다.

예제 코드:

# The `--compact` flag produces the compact output
mysqldump -u username -p ms23 --compact --no-data

특정 테이블의 경우 데이터베이스 이름 뒤에 테이블 이름을 추가하거나 다음과 같이 SHOW CREATE TABLE 문을 사용하여 유사한 결과를 얻을 수 있습니다.

예제 코드:

# To use this, you must be logged in to MySQL Server and a database.
SHOW CREATE TABLE courses;

DESCRIBE 문을 사용하여 아래에 설명된 열 목록을 가져올 수 있습니다.

MySQL에서 DESCRIBE(테이블) 문 사용

예제 코드:

DESCRIBE courses;

DESCRIBE 문을 사용하려면 MySQL 서버에 로그인해야 합니다. 속성(필드) 이름, 해당 데이터 유형, 기본값, 키 등과 같은 특정 테이블의 열 목록을 보여줍니다.

또는 DESC 코스로 사용할 수 있습니다. 또는 과정 설명 동일한 결과를 얻습니다. 테이블 이름을 잊은 경우 SHOW TABLES;를 사용할 수 있습니다. 특정 데이터베이스의 테이블 목록을 가져오는 명령문.

예제 코드:

SHOW TABLES;

mysqldump를 사용하여 MySQL에서 데이터베이스 구조 표시

mysqldump라는 명령줄 도구를 사용하여 MySQL 데이터베이스 복사본 또는 백업을 덤프하거나 생성합니다. mysqldump 명령을 사용하는 동안 요구 사항에 따라 여러 플래그를 사용합니다.

예를 들어 데이터베이스 구조를 복사하는 동안 데이터를 포함하지 않으려면 --no-data 플래그를 사용합니다. 아래 시나리오를 고려하여 mysqldump를 사용하여 데이터베이스 구조만 가져옵니다.

  • 하나의 테이블에 대해서만 데이터베이스 구조 가져오기
  • 여러 테이블에 대해서만 데이터베이스 구조 가져오기
  • 하나 또는 여러 데이터베이스에 대해서만 데이터베이스 구조 가져오기
  • 모든 데이터베이스의 데이터베이스 구조를 파일로 가져오기

다음 명령을 사용하려면 기본 위치에 MySQL Server를 설치한 경우 C:\Program Files\MySQL\MySQL Server 8.0\bin> 디렉토리에 있어야 합니다.

다음 명령에서는 명령을 사용하기 전에 이해해야 하는 다양한 플래그를 사용합니다.

  1. -u 플래그는 사용자 이름을 나타냅니다.
  2. -p 플랫은 요청 시 비밀번호가 제공됨을 나타냅니다(예: -p12345와 같이 공백 없이 -p 플래그와 함께 비밀번호를 입력할 수도 있지만 보안상의 이유로 권장하지 않습니다. ).
  3. 데이터를 포함할 필요가 없는 경우 --no-data를 사용합니다. 또는 여기에서 -d를 사용할 수도 있습니다.
  4. --데이터베이스는 하나/여러 데이터베이스에 대한 백업을 원하는 경우에 사용됩니다.
  5. --all-databases를 사용하여 모든 데이터베이스를 한 번에 백업합니다.
  6. 보다 큼(>) 기호는 백업 파일을 저장할 수 있습니다. 복원하려면 보다 작음(<) 기호를 사용할 수 있습니다.

예제 코드(하나의 테이블에 대해서만 데이터베이스 구조 가져오기):

mysqldump -u username -p --no-data DatabaseName TableName;

예제 코드(여러 테이블에 대해서만 데이터베이스 구조 가져오기):

mysqldump -u username -p --no-data DatabaseName TableName1 TableName2 TableNameN;

예제 코드(하나/다중 데이터베이스에 대해서만 데이터베이스 구조 가져오기):

# `-d` is used as an alternative to the `--no-data` option
mysqldump -u username -p -d --databases DatabaseName

데이터베이스 구조를 표준 출력으로 덤프하는 방법을 배웠습니다. 이는 터미널(명령줄 창)에서 위아래로 스크롤해야 한다는 의미이며 이는 도움이 되지 않을 수 있습니다.

>를 사용하여 데이터가 없는 백업을 파일로 저장할 수 있습니다. 위에 주어진 명령으로도 그렇게 할 수 있습니다.

예제 코드(모든 데이터베이스의 데이터베이스 구조를 파일로 가져오기):

mysqldump -u username -p --no-data --all-databases > E:\\Databases_Structure.sql

원격 데이터베이스를 덤프하려면 이 문서를 읽고 필요한 모든 정보를 찾으십시오.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

관련 문장 - MySQL Table

관련 문장 - MySQL Database