IT 공부용

4. CREATE, INSERT,DELETE,DROP,UPDATE,TRUNCATE 본문

▶ Database

4. CREATE, INSERT,DELETE,DROP,UPDATE,TRUNCATE

호롤롤로루 2022. 9. 22. 18:40

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