MySQL에서 데이터베이스를 생성하는 방법(MySQL 테이블 생성)

MySQL에서 데이터베이스를 생성하는 단계

두 가지 방법으로 데이터베이스 생성

1) 간단한 SQL 쿼리를 실행하여

2) MySQL Workbench에서 포워드 엔지니어링을 사용하여

As SQL 초보자, 먼저 쿼리 방법을 살펴보겠습니다.

MySQL에서 데이터베이스를 생성하는 방법

MySQL에서 데이터베이스를 생성하는 방법은 다음과 같습니다.

CREATE DATABASE는 MySQL에서 데이터베이스를 생성하는 데 사용되는 SQL 명령입니다.

"movies"라는 이름의 데이터베이스를 생성해야 한다고 상상해 보십시오. 에서 데이터베이스를 생성할 수 있습니다. MySQL의 follo를 실행하여wing SQL 명령.

CREATE DATABASE movies;

참고: CREATE DATABASE 대신 CREATE SCHEMA 명령을 사용할 수도 있습니다.

이제 더 많은 매개변수와 사양을 추가하여 SQL 쿼리를 개선해 보겠습니다.

존재하지 않는 경우

단일 MySQL 서버에는 여러 데이터베이스가 있을 수 있습니다. 동일한 MySQL 서버에 액세스하는 유일한 사람이 아니거나 여러 데이터베이스를 처리해야 하는 경우 기존 데이터베이스 이름으로 새 데이터베이스를 생성하려고 시도할 가능성이 있습니다. 존재하지 않는 경우 데이터베이스를 생성하기 전에 비슷한 이름을 가진 데이터베이스가 있는지 확인하도록 MySQL 서버에 지시할 수 있습니다.

인셀덤 공식 판매점인 존재하지 않는 경우 사용되는 데이터베이스는 해당 이름이 기존 데이터베이스 이름과 충돌하지 않는 경우에만 생성됩니다. 사용하지 않고 존재하지 않는 경우 MySQL에서 오류가 발생합니다.

CREATE DATABASE IF NOT EXISTS movies;

데이터 정렬 및 문자 집합

정렬 으로 설정됩니다 비교에 사용되는 규칙많은 사람들이 MySQL을 사용하여 영어 이외의 데이터를 저장합니다. 데이터는 특정 문자 집합을 사용하여 MySQL에 저장됩니다. 문자 집합은 다양한 수준에서 정의될 수 있습니다. viz, 서버, 데이터베이스, 테이블 및 열.

선택한 문자 집합에 따라 달라지는 조합 규칙을 선택해야 합니다.

예를 들어, Latin1 문자 세트는 latin1_swedish_ci 대소문자를 구분하지 않는 스웨덴어 순서인 대조입니다.

CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci

아랍어, 중국어 등과 같은 현지 언어를 사용할 때 가장 좋은 방법은 여러 데이터 정렬이 있는 유니코드(utf-8) 문자 집합을 선택하거나 기본 데이터 정렬 utf8-general-ci를 고수하는 것입니다.

모든 데이터 정렬 및 문자 집합 목록을 찾을 수 있습니다. 여기를 눌러 더 많은 정보를 찾으세요.

follo를 실행하면 기존 데이터베이스 목록을 볼 수 있습니다.wing SQL 명령.

SHOW DATABASES

MySQL에서 테이블을 만드는 방법

CREATE TABLE 명령은 데이터베이스에 테이블을 생성하는 데 사용됩니다.

MySQL에서 테이블 생성

다음을 사용하여 테이블을 만들 수 있습니다. 테이블 만들기 성명서에는 실제로 다음과 같은 내용이 있습니다.wing 통사론.

CREATE  TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;

여기를 클릭하십시오.

  • “CREATE TABLE”은 데이터베이스에 테이블을 생성하는 역할을 담당합니다.
  • "[IF NOT EXISTS]"는 선택 사항이며 일치하는 테이블 이름이 없는 경우에만 테이블을 생성합니다.
  • "fieldName"은 필드의 이름이고 "data Type"은 필드에 저장될 데이터의 성격을 정의합니다.
  • "[선택적 매개변수]" " AUTO_INCREMENT" , NOT NULL 등과 같은 필드에 대한 추가 정보입니다.

MySQL 테이블 생성 예

다음은 데이터베이스에 테이블을 생성하는 MySQL 예제입니다.

CREATE  TABLE IF NOT EXISTS `MyFlixDB`.`Members` (
  `membership_number` INT  AUTOINCREMENT ,
  `full_names` VARCHAR(150) NOT NULL ,
  `gender` VARCHAR(6) ,
  `date_of_birth` DATE ,
  `physical_address` VARCHAR(255) ,
  `postal_address` VARCHAR(255) ,
  `contact_number` VARCHAR(75) ,
  `email` VARCHAR(255) ,
  PRIMARY KEY (`membership_number`) )
