SQL SQLite 제약조건 Constraints 데이터베이스 DATABASE
SQL SQLite 제약조건 Constraints 데이터베이스 DATABASE
안녕하세요 데브런치입니다.
데이터베이스를 다시 복습하고 있는데요.
데이터베이스사용 하는 SQL에 잘 숙지하고 있어야할 것들을 기록하고 있습니다.
이번 포스팅에는 sql의 "제약조건"에 대하여 요약정리 해보았습니다.
*참고:
SQL(Structured Query Language), 구조적 쿼리 언어)는 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계한 특수 목적의 프로그래밍 언어입니다. SQL을 사용하면 데이터베이스에 액세스하고 조작할 수 있습니다.
*한글
SQL의 제약 조건은 개별 열의 값에 적용되는 규칙입니다.
열의 데이터 유형을 지정한 후 열을 사용할 수 있는 방법에 대한 정보를 추가합니다. 특정 제한 사항을 준수하지 않는 삽입된 데이터를 거부하도록 데이터베이스에 지시하는 데 사용할 수 있습니다.
설정할 수 있는 몇 가지 제약 조건은 다음과 같습니다.
- PRIMARY KEY열을 사용하여 행을 고유하게 식별할 수 있습니다. 이미 테이블에 있는 행과 동일한 값을 가진 행을 삽입하려고 하면 제약 조건 위반이 발생하여 새 행을 삽입할 수 없습니다.
- UNIQUE열은 행마다 다른 값을 갖습니다. PRIMARY KEY이는 테이블에 다양한 열이 있을 수 있다는 점을 제외하면 비슷합니다 UNIQUE.
- NOT NULL열에는 값이 있어야 합니다. 열 값 없이 행을 삽입하려고 하면 NOT NULL제약 조건 위반이 발생하고 새 행이 삽입되지 않습니다.
- DEFAULTcolumns는 새 행이 해당 열에 대한 값을 지정하지 않는 경우 삽입된 행에 대해 가정된 값이 될 추가 인수를 사용합니다.
참고: 테이블당 하나의 열만 있을 수 PRIMARY KEY있지만 여러 열이 있을 수 있습니다 UNIQUE.
아래 문은 celebs테이블에 대한 제약 조건을 설정합니다.
CREATE TABLE celebs (
id INTEGER PRIMARY KEY,
name TEXT UNIQUE,
grade INTEGER NOT NULL,
age INTEGER DEFAULT 10
);
- id 열은 기본 키입니다.
- name 열은 고유합니다.
- grade 열이 NULL이 아닙니다.
- age 열의 기본값은 10입니다.
*요약
SQL은 관계형 데이터베이스에 저장된 데이터를 조작하고 관리하도록 설계된 프로그래밍 언어입니다.
관계형 데이터베이스는 정보를 하나 이상의 테이블로 구성하는 데이터베이스입니다.
테이블은 행과 열로 구성된 데이터의 모음입니다.
명령문은 데이터베이스가 유효한 명령으로 인식하는 문자열입니다.
CREATE TABLE은 새 테이블을 생성합니다.
INSERT INTO는 테이블에 새 행을 추가합니다.
SELECT는 테이블에서 데이터를 쿼리합니다.
ALTER TABLE은 기존 테이블을 변경합니다.
UPDATE는 테이블의 행을 편집합니다.
DELETE FROM은 테이블에서 행을 삭제합니다.
제약 조건은 열을 사용할 수 있는 방법에 대한 정보를 추가합니다.
*영어
Constraints in SQL are the rules applied to the values of individual columns. They add information about how a column can be used after specifying the data type for a column. They can be used to tell the database to reject inserted data that does not adhere to a certain restriction.
Here are some of the constraints that can be set:
- PRIMARY KEY columns can be used to uniquely identify the row. Attempts to insert a row with an identical value to a row already in the table will result in a constraint violation which will not allow you to insert the new row.
- UNIQUE columns have a different value for every row. This is similar to PRIMARY KEY except a table can have many different UNIQUE columns.
- NOT NULL columns must have a value. Attempts to insert a row without a value for a NOT NULL column will result in a constraint violation and the new row will not be inserted.
- DEFAULT columns take an additional argument that will be the assumed value for an inserted row if the new row does not specify a value for that column.
Note: There can be only one PRIMARY KEY column per table, but there can be multiple UNIQUE columns.
The statement below sets constraints on the celebs table:
CREATE TABLE celebs (
id INTEGER PRIMARY KEY,
name TEXT UNIQUE,
grade INTEGER NOT NULL,
age INTEGER DEFAULT 10
);
- id column is the PRIMARY KEY.
- name column is UNIQUE.
- grade column is NOT NULL.
- age column has a DEFAULT of 10.
*Summary
SQL is a programming language designed to manipulate and manage data stored in relational databases.
A relational database is a database that organizes information into one or more tables.
A table is a collection of data organized into rows and columns.
A statement is a string of characters that the database recognizes as a valid command.
CREATE TABLE creates a new table.
INSERT INTO adds a new row to a table.
SELECT queries data from a table.
ALTER TABLE changes an existing table.
UPDATE edits a row in a table.
DELETE FROM deletes rows from a table.
Constraints add information about how a column can be used.
끝!