본문 바로가기

데이터베이스

SQL 제약조건 Constraints - 외래키_Foreign key 외래키 (FOREIGN KEY)는 테이블 사이의 관련성이 파괴되는 것을 막기 위해 사용된다. 다시 말해서 어느 한 테이블의 외래키는 다른 테이블의 기본키가 된다. 외래키 (FOREIGN KEY)는 한 테이블에 필드 한 개 또는 그 이상이 될 수 있으며, 관련된 다른 테이블의 기본키(PRIMARY KEY)가 외래기로 지정될 수 있다. 외래키 (Foreign Key)를 가지고 있는 테이블을 자식 테이블 (child table)이라고 부르고, 기본키를 가지고 있는 테이블을 부모 테이블 (parent table)이라고 부른다. 아래 두 개의 테이블을 살펴보자. Customer Table customer_ID name age 1 최영은 31 2 김진수 26 3 강나은 40 Orders Table order_ID .. 더보기
SQL 제약조건 Constraints - Primary key PRIMARY KEY의 가장 큰 특징은 중복값을 갖지 않는다는 점이다. 물론 NULL 값도 갖지 않는다. 쉽게 말해서 테이블 안에 각각의 레코드가 담겨 있는데, 그 각 레코드를 특정하는 키 값을 Primary key라고 보면 된다. 더 쉽게 이야기를 해보자. 요즘에는 인터넷에서 개인 인증하는 방법으로 핸드폰 번호를 많이 이용한다. 11자리 핸드폰 자릿수가 모두 일치하는 사람은 없을 것이다. 대한민국 국민이라는 테이블에서 핸드폰 번호를 PRIMARY KEY로 써서 개인인증에 사용하는 것이다. 물론 실제로는 핸드폰번호, 이름, 생년월일, 성별을 PRIMARY KEY로 쓰고 있지만... PRIMARY KEY는 컬럼 하나로도 지정할 수 있지만, 여러개의 컬럼을 PRIMARY KEY로 설정하고 사용할 수도 있다... 더보기
[sql] 제약조건 constraints - NOT NULL 지금까지 데이터베이스를 만들고, 테이블을 만들고 수정하는 법을 알아봤으니, 이제부터 테이블이나 컬럼을 만들 때 붙는 제약조건들을 하나씩 살펴보도록 하겠다. SQL 제약조건은 테이블 안에 있는 데이터에 특정 규칙을 붙일 때 사용하면서 유용하게 쓸 수 있다. SQL 제약조건은 테이블을 만드는 식인 CREATE TABLE이나 테이블을 수정하는 ALTER TABLE식에서 주로 쓰이게 된다. CREATE TABLE 테이블_이름 ( 컬럼명1 데이터_타입 제약조건, 컬럼명2 데이터_타입 제약조건, 컬럼명3 데이터_타입 제약조건, ... ); 테이블을 만들 때를 예로 들어보면, 컬럼의 데이터 타입을 지정한 후에, 한 칸 띄우고 제약조건을 달게 된다. 어려울 것은 없고 제약조건은 최대한 정확한 정보를 넣기 위한 하나의 .. 더보기
[sql] alter table, 테이블의 컬럼명 변경하기 ALTER TABLE은 참 다양하게 쓰이는데, 지난 포스팅에서 컬럼 추가, 변경, 삭제하는 방법을 알아보았다. 이번에는 ALTER TABLE을 이용해서 컬럼명을 변경하는 방법을 알아보자. ALTER TABLE 테이블명 CHANGE COLUMN 기존_컬럼명 새_컬럼명 데이터_타입 [ FIRST | AFTER 지정_컬럼명 ]; ALTER TABLE 뒤에 변경할 컬럼이 있는 테이블 이름을 적는다. CHANGE COLUMN 뒤에 변경하고 싶은 기존 컬럼명을 적고, 한 칸 띄운 다음에 변경할 새 컬럼명을 넣어준다. 이어서 한 칸 띄어 쓰고 새로운 이름의 컬럼의 데이터 타입을 넣는다. 필요하다면 NOT NULL이나 default 값도 넣어준다. 만약 특정 컬럼 뒤에 오게 하고 싶다면 AFTER 뒤에 그 특정 컬럼명.. 더보기
SQL 테이블 삭제하기, 데이터만 삭제하기 drop, delete, truncate SQL 테이블 삭제 DROP TABLE [테이블 이름]; DROP TABLE이라고 말하고 그 뒤에 삭제할 테이블 이름을 넣으면 된다. 예시로 Shippers라는 이름을 가진 테이블을 삭제해보도록 하자. > DROP TABLE Shippers; Query OK, 0 rows affected (0.347 sec) 성공적으로 테이블이 삭제되었다는 Query OK 메시지를 볼 수 있다. ** 테이블을 삭제하기 전에는 항상 조심하자! 테이블 삭제는 그 안에 있는 모든 데이터까지 함께 삭제된다. SQL 테이블은 그대로 두고 데이터만 삭제 위의 DROP TABLE은 데이터는 물론 테이블까지 삭제하는 방법이었다면, 이번에는 테이블은 그대로 두고 데이터만 전부 삭제하는 방법을 알아보자. 두 가지 방법이 있는데 둘에는 차.. 더보기
[SQL] 테이블 만들기-create table SQL 테이블 생성 테이블을 생성하는 방법 역시 간단하다. CREATE TABLE 테이블 이름 ( 컬럼1 데이터타입, 컬럼2 데이터타입, 컬럼3 데이터타입, ... ); CREATE TABLE이라고 말하고 그 뒤에 만들 테이블의 이름을 넣어준다. 괄호를 열고 테이블에 들어갈 컬럼과 그 컬럼의 타입을 기록한다. 컬럼 타입에는 int, varchar, date 등이 있다. 예시로 members라는 이름을 가진 테이블을 만들어 보도록 하자. > CREATE TABLE members ( memberID int, name varchar(255), address varchar(255), phone varchar(20) ); Query OK, 0 rows affected (0.075 sec) > > desc memb.. 더보기
[SQL] SQL이란? SQL이란? ⊙ Standards for Structured Query Language의 줄임말. ⊙ 데이터베이스에 접속해서 데이터를 처리할 수 있도록 도와주는 하나의 컴퓨터 언어. SQL은 데이터베이스를 만드는 작업뿐만이 아니라 그 안에 있는 데이터를 추가하기도 하고, 삭제하고 수정하는 등 전반적으로 데이터를 관리하는 모든 작업에 유용하게 사용된다. SQL은 ANSI/ISO에서 제시하는 표준 규정이 있기는 하지만, SQL 언어 버전에 따라서, 혹은 데이터베이스 프로그램에 따라서 약간의 차이가 존재하기도 한다. 또한 SQL을 실제 프로그램이나 웹사이트와 연동해서 사용하는 방법도 여러가지가 있다. 구조 데이터 베이스 안에 들어가 보면, 최소 1 개 이상의 테이블을 가지고 있다. 그리고 그 테이블 안에는 데.. 더보기