Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

햄코딩

SQL DAY 4 본문

SQL

SQL DAY 4

햄코딩 2022. 5. 13. 09:54
220513 DAY 20, DAY 21 정리중

■ TABLE

CREATE TABLE [테이블 이름]

(

속성들

);

 

DESC [테이블 이름];

  • 테이블의구조를 보여주는 명령어

DESC [테이블 이름];

 

■ 게시판 글을 만들어 보자.

  • 각 속성에 들어가는 데이터 타입을 정의해야 한다. 
CREATE TABLE FREEBOARD
(
NO NUMBER(5)
, TITLE VARCHAR2(90)
, WRITER VARCHAR2(90)
, WDATE DATE
, WCNTS VARCHAR(3000)
);

CREATE TABLE FREEBOARD

cf. number(5) → 9999개 쓸 수 있음
cf. varchar2(90) : 90byte
cf. number(총 길이수, 소수점 길이수) 
cf. char보다 varchar, varchar2가 경제적이므로 기본으로 사용. varchar는 길이검사를 하므로, 고정된 값을 사용한다면 char가 낫다. char(1) T/F

 

■ ALTER TABLE : 테이블 수정

ADD 속성 추가
MODIFY 속성 수정
RENAME COLUMN [변경 전 속성 이름] TO [변경 후 속성 이름]  속성 이름 변경
DROP COLUMN 속성 삭제
ALTER TABLE FREEBOARD ADD(CLICKCOUNT NUMBER(5,0)); -- 컬럼 추가
ALTER TABLE FRREBOARD RENAME COLUMN CLICKCOUNT TO VIEWCNT; -- 컬럼 이름 변경
ALTER TABLE FREEBOARD MODIFY TITLE VARCHAR2(150); -- 속성 수정
ALTER TABLE FREEBOARD DROP COLUMN VIEWCNT; -- 컬럼 삭제

 

■ TRUNCATE, DROP, DELETE★★★

TRUNCATE TABLE 테이블명; 테이블의 내용만 모두 삭제
테이블 용량 초기화(되돌릴 수 없다.)
DROP TABEL 테이블명; 테이블 내용 및 테이블 구조 삭제
DELETE FROM 테이블명;  테이블의 내용만 모두 삭제
테이블 용량은 감소하지 않음
※WHERE절을 지정하지 않으면, 테이블 전체 삭제
TRUNCATE TABLE FREEBOARD;
DROP TABLE FREEBOARD;

※주의 : DELETE는 WHERE절을 지정하지 않으면, 테이블 전체가 삭제된다. 
따라서 DELETE 전에 SELECT문으로 WHERE절을 검증한 후 삭제 하는 것이 안전하다.

SELECT * FROM FREEBOARD WHERE NO=1;
DELETE FROM FREEBOARD WHERE NO=1;

 

■ INSERT

  • INSERT INTO table(column1, column2,...) VALUES (expression1, expression2,...);
  • INSERT문은 테이블에 데이터를 입력하는 DML문.
  • 테이블명, 컬럼명, 데이터 순으로 입력.
  • 속성 전체를 입력하는 경우, 테이블 이름 다음에 소괄호 생략 가능
  • 속성의 순서와 입력하는 값의 위치가 일치해야 한다.
----> 실행할 때마다 데이터가 입력된 행이 추가 된다.
INSERT INTO FREEBOARD(NO, TITLE, WRITER, WDATE) 
 VALUES(1, 'IMSI', '노씨', TO_DATE('20220512'));
 
 ----> 테이블 속성 개수만큼 입력할 때는, 테이블 명 옆에 속성들을 쓸 필요 없다.
 INSERT INTO FREEBOARD 
  VALUES(1, 'IMSI', '노씨', TO_DATE('20220512'));

 

■ UPDATE

  • 테이블 내의 데이터를 수정하는 명령어(SET, WHERE과 함께 사용)
  • UPDATE EMP SET ENAME='홍길동' WHERE EMPTNO=20;
  • ※ WHERE절을 지정하지 않으면, 수정 사항이 테이블 전체에 적용된다.
[예제1] WHERE 절을 사용하여, NULL 값이 있는 곳의 데이터를 바꿔보자.
---- 우선, 타겟 데이터를 체크한다.
SELECT * FROM FREEBOARD WHERE WDATE IS NULL;
UPDATE FREEBOARD SET WRITER = 'KANG' WHERE WDATE IS NULL;

[예제2]

■ TRANSACTION ★★★

 

 

'SQL' 카테고리의 다른 글

SQL DAY 5  (0) 2022.05.16
SQL DAY 3  (0) 2022.05.12
SQL DAY 2  (0) 2022.05.11
SQL DAY 1  (0) 2022.05.10