IT 공부용
4. CREATE, INSERT,DELETE,DROP,UPDATE,TRUNCATE 본문
SELECT INSERT UPDATE DELETE
CREATE ALTER DROP
-----------------------CREATE & INSERT-------------------------------
# 테이블 전체 복붙 (데이터만 복붙됨 키날라감)
CREATE TABLE testTBL (SELECT * FROM usertbl) ;
usertbl 테이블을 testTBL이라는 테이블에 복붙
# 테이블 일부 복붙 (usertbl 테이블에서 NAME,height를 가져와서 testtbl1 생성하고, 붙여넣기)
CREATE TABLE testtbl1 (SELECT NAME,height FROM usertbl) ;
# 다른 DB에 있는 테이블 갖고오기
CREATE TABLE testTBL4 (id INT,Fname VARCHAR(20),Lname VARCHAR(20))
INSERT INTO testTBL4
SELECT emp_no,first_name, last_name FROM employees.employees ;
"""employees.employees 테이블 내용 삽입
DB .테이블명"""
# TABLE 만들고 값 넣기
CREATE TABLE testTBL1
(id INT, userName CHAR(3), age INT);
INSERT INTO testtbl1 VALUES(1,'홍길동',500)
INSERT INTO testtbl1(id,username) VALUES(2,'설현');
INSERT INTO testtbl1(username,age,id) VALUES('초아',26,3);
INSERT INTO testtbl1 VALUES(,'',); # 이거 에러남
# 기본키 NULL 값 안됨 -> AUTO_INCREMENT PRIMARY KEY 선언
CREATE TABLE testTBL2
(id INT AUTO_INCREMENT PRIMARY KEY, userName CHAR(3),age INT);
INSERT INTO testTBL2 VALUES(NULL,'지민',25);
INSERT INTO testTBL2 VALUES(NULL,'유나',22);
INSERT INTO testTBL2 VALUES(NULL,'유정',21);
""" 아이디 값 입력 안함 ID -> 기본키
기본키는 NULL값이 허용 안되지만 AUTO_INCREMENT 를 사용하여 가능하게 됨
AUTO_INCREMENT(기본값 0부터 시작)"""
# AUTO_INCREMENT을 이용해 기본키값 1001 부터 시작하게 만들기
ALTER TABLE testtbl2 AUTO_INCREMENT = 1001;
""" 다음 번에 오는 새끼는 1001부터 시작하게 만듦
즉 수정"""
INSERT INTO testtbl2 VALUES(NULL,'찬미',23);
INSERT INTO testtbl2 VALUES(NULL,'병욱',29);
INSERT INTO testtbl2 VALUES(NULL,'상운',29);
""" 여기부터 1001 1002 1003됨"""
------------------------UPDATE SET------------------------------------
UPDATE testtbl4 SET Lname = '없음' WHERE Fname = 'kyoichi';
# UPDATE SET 수정에 WHERE절 깜빡하면 대참사
# kyoichi라는 사람을 없음으로 바꿔버림
SELECT * FROM testtbl4;
"""대규모 작업 할 때 WHERE절 없이 ㄱㄱ"""
UPDATE buytbl SET price = price * 1.5;
SELECT * FROM testtbl4;
""" DELETE FROM (테이블 내용 삭제)"""
DELETE FROM testtbl4 WHERE Fname = 'Aamer';
"""행하나만 삭제는 DELETE
행 통째로 날릴때는 DROP"""
SELECT * FROM testtbl4 WHERE Fname = 'Mary'
---------------DELETE & DROP & TRUNCATE-----------------------
CREATE TABLE bigTBL1 (SELECT * FROM employees.employees);
CREATE TABLE bigTBL2 (SELECT * FROM employees.employees);
CREATE TABLE bigTBL3 (SELECT * FROM employees.employees);
"""각각 다른 방법으로 테이블 삭제"""
DELETE FROM bigTBL1 ; -- 0.5초 --
"""DML : 한구문씩 보면서 지워 / 트랜젝션 발생O"""
DROP TABLE bigTBL2; -- 0.015초 --
"""DDL : 생각안하고 바로 지워버려 트랜젝션 발생X, 트랜잭션 로그 없어서 동작속도가 빠르다."""
TRUNCATE bigTBL3; -- 0.031초 --
"""DDL : 바로 동작 (데이터만 삭제)"""
# DELETE, TRUNCATE 결과

# DROP 결과

'▶ Database' 카테고리의 다른 글
| 5. View (0) | 2022.09.23 |
|---|---|
| 3. Select문 (0) | 2022.09.22 |
| 2. DB - 테이블 생성(CLI) (0) | 2022.09.21 |
| 1. DB 기본 설정 + GUI로 DB 만져보기 + Select (0) | 2022.09.21 |
| 0. 데이터 베이스 설치 및 이론 (0) | 2022.09.21 |