본문 바로가기

데이터/MySQL

(22)
[MySQL] CREATE TABLE 문 CREATE TABLE 문 MySQL에서 테이블을 생성하기 위해서는 `CREATE TABLE` 문을 사용합니다. 이 명령어는 테이블의 이름과 각 열의 이름, 데이터 유형 및 제약 조건을 지정합니다. CREATE TABLE 문의 기본 구조 CREATE TABLE [IF NOT EXISTS] table_name ( column1 datatype [NOT NULL] [DEFAULT default_value] [AUTO_INCREMENT], column2 datatype [NOT NULL] [DEFAULT default_value], ... PRIMARY KEY (one_or_more_columns), UNIQUE (one_or_more_columns), FOREIGN KEY (column_name) REFER..
[MySQL] FOREIGN KEY FOREIGN KEY (외래 키) FOREIGN KEY는 한 테이블의 열이 다른 테이블의 기본 키와 관계를 맺는 데 사용되는 키입니다. 외래 키 제약 조건을 사용하면 두 테이블 간의 일관성을 유지하고 데이터 무결성을 강화할 수 있습니다. FOREIGN KEY의 특징 1. 데이터 일관성 유지 외래 키는 참조하는 테이블의 기본 키와 관계를 맺어, 데이터 일관성을 유지하고 무결성을 강화합니다. 2. 참조 무결성 제약 외래 키 제약은 참조하는 테이블에 있는 값이 참조되는 테이블의 기본 키에 반드시 존재해야 함을 보장합니다. 3. 삭제 및 갱신 제어 외래 키 제약을 통해 참조된 값이 있는 경우, 부모 테이블에서 해당 값이 삭제되거나 갱신되지 못하도록 제어할 수 있습니다. FOREIGN KEY의 적절한 사용 사례 ..
[MySQL] PRIMARY KEY PRIMARY KEY (기본키) PRIMARY KEY는 테이블의 각 레코드를 고유하게 식별하는 데 사용되는 열 또는 열의 집합입니다. 기본 키는 데이터베이스의 레코드를 식별하는 데 중요한 역할을 합니다. PRIMARY KEY의 특징 1. 고유성 보장 PRIMARY KEY는 각 레코드를 유일하게 식별하는 데 사용되므로 중복 값을 가질 수 없습니다. 2. NULL 값 허용 안 함 PRIMARY KEY 열은 NULL 값을 허용하지 않습니다. 모든 레코드는 기본 키 값을 가져야 합니다. 3. 검색 성능 향상 PRIMARY KEY는 해당 열에 대한 인덱스를 자동으로 생성하므로 검색 성능이 향상됩니다. 4. 외래 키 참조 용이 다른 테이블에서 외래 키로 사용될 때 PRIMARY KEY를 참조하므로 두 테이블 간의 ..
[MySQL] AUTO INCREMENT AUTO INCREMENT AUTO INCREMENT는 주로 기본 키 열에 사용되며, 해당 열에 데이터가 삽입될 때마다 자동으로 증가되는 값을 할당합니다. 이를 통해 고유한 식별자를 자동으로 생성할 수 있습니다. AUTO INCREMENT의 특징 1. 자동 증가 AUTO INCREMENT를 가진 열에 데이터가 삽입될 때마다 해당 열의 값이 자동으로 1씩 증가합니다. 2. 기본 키로 많이 사용 특히 기본 키 열에 많이 사용되며, 고유한 값이 필요한 경우에 활용됩니다. 3. NULL 또는 0으로 초기화 AUTO INCREMENT 열은 NULL 또는 0으로 초기화될 수 있으며, 삽입 시 자동으로 초기값부터 시작하여 증가합니다. AUTO INCREMENT의 적절한 사용 사례 1. 고유한 식별자 필요 특히 데이터..
[MySQL] CHECK 제약조건 CHECK 제약조건 MySQL에서는 버전 8.0.16부터 CHECK 제약조건을 지원합니다. CHECK 제약조건은 특정 열에 저장될 수 있는 값의 범위를 제한하여 데이터의 유효성을 검증하는 데 사용됩니다. CHECK 제약조건의 특징 1. 값의 범위 제한 CHECK 제약조건은 열에 저장될 수 있는 값의 범위를 지정할 수 있습니다. 이를 통해 유효하지 않은 데이터를 방지할 수 있습니다. 2. 리터럴, 서브쿼리, 외부 함수 사용 가능 CHECK 제약조건은 다양한 형태의 조건을 지정할 수 있습니다. 리터럴, 서브쿼리, 외부 함수 등을 활용할 수 있습니다. CHECK 제약조건의 적절한 사용 사례 1. 열의 값 범위 제한 특정 열에 유효한 값의 범위를 제한하고자 할 때 사용합니다. 예를 들어, 나이가 음수가 될 수 ..
[MySQL] NOT NULL 제약조건 NOT NULL 제약조건 NOT NULL 제약조건은 특정 열에 NULL 값을 허용하지 않도록 강제합니다. 이는 해당 열에는 반드시 데이터가 존재해야 한다는 의미입니다. NOT NULL 제약조건의 특징 1. NULL 값 허용 안 함 NOT NULL 제약을 가진 열에는 NULL 값이 들어갈 수 없습니다. 2. 기본적으로 NULL 특별한 제약이 없는 경우, 열은 기본적으로 NULL을 허용합니다. 3. 데이터 일관성 유지 NOT NULL 제약을 사용하면 데이터 일관성을 유지하고 누락된 데이터를 방지할 수 있습니다. NOT NULL 제약조건의 적절한 사용 사례 1. 필수 정보 저장 사용자의 이름, 이메일 주소, 비밀번호 등 필수 정보를 저장할 때 사용됩니다. 2. 외래 키 정의 시 외래 키로 사용되는 열은 참조된..
[MySQL] UNIQUE 제약조건 UNIQUE 제약조건 UNIQUE 제약조건은 특정 열에 대해 중복된 값을 허용하지 않도록 하는 제약을 설정합니다. 즉, 테이블 내에서 해당 열의 각 값은 유일해야 합니다. UNIQUE 제약조건의 특징 1. 중복된 값 허용 안 함 UNIQUE 제약을 가진 열에는 동일한 값이 중복되어 들어갈 수 없습니다. 2. NULL 값은 중복으로 간주하지 않음 UNIQUE 제약조건에서 NULL 값은 중복으로 간주하지 않습니다. 즉, 여러 행이 NULL 값을 가질 수 있습니다. 3. 인덱스 생성 UNIQUE 제약조건은 해당 열에 대한 유일한 값 검색을 향상시키기 위해 자동으로 인덱스를 생성합니다. UNIQUE 제약조건의 적절한 사용 사례 1. 고유한 식별자 저장 주민등록번호, 이메일 주소, 사용자명과 같이 고유해야 하는 ..
[MySQL] TINYINT(1) 데이터 타입 TINYINT(1) 데이터 타입 MySQL의 TINYINT(1) 데이터 타입은 주로 논리값을 저장하기 위한 용도로 사용됩니다. 이 데이터 타입은 매우 작은 정수 범위를 갖고 있으며, 주로 0 또는 1의 값을 가지고 참과 거짓을 나타내는 데 사용됩니다. TINYINT(1) 데이터 타입의 특징 1. 저장 값 범위 TINYINT(1)은 -128부터 127까지 또는 0부터 255까지의 값을 저장할 수 있습니다. 주로 0 또는 1의 값을 사용하여 논리적인 참과 거짓을 표현합니다. 2. 논리적인 참/거짓 저장 TINYINT(1)은 주로 논리값을 저장하기 위해 사용됩니다. 0은 거짓(false)을, 1은 참(true)을 나타냅니다. TINYINT(1) 데이터 타입의 적절한 사용 사례 1. 불리언 데이터 저장 참과 거..