본문 바로가기
개발자/백엔드 웹 개발자 과정(국비)

[DB]테이블 생성, 삭제, 수정, 데이터 생성, 수정, 삭제

by 초응 2022. 12. 16.
[테이블 생성 - CREATE ]

CRATE TABLE 테이블명(
컬럼명 자료형()
)
테이블 명명 규칙 : 변수와 동일하다.(명사화 시켜서 의미 전달)
CREATE : 물리 명령어, 디스크에 바로 적용됨.

-테이블의 설계는 데이터베이스의 뼈대이다.
-서브쿼리를 이용하여 복사 테이블을 만들때 제약은 복사가 되지 않는다. (as 이용)

CREATE table student3(
    name varchar2(50)not null,
    age number(3),
    addr varchar2(100),
    tel varchar2(50) not null
)
create table emp2
as
(select * from emp)
--서브 쿼리를 이용하여 복사테이블을 만들때 제약은 복사가 되지 않는다.

--내용말고 테이블 구조만 복사하기 ,
create table emp4
as
(select *from emp where 0=1 ) -- 빈 테이블이 출력되게

[테이블 수정-  ALTER  : 사용하지 말기]
-물리적으로 저장되어있는 데이터를 변경하면 인덱스가 파괴될 수 있음.(테이블 불안정함)
- alter을 사용해서 변경하지말고 테이블 다시 생성하기.
ㄴ  추가 (ADD)
ㄴ 수정 (MODIFY)  :  자료형의 크기를 변경할때는 동일하거나 크게로는 가능, 큰거에서 작은거로는 변경 안됨. 컬럼 이름 변경 안됨.
ㄴ 삭제 (DROP) 
alter table emp3
add (
email number(4)) 

alter table emp3
modify (email varchar2(100) -- 자료형의 크기를 변경시 큰거에서 작은거로는 안됨.컬럼 이름 변경 안됨.
)

alter table emp3
drop column email

[테이블 삭제 - DROP]
쓰레기 데이터가 생기므로 purge recyclebin 으로 연결고리 삭제.
 drop table emp

[INSERT - 삽입 명령문]
INSERT INTO 테이블명 (컬럼명)
VALUES (값)

 select *from student 
 
insert into student (name,age,addr,tel) 
 values ('홍길동', 20, '서울','02-1234-5678')
 
 --테이블 순서를 알고 있고 모든 데이터를 넣는다고 하면
insert into student
values ('둘리',30,'부천','032-1212-2222') 
 
 --insert에도 서브쿼리를 이용할 수 있다. 
insert into emp4
(select *from emp)​


[UPDATE - 수정 명령문]

UPDATE  테이블명
 SET 컬럼명 = 변경할값
WHERE 조건

update student
set tel = '02-1234-5678'
where name = '홍길동' 

update emp4
set sal = sal*1.05

update emp4
set sal = sal*1.05
where deptno = (select deptno
                from dept
                where loc ='DALLAS')

[DELETE - 삭제 명령문]
DELETE FROM 테이블명
WHERE 조건절

Delete
from student
where name = '하니'

delete
from emp4
where deptno = (select deptno
                from dept
                where dname = 'SALES')

[COMMIT  - 저장] (논리 계층 데이터를 물리 계층으로 옮김)
-INSERT, DELETE, UPDATE 논리계층 (메모리에 저장)
-CREATE , DROP , 물리 계층 (디스크에 저장)

[ROLLBACK - 돌아가기]


'개발자 > 백엔드 웹 개발자 과정(국비)' 카테고리의 다른 글

221222_HTML(1)  (0) 2022.12.22
2022년 12월 19일 _ 29회차 (JDBC)  (0) 2022.12.19
[DB] JOIN,서브쿼리  (0) 2022.12.15
[DB]정리  (0) 2022.12.14
[DB]날짜데이터, 형변환,NVL,DECODE,GROUP BY  (0) 2022.12.14