데이터베이스를 생성하는 방법 MySQL (창조하다 MySQL 테이블)
⚡ 스마트 요약
데이터베이스 생성 MySQL 두 가지 검증된 경로를 따릅니다. 하나는 CREATE DATABASE 문을 실행하는 것이고, 다른 하나는 ER 모델에서 물리적 스키마를 생성하는 것입니다. MySQL 워크벤치 기반 사전 설계. 두 접근 방식 모두 동일한 생산 준비 완료 테이블을 생성합니다.

데이터베이스를 생성하는 단계 MySQL
데이터베이스 MySQL `<table>`은 테이블, 뷰 및 관련 객체를 담는 명명된 컨테이너입니다. `<table>`은 다음 두 가지 방법으로 생성할 수 있습니다.
1) 간단한 SQL 쿼리를 실행하여
2) 포워드 엔지니어링을 활용하여 MySQL 워크 벤치
As SQL 초보자, 먼저 쿼리 방법을 살펴보겠습니다.
데이터베이스를 생성하는 방법 MySQL
데이터베이스를 생성하는 방법은 다음과 같습니다. MySQL:
CREATE DATABASE는 데이터베이스를 생성하는 데 사용되는 SQL 명령입니다. MySQL.
"영화"라는 이름의 데이터베이스를 만들어야 한다고 가정해 보세요. 다음과 같은 방법으로 데이터베이스를 만들 수 있습니다. MySQL 다음 SQL 명령을 실행하여.
CREATE DATABASE movies;
참고: CREATE DATABASE 명령 대신 CREATE SCHEMA 명령을 사용할 수도 있습니다.
해당 구문은 한 번만 제대로 작동합니다. 다시 실행하면 오류가 발생하므로 매개변수를 더 추가하여 쿼리를 개선해 보겠습니다.
존재하지 않는 경우
하나의 MySQL 하나의 서버에는 여러 개의 데이터베이스가 저장될 수 있습니다. 여러 사람이 서버를 공유하는 경우, 기존 데이터베이스와 동일한 이름으로 새 데이터베이스를 생성하려고 시도할 수 있습니다.
존재하지 않는 경우 지시합니다 MySQL 데이터베이스 생성 전에 동일한 이름의 데이터베이스가 있는지 서버가 확인합니다. 해당 이름이 사용 가능한 경우에만 데이터베이스가 생성됩니다. 이 조건이 없으면 데이터베이스는 생성되지 않습니다. MySQL 오류가 발생합니다.
CREATE DATABASE IF NOT EXISTS movies;
데이터베이스 이름이 안전해지면 다음으로 결정해야 할 사항은 그 이름을 어떻게 사용할 것인가입니다. MySQL 그 안의 텍스트를 저장하고 비교해야 합니다.
데이터 정렬 및 문자 집합
A 문자 집합 컬럼에 저장할 수 있는 문자를 결정하는 반면, 대조 의 집합이다 비교에 사용되는 규칙 정렬 및 정렬 기능 모두 서버, 데이터베이스, 테이블, 열의 네 가지 수준에서 정의할 수 있습니다.
선택하는 정렬 방식은 문자 집합에 따라 다릅니다. 예를 들어, latin1 문자 집합은 다음과 같은 정렬 방식을 사용합니다. latin1_swedish_ci 정렬은 스웨덴식 대소문자 구분 없는 순서입니다.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
아랍어나 중국어와 같은 현지 언어의 경우 유니코드를 선택하세요. utf8mb4 문자 집합은 이모티콘을 포함한 모든 유니코드 문자를 저장합니다. MySQL 8.0, utf8mb4 기본 문자 집합은 다음과 같습니다. utf8mb4_0900_ai_ci 기본 정렬 방식입니다.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
모든 데이터 정렬 및 문자 집합 목록을 찾을 수 있습니다. 여기에서 확인하세요.
다음 SQL 명령어를 실행하면 기존 데이터베이스 목록을 볼 수 있습니다.
SHOW DATABASES;
데이터베이스가 구축되었으므로 이제 실제로 레코드를 저장할 테이블을 추가할 수 있습니다.
테이블을 만드는 방법 MySQL
CREATE TABLE 명령은 데이터베이스에 테이블을 생성하는 데 사용됩니다.
다이어그램에서 볼 수 있듯이 모든 테이블은 하나의 데이터베이스에 속합니다. 테이블은 다음을 사용하여 생성됩니다. 테이블 만들기 구문은 다음과 같습니다.
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과 같이 필드에 대한 추가 정보입니다.
- "스토리지 엔진"은 일반적으로 트랜잭션과 외래 키를 지원하는 InnoDB와 같은 데이터베이스를 사용하여 테이블을 관리합니다.
MySQL 테이블 생성 예
아래는 MySQL 데이터베이스에 테이블을 생성하는 예시:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `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 키워드는 AUTO_INCREMENT 밑줄이 있습니다. AUTOINCREMENT 속해있다 SQLite 그리고 구문 오류가 발생합니다. MySQL.
각 열에는 데이터 형식이 지정되어 있으므로 신중하게 선택해야 합니다. 예상되는 데이터 범위를 과소평가하거나 과대평가하지 마십시오.
MySQL 데이터 타입
데이터 형식은 테이블의 특정 열에 저장할 수 있는 데이터의 특성을 정의합니다.
MySQL 이 3 데이터 유형의 주요 범주는 다음과 같습니다.
- 숫자
- 본문
- 날짜 시간
숫자 형 데이터 타입
숫자 데이터 형식은 숫자 값을 저장하는 데 사용됩니다. 선택한 숫자 데이터 형식의 하한과 상한 범위 내에 데이터가 있는지 확인하는 것이 매우 중요합니다.
| TINYINT( ) | -128 ~ 127 일반 0~255 서명되지 않음. |
| SMALLINT( ) | -32768 ~ 32767 일반 0~65535 서명되지 않음. |
| 보통( ) | -8388608 ~ 8388607 일반 0~16777215 서명되지 않음. |
| 지능( ) | -2147483648 ~ 2147483647 일반 0~4294967295 서명되지 않음. |
| 빅트( ) | -9223372036854775808 ~ 9223372036854775807 일반 0~18446744073709551615 서명되지 않음. |
| 흙손 | 부동 소수점이 있는 작은 대략적인 숫자입니다. |
| 더블( , ) | 부동 소수점이 있는 큰 숫자입니다. |
| 십진수( , ) | 고정 소수점을 사용할 수 있도록 문자열로 저장되는 DOUBLE 형식입니다. 통화 값을 저장하는 데 적합합니다. |
텍스트 데이터 유형
데이터 유형 범주 이름에서 알 수 있듯이, 이러한 유형은 텍스트 값을 저장하는 데 사용됩니다. 텍스트 데이터의 길이가 해당 열의 최대 길이를 초과하지 않도록 항상 주의해야 합니다.
| 문자( ) | 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;
최고의 창작 사례 MySQL 데이터베이스
스크립트를 읽기 쉽게 유지하려면 몇 가지 규칙을 따르세요.
- SQL 키워드에는 대문자를 사용하십시오. 예: “DROP SCHEMA IF EXISTS `MyFlixDB`;”
- 모든 SQL 명령은 세미콜론으로 끝내야 합니다.
- 스키마, 테이블 및 필드 이름에 공백을 사용하지 마십시오. 대신 밑줄(_)을 사용하여 스키마, 테이블 또는 필드 이름을 구분하십시오.
- 새 테이블을 만들 때는 MyISAM보다 InnoDB를 사용하는 것이 좋습니다. InnoDB는 트랜잭션, 행 수준 잠금 및 외래 키를 지원하기 때문입니다.
쿼리 방식이 완료되었습니다. 두 번째 경로는 직접 SQL을 작성하는 대신 시각적 모델을 통해 동일한 데이터베이스에 접근합니다.
어떻게 작성 방법 MySQL 워크벤치 ER 다이어그램 순방향 설계
MySQL 워크 벤치 포워드 엔지니어링을 지원하는 유틸리티가 있습니다. 포워드 엔지니어링 기술 용어로, 그 과정을 설명합니다. 논리 모델을 물리적 구현으로 자동 변환.
우리는 만들었습니다 ER 다이어그램 우리의 응급실 모델링 수업 내용입니다. 이제 우리는 그 ER 모델을 사용하여 데이터베이스를 생성할 SQL 스크립트를 생성할 것입니다.
MyFlix ER 모델에서 MyFlix 데이터베이스 생성
1단계) MyFlix 데이터베이스의 ER 모델을 엽니다. 이전에 생성한 것입니다.
Step 2) 포워드 엔지니어 선정
데이터베이스 메뉴를 클릭하고 포워드 엔지니어를 선택하십시오.
3단계) 연결 옵션
다음 창에서는 인스턴스에 연결할 수 있습니다. MySQL 서버를 선택합니다. 저장된 연결 드롭다운 목록을 클릭하고 로컬 호스트를 선택합니다. 실행을 클릭합니다.
4단계) 아래에 표시된 옵션을 선택하세요
나타나는 마법사에서 아래에 표시된 옵션을 선택하십시오. 다음을 클릭하십시오.
5단계) 선택 사항을 기본값으로 유지하고 다음을 클릭합니다.
다음 화면에는 EER 다이어그램의 객체 요약이 표시됩니다. MyFlix DB에는 5개의 테이블이 있습니다. 선택 사항은 기본값으로 두고 다음을 클릭하십시오.
단계 6) RevSQL 스크립트를 봐요
아래 창에는 데이터베이스를 생성하는 SQL 스크립트의 미리보기가 표시됩니다. 스크립트를 *.sql 파일로 저장하거나 클립보드에 복사한 다음 [다음]을 클릭하세요.
7단계) 진행 상황을 확정합니다
선택한 위치에 데이터베이스가 생성되면 아래 창이 나타납니다. MySQL 서버 인스턴스입니다. ER 모델의 테이블이 이제 서버에 물리적으로 존재합니다.
더미 데이터가 포함된 데이터베이스 파일이 첨부되어 있습니다. 이 데이터베이스는 이후 수업에서 사용될 예정입니다. 간단히 불러오기만 하면 됩니다. MySQL 시작하기 위한 작업대입니다.







.png)