ENGINE = InnoDB;

이제 MySQL의 데이터 유형이 무엇인지 살펴보겠습니다. 필요에 따라 둘 중 하나를 사용할 수 있습니다. 데이터베이스를 생성할 때 항상 잠재적인 데이터 범위를 과소평가하거나 과대평가하지 않도록 노력해야 합니다.

데이터 유형

데이터 유형은 테이블의 특정 열에 저장할 수 있는 데이터의 특성을 정의합니다.

MySQL은 3 데이터 유형의 주요 범주, 즉

  1. 숫자,
  2. 본문
  3. 날짜 시간.

숫자 데이터 유형

숫자 데이터 유형은 숫자 값을 저장하는 데 사용됩니다. 데이터 범위가 숫자 데이터 유형의 하한 경계와 상한 경계 사이에 있는지 확인하는 것이 매우 중요합니다.

TINYINT( ) -128 ~ 127 일반
0~255 서명되지 않음.
SMALLINT( ) -32768 ~ 32767 일반
0~65535 서명되지 않음.
보통( ) -8388608 ~ 8388607 일반
0~16777215 서명되지 않음.
지능( ) -2147483648 ~ 2147483647 일반
0~4294967295 서명되지 않음.
빅트( ) -9223372036854775808 ~ 9223372036854775807 일반
0~18446744073709551615 서명되지 않음.
흙손 부동 소수점이 있는 작은 대략적인 숫자입니다.
DOUBLE() 부동 소수점이 있는 큰 숫자입니다.
십진수( , ) A DOUBLE 문자열로 저장됨, allowing 고정 소수점의 경우. 통화 가치를 저장하기 위한 선택입니다.

텍스트 데이터 유형

데이터 유형 범주 이름에서 알 수 있듯이 이는 텍스트 값을 저장하는 데 사용됩니다. 항상 텍스트 데이터의 길이가 최대 길이를 초과하지 않는지 확인하십시오.

문자( ) 0~255자 길이의 고정 섹션입니다.
VARCHAR( ) 0~255자 길이의 변수 섹션입니다.
타이니텍스트 최대 길이가 255자인 문자열입니다.
TEXT 최대 길이가 65535자인 문자열입니다.
얼룩 최대 길이가 65535자인 문자열입니다.
중간 텍스트 최대 길이가 16777215자인 문자열입니다.
미디엄블롭 최대 길이가 16777215자인 문자열입니다.
긴 텍스트 최대 길이가 4294967295자인 문자열입니다.
롱블롭 최대 길이가 4294967295자인 문자열입니다.

날짜 시간

날짜 YYYY-MM-DD
날짜 시간 YYYY-MM-DD HH : MM : SS
타임 스탬프 YYYYMMDDHHMMSS
TIME HH : MM : SS

위와는 별도로 MySQL에는 몇 가지 다른 데이터 유형이 있습니다.

열거형 미리 정의된 텍스트 값 목록에서 선택한 텍스트 값을 저장하려면
SET를 이는 미리 정의된 텍스트 값 목록에서 선택한 텍스트 값을 저장하는 데에도 사용됩니다. 여러 값을 가질 수 있습니다.
BOOL 부울 값을 저장하는 데 사용되는 TINYINT(1)의 동의어
BINARY CHAR과 유사하게 차이점은 텍스트가 이진 형식으로 저장된다는 것입니다.
바르바이너리 VARCHAR과 유사하게 차이점은 텍스트가 이진 형식으로 저장된다는 것입니다.

이제 모든 데이터 유형의 데이터를 포함하는 테이블을 생성하는 쿼리를 살펴보겠습니다. 이를 연구하고 아래 테이블 생성 MySQL 예제에서 각 데이터 유형이 어떻게 정의되어 있는지 확인하세요.

CREATE TABLE`all_data_types` (
    `varchar` VARCHAR( 20 )  ,
    `tinyint` TINYINT  ,
    `text` TEXT  ,
    `date` DATE  ,
    `smallint` SMALLINT  ,
    `mediumint` MEDIUMINT  ,
    `int` INT  ,
    `bigint` BIGINT  ,
    `float` FLOAT( 10, 2 )  ,
    `double` DOUBLE  ,
    `decimal` DECIMAL( 10, 2 )  ,
    `datetime` DATETIME  ,
    `timestamp` TIMESTAMP  ,
    `time` TIME  ,
    `year` YEAR  ,
    `char` CHAR( 10 )  ,
    `tinyblob` TINYBLOB  ,
    `tinytext` TINYTEXT  ,
    `blob` BLOB  ,
    `mediumblob` MEDIUMBLOB  ,
    `mediumtext` MEDIUMTEXT  ,
    `longblob` LONGBLOB  ,
    `longtext` LONGTEXT  ,
    `enum` ENUM( '1', '2', '3' )  ,
    `set` SET( '1', '2', '3' )  ,
    `bool` BOOL  ,
    `binary` BINARY( 20 )  ,
    `varbinary` VARBINARY( 20 )
) ENGINE= MYISAM ;

