DAY 12. 데이터 및 테이블 조작
💡 01. 데이터 조작
- 테이블 안에 데이터 조작언어 (DML : Data Manipulation Language)를 사용하여 데이터 행을 조작하는 방법
- 데이터 삽입
- INSERT INTO : 동사/삽입하다, VALUE : 명사/ 값
- 완전한 행 삽입
INSERT INTO 테이블명 VALUES (값1,값2,값3);
- 열 이름과 함께 완전한 행 삽입
- 열 이름을 지정한 후 값을 삽입하면 오류를 줄일 수 있다
INSERT INTO 테이블명(열 이름1, 열 이름2, 열 이름3) VALUES (값1,값2,값3);
- 부분 행 삽입
- 열 이름을 지정한 후 완전한 행을 삽입한 것 과 같이, 열 이름을 지정하고 해당 열 이름에 매칭되는 값을 VALUES키워드 뒤에 순서대로 적으면 된다
INSERT INTO 테이블명(열 이름1, 열 이름3) VALUES (값1,값3);
- SQL 문장결과를 삽입
- SQL 문장 결과를 삽입하고 싶으면, VALUES 키워드 대신 ‘SELECT 열 이름 FROM 테이블 명 WHERE 조건절’을 적으면 된다
INSERT INTO 테이블명(열 이름1, 열 이름2, 열 이름3) SELECT 열 이름1, 열 이름2, 열 이름3 FROM 테이블 명2 WHERE 조건절
- 데이터 삭제
- DELETE FROM : 동사/~에서 삭제하다
- WHERE조건절을 사용하지 않으면 데이터 전체가 삭제 될 수 있기 때문에 단독 사용시 주의
- SQL에는 실행한 내용을 취소할 수 있는 기능이 없다
- 테이블의 모든 행 삭제
DELETE FROM 테이블명;
- 테이블의 부분 행 삭제
DELETE FROM 테이블명 WHERE 조건절;
- 데이터 수정
- WHERE조건절을 사용하지 않으면 데이터 전체가 변형될 수 있기 때문에 단독 사용시 주의
- SQL에는 실행한 내용을 취소할 수 있는 기능이 없다
- 모든 행의 데이터 수정
UPDATE 테이블명 SET 열 이름=변경할 값;
- 특정한 행의 데이터 수정
UPDATE 테이블명 SET 열 이름=변경할 값 WHERE 조건절;
- 테이블 변경 및 삭제
- 몇몇의 DBMS에서는 테이블의 열을 제거하거나 변경하는 것을 허용하지 않기 때문에 자세한 것은 각자가 사용하는 DBMS설명서 참고
- 테이블 변경 (열을 추가 할 때)
- 테이블을 수정할 때는 ALTER TABLE을 적고, 열을 추가하고 싶다면 ADD를 사용
ALTER TABLE 수정할 테이블명 ADD (추가할 열 이름 데이터 형식(크기));
- 테이블 변경 (데이터 구조를 변경할때)
- 데이터 구조를 변경할 때는 MODIFY를 사용
- 데이터가 포함된 테이블의 구조는 변겨하지 않는 것이 좋다. 테이블을 만들때 충분한 검토를 했고 그 안에 이미 데이터가 축적되어 있기 때문에 데이터 형식이 변경되면 기존 데이터에 영향을 미쳐 데이터 손실로 이어질 수 있기 때문
ALTER TABLE 수정할 테이블명 MODIFY (추가할 열 이름 데이터 형식(크기));
- 테이블 명 변경
- 테이블 이름을 변경할 때는 RENAME를 사용
RENAME 변경 전 테이블명 TO 변경 후 테이블명
- 테이블 삭제
- 테이블을 삭제할 때는 DROP TABLE을 사용
DROP TABLE 삭제할 테이블명;
💡 02. 테이블 조작
- 테이블을 생성하고 삭제하는(DDL : Data Definition Language)언어
- 테이블 생성
- CREATE TABLE문법은 DBMS별로 다르기때문에 각자가 사용하는 DBMS설명서 참고
- 일반적으로 테이블 생성하는 방법
- 테이블을 만들려면 기본적으로 생성할 테이블명, 그에 속할 열 이름, 데이터 형식 및 정의를 지정해야한다
- PRIMARY KEY : 기본키 설정, 기본 키 값은 NULL 값일 수 없고 고유해야하며 변경하거나 업데이트 될 수 없다
- NOT NULL : NULL을 허용하지 않음
- REFERENCES 테이블1 (테이블1 고유키) : 외래 키 옵션, 외래 키는 해당 테이블에서 다른 테이블의 기본키에 해당하는 값을 포함할 때 사용 (데이터 베이스의 무결성을 유지하기 위한 필수 조건)
- DEFAULT 1 : 해당 열에 값 지정 안하면 자동으로 1 저장
- 테이블을 만들려면 기본적으로 생성할 테이블명, 그에 속할 열 이름, 데이터 형식 및 정의를 지정해야한다
CREATE TABLE 생성할 테이블명 ( 열이름 데이터 형식(크기) NOT NULL, 열이름 CHAR(10) PRIMARY KEY, 열이름 CHAR(10) NOT NULL REFERENCES 테이블1 (테이블1 고유키), 열 이름 INTEGER NOT NULL DEFAULT 1, 열 이름 VARCHAR(100) NULL );
- 하위 쿼리에 의해 검색된 테이블과 동일한 구조로 테이블 생성
- 이 방법은 하위 쿼리와 동일한 구조의 테이블을 생성하는 방법
- 만약 테이블 전체를 복사하고 싶은 경우 SELECT 절 뒤에 와일드카드 ‘*’를 적기
CREATE TABLE 생성할 테이블명 AS SELECT 열이름1,열이름2 FROM 복사할 테이블명;
- 테이블 변경 및 삭제
- 몇몇의 DBMS에서는 테이블의 열을 제거하거나 변경하는 것을 허용하지 않기 때문에 자세한 것은 각자가 사용하는 DBMS설명서 참고
- 테이블 변경 (열을 추가 할 때)
- 테이블을 수정할 때는 ALTER TABLE을 적고, 열을 추가하고 싶다면 ADD를 사용
ALTER TABLE 수정할 테이블명 ADD (추가할 열 이름 데이터 형식(크기));
- 테이블 변경 (데이터 구조를 변경할때)
- 데이터 구조를 변경할 때는 MODIFY를 사용
- 데이터가 포함된 테이블의 구조는 변겨하지 않는 것이 좋다. 테이블을 만들때 충분한 검토를 했고 그 안에 이미 데이터가 축적되어 있기 때문에 데이터 형식이 변경되면 기존 데이터에 영향을 미쳐 데이터 손실로 이어질 수 있기 때문
ALTER TABLE 수정할 테이블명 MODIFY (추가할 열 이름 데이터 형식(크기));
- 테이블 명 변경
- 테이블 이름을 변경할 때는 RENAME를 사용
RENAME 변경 전 테이블명 TO 변경 후 테이블명
- 테이블 삭제
- 테이블을 삭제할 때는 DROP TABLE을 사용
'💻 SQL > 🔎기초 SQL' 카테고리의 다른 글
[합격 후기] 직장인 44회 SQL 개발자(SQLD) 공부 방법 & 합격 후기 (0) | 2022.04.21 |
---|---|
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 11. 하위 쿼리 (0) | 2022.02.03 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 10. 테이블 합치기 (0) | 2022.01.31 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 9. 데이터의 그룹화, 필터링 (0) | 2022.01.31 |
[칼퇴족 김대리는 알고 나만 모르는 SQL 기초편] DAY 8. 함수 활용하기 (0) | 2022.01.31 |