MySQL은 세 가지 범주로 분류된 다양한 데이터 유형을 사용합니다. − 숫자 날짜 및 시간 문자열 유형 숫자 데이터 유형 MySQL은 모든 표준 ANSI SQL 숫자 데이터 유형을 사용하므로 다른 데이터베이스 시스템에서 MySQL을 사용하는 경우 이러한 정의가 익숙할 것입니다. 다음 목록은 일반적인 숫자 데이터 유형과 해당 설명을 보여줍니다. − 지능 – 부호가 있거나 부호가 없는 일반 크기의 정수입니다. 부호가 있는 경우 허용되는 범위는 -2147483648 ~ 2147483647입니다. 부호가 없는 경우 허용되는 범위는
부모 테이블에서 행을 삭제하는 동안 해당 행의 데이터가 자식 테이블에서 사용되면 MySQL은 FOREIGN KEY 제약 조건의 실패로 인해 오류를 발생시킵니다. customer와 orders라는 두 개의 테이블을 예로 들어 이해할 수 있습니다. 여기서 customer는 상위 테이블이고 orders는 하위 테이블입니다. customer 테이블에서 자식 테이블 orders에 사용되는 행을 삭제할 수 없습니다. 다음과 같이 상위 테이블에서 값을 삭제하여 시연할 수 있습니다. - mysql> Select * from Customer;
MySQL 테이블에서 UNIQUE 제약 조건을 삭제하려면 먼저 테이블에서 UNIQUE 제약 조건에 의해 생성된 인덱스의 이름을 확인해야 합니다. SHOW INDEX 문이 이 용도로 사용된다는 것을 알고 있습니다. key_name SHOW INDEX 문의 결과 집합에 인덱스 이름이 포함되어 있습니다. 이제 DROP INDEX의 도움으로 문 또는 ALTER TABLE 문에서 UNIQUE 제약 조건을 삭제할 수 있습니다. 두 문장의 구문은 다음과 같습니다 - 구문 DROP INDEX index_name ON table_name; OR
여러 열의 UNIQUE 인덱스를 만들려면 둘 이상의 열에 인덱스 이름을 지정해야 합니다. 다음 예는 employee 테이블의 empid, first_name, last_name 열에 id_fname_lname이라는 다중 열 인덱스를 생성합니다. − mysql> Create UNIQUE INDEX id_fname_lname on employee(empid,first_name,last_name); Query OK, 0 rows affected (0.41 sec) Records: 0 Duplicates: 0 Warnings: 0
테이블에서 UNIQUE 제약 조건을 제거하는 것과 동일한 방식으로 여러 열의 UNIQUE 인덱스를 제거할 수도 있습니다. 예시 이 예에서는 다음 쿼리를 사용하여 employee 테이블에서 여러 열로 구성된 UNIQUE 인덱스를 제거했습니다 - mysql> DROP index id_fname_lname on employee; Query OK, 0 rows affected (0.30 sec) Records: 0 Duplicates: 0 Warnings: 0 UNIQUE 인덱스의 제거는 다음 쿼리의 결과 세트에서 관찰할 수 있습니
동일한 열에 UNIQUE 제약 조건을 여러 번 추가하면 MySQL은 UNIQUE 제약 조건을 추가한 횟수만큼 해당 열에 인덱스를 생성합니다. 예시 empid 열에 UNIQUE 제약 조건이 있는 employee 테이블이 있다고 가정합니다. 다음 쿼리에서 확인할 수 있습니다 - mysql> Describe employee; +------------+-------------+------+-----+---------+-------+ | Field | Type
PRIMARY KEY는 데이터베이스의 각 행을 고유하게 식별합니다. PRIMARY KEY는 고유한 값을 포함해야 하며 NULL 값을 포함하지 않아야 합니다. MySQL 테이블에는 하나의 PRIMARY KEY만 있을 수 있습니다. PRIMARY KEY 제약 조건을 정의하여 PRIMARY KEY 열을 생성할 수 있습니다. PRIMARY KEY 제약 조건을 정의하려면 테이블을 생성하는 동안 PRIMARY KEY 키워드를 사용해야 하며 다음 예제에서 설명할 수 있습니다. - 예시 다음 쿼리는 RollNo 열을 PRIMARY KEY -로
PRIMARY KEY 열에는 고유한 값이 있어야 하고 null 값을 가질 수 없으므로 UNIQUE 및 NOT NULL 제약 조건이 있는 열을 정의하면 해당 열은 PRIMARY KEY 열이 됩니다. . 예시 이 예에서는 UNIQUE 및 NOT NULL 제약 조건으로 RollNo 열을 정의하여 Student123 테이블을 생성했습니다. 이제 테이블을 설명하면 RollNo가 PRIMARY KEY 열임을 알 수 있습니다. mysql> Create table Student123(RollNo INT UNIQUE NOT NULL, Name
ALTER TABLE 문을 사용하여 기존 MySQL 테이블의 열에 PRIMARY KEY 제약 조건을 적용할 수 있습니다. 구문 ALTER TABLE table_name MODIFY colum_name datatype PRIMARY KEY; OR ALTER TABLE table_name ADD PRIMARY KEY (colum_name); Player라는 이름의 다음 테이블이 있고 ID 열에 PRIMARY KEY
ALTER TABLE 문과 함께 DROP 키워드를 사용하여 기존 테이블의 열에서 PRIMARY KEY 제약 조건을 제거할 수 있습니다. 예시 다음과 같이 ID 열에 대한 PRIMARY KEY 제약 조건이 있는 Player 테이블이 있다고 가정합니다. - mysql> DESCRIBE Player; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra |
AUTO_INCREMENT 열에는 PRIMARY KEY 제약 조건이 있어야 하므로 AUTO_INCREMENT 열에서 PRIMARY KEY 제약 조건을 삭제하려고 할 때 MySQL은 잘못된 테이블에 대한 오류 메시지를 반환합니다. 정의. 아래의 예가 그것을 보여줍니다 - 예시 다음과 같은 설명이 있는 계정 테이블이 있다고 가정합니다. - mysql> Describe accounts; +--------+-------------+------+-----+---------+----------------+ | Field |
실제로 MySQL에서는 여러 열에 PRIMARY KEY를 설정할 수 있습니다. 이렇게 하면 여러 열을 단일 엔터티로 작업할 수 있다는 장점이 있습니다. 예 다음과 같이 여러 열에 복합 PRIMARY KEY를 정의하여 테이블 할당을 생성했습니다. - mysql> Create table allotment( RollNo Int, Name Varchar(20), RoomNo Int, PRIMARY KEY(RollNo, RoomNo)); Query OK, 0 rows affected (0.23 sec) mysql> De
제약은 일종의 제한 또는 제한이라는 것을 알고 있습니다. 마찬가지로 MySQL 제약 조건은 테이블에 들어갈 수 있는 데이터를 제한하는 몇 가지 규칙을 정의하는 데 사용됩니다. 제약 조건의 도움으로 기본적으로 테이블 내 데이터의 정확성과 무결성을 유지할 수 있습니다. MySQL 제약 조건 유형 MySQL 제약 조건에는 두 가지 유형이 있습니다 - 열 수준 제약 조건 - 테이블의 특정 열에만 적용되고 열 데이터만 제한하는 제약 조건을 열 수준 제약 조건이라고 합니다. 테이블 수준 제약 조건 - 전체 테이블에 적용되고 전체 테이블 데이
실제로 MySQL NOT NULL 제약 조건은 테이블의 열이 NULL 값을 갖는 것을 제한합니다. NOT NULL 제약 조건을 열에 적용하면 해당 열에 null 값을 전달할 수 없습니다. 전체 테이블에 대해 선언할 수 없습니다. 즉, NOT NULL이 열 수준 제약 조건이라고 말할 수 있습니다. 필드를 NOT NULL로 선언하려면 CREATE TABLE 문에서 열을 정의할 때 NOT NULL 키워드를 사용해야 합니다. 예시 mysql> Create table Employee(ID Int NOT NULL, First_Name V
ALTER TABLE 문을 사용하여 기존 MySQL 테이블의 열에 NOT NULL 제약 조건을 적용할 수 있습니다. 구문 ALTER TABLE table_name MODIFY colum_name datatype NOT NULL; 예시 mysql> Create table test123(ID INT, Date DATE); Query OK, 0 rows affected (0.19 sec) mysql> Describe test123; +-------+---------+------+-----+---------+--
이 경우 MySQL은 열에 대해 잘린 데이터에 관한 오류 메시지를 반환합니다. 다음은 그것을 보여주는 예입니다 - 예시 두 번째 행의 ID 열에 NULL 값이 포함된 test2 테이블이 있다고 가정합니다. 이제 열 ID를 NOT NULL로 선언하려고 하면 MySQL은 다음과 같은 오류를 반환합니다. - mysql> Select * from test2; +------+--------+ | ID | Name | +------+--------+ | 1 | Gaurav | | NULL
ALTER TABLE 문을 사용하여 기존 테이블의 열에서 NOT NULL 제약 조건을 제거할 수 있습니다. 예시 다음과 같이 ID 열에 NOT NULL 제약 조건이 있는 test123 테이블이 있다고 가정합니다. - mysql> DESCRIBE test123; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+------
NULL은 그 자체로 값이기 때문에 NOT NULL 제약 조건이 있는 문자 유형 열에 NULL 키워드를 값으로 삽입하는 것은 상당히 가능합니다. 다음 예는 그것을 보여줄 것입니다 - 예시 NOT NULL 제약 조건과 함께 문자 유형 열 Name이 있는 테이블 test2가 있다고 가정합니다. 다음과 같이 DESCRIBE 문에서 확인할 수 있습니다. - mysql> Describe test2\G *************************** 1. row *************************** Field
이름에서 알 수 있듯이 MySQL UNIQUE 제약 조건은 테이블에 있는 열의 고유성을 유지하며 중복 값 삽입을 허용하지 않습니다. 기본적으로 UNIQUE 제약 조건은 인덱스 열의 모든 값이 고유해야 하는 인덱스를 생성합니다. 여기에서 MySQL 테이블에 하나 이상의 UNIQUE 열이 있을 수 있다는 점을 언급하는 것이 적절합니다. 컬럼을 정의할 때 UNIQUE 키워드를 언급함으로써 UNIQUE 제약조건을 적용할 수 있다. 다음 예의 도움으로 이해할 수 있습니다 - mysql> Create table test3(ID INT
ALTER TABLE 문을 사용하여 기존 MySQL 테이블의 열에 UNIQUE 제약 조건을 적용할 수 있습니다. 구문 ALTER TABLE table_name MODIFY colum_name datatype UNIQUE; OR ALTER TABLE table_name ADD UNIQUE (colum_name); 예시 Test4라는 이름의 다음 테이블이 있고 Name 열에 UNIQUE 제약 조건을 추가하려는