모범 사례

  • SQL 키워드에는 대문자를 사용하십시오(예: "DROP SCHEMA IF EXISTS `MyFlixDB`;").
  • 세미콜론을 사용하여 모든 SQL 명령을 종료하십시오.
  • 스키마, 테이블 및 필드 이름에 공백을 사용하지 마십시오. 스키마, 테이블 또는 필드 이름을 구분하려면 대신 밑줄을 사용하세요.

MySQL 워크벤치 ER 다이어그램 포워드 엔지니어링 생성 방법

MySQL 워크벤치 포워드 엔지니어링을 지원하는 유틸리티가 있습니다. 포워드 엔지니어링 기술적인 용어는 프로세스를 설명하는 것입니다. 논리적 모델을 물리적 구현으로 자동 변환.

우리는 만들었습니다 ER 다이어그램 우리에 ER 모델링 튜토리얼. 이제 해당 ER 모델을 사용하여 데이터베이스를 생성할 SQL 스크립트를 생성하겠습니다.

MyFlix ER 모델에서 MyFlix 데이터베이스 생성

단계 1) MyFlix 데이터베이스의 ER 모델 열기

이전 튜토리얼에서 생성한 MyFlix 데이터베이스의 ER 모델을 엽니다.

단계 2) 포워드 엔지니어 선택

데이터베이스 메뉴를 클릭하세요. 포워드 엔지니어 선택

MySQL 워크벤치 ER 다이어그램 만들기

단계 3) 연결 옵션

다음 창에서는 MySQL 서버 인스턴스에 연결할 수 있습니다. 저장된 연결 드롭다운 목록을 클릭하고 로컬 호스트를 선택합니다. 실행을 클릭하세요

MySQL 워크벤치 ER 다이어그램 만들기

단계 4) 아래 표시된 옵션을 선택하세요.

나타나는 마법사에서 아래에 표시된 옵션을 선택합니다. 다음을 클릭하세요

MySQL 워크벤치 ER 다이어그램 만들기

단계 5) 선택 항목을 기본값으로 유지하고 다음을 클릭합니다.

다음 화면에는 EER 다이어그램의 개체 요약이 표시됩니다. MyFlix DB에는 5개의 테이블이 있습니다. 선택 항목을 기본값으로 유지하고 다음을 클릭합니다.

MySQL 워크벤치 ER 다이어그램 만들기

단계 6) SQL 스크립트 검토

아래와 같은 창이 나타납니다. 이 창에서는 다음을 미리 볼 수 있습니다. SQL 스크립트 데이터베이스를 생성합니다. 스크립트를 *.sql” 파일에 저장하거나 스크립트를 클립보드에 복사할 수 있습니다. 다음 버튼을 클릭하세요

MySQL 워크벤치 ER 다이어그램 만들기

단계 7) 커밋 진행

선택한 MySQL 서버 인스턴스에 데이터베이스가 성공적으로 생성되면 아래와 같은 창이 나타납니다.

MySQL 워크벤치 ER 다이어그램 만들기

  • 데이터베이스 생성에는 논리적 데이터베이스 디자인 모델을 물리적 데이터베이스로 변환하는 작업이 포함됩니다.
  • MySQL은 숫자, 날짜 및 문자열 값에 대한 다양한 데이터 유형을 지원합니다.
  • CREATE DATABASE 명령은 데이터베이스를 생성하는 데 사용됩니다.
  • CREATE TABLE 명령은 데이터베이스에 테이블을 생성하는 데 사용됩니다.
  • MySQL Workbench는 물리적 데이터베이스를 생성하기 위해 실행할 수 있는 논리적 데이터베이스 모델에서 SQL 스크립트를 자동으로 생성하는 포워드 엔지니어링을 지원합니다.

더미 데이터와 함께 데이터베이스가 첨부됩니다. 우리는 모든 추가 튜토리얼에서 이 DB를 사용할 것입니다. 시작하려면 MySQL Workbench에서 DB를 간단히 가져오세요.

MyFlixDB를 다운로드하려면 여기를 클릭하세요.