본문 바로가기
개발자/DB 오라클

데이터베이스 SQL 오라클 테이블, 칼럼 생성, 삭제 및 수정

by mansfield 2022. 2. 18.
반응형

-- 학생 테이블을 만들어 보자.
-- 구성요소 (칼럼 - 속성) : 학번, 이름, 학과, 학년, 나이, 연락처, 주소, 입학일(등록일)

-- 테이블을 만드는 형식)

--      create table 테이블이름(
--           학번 자료형(크기) {제약조건},
--           이름 자료형(크기) {제약조건},
--           학과 자료형(크기) {제약조건},
--           학년 자료형(크기) {제약조건},
--           나이 자료형(크기) {제약조건},
--           연락처 자료형(크기) {제약조건},
--           주소 자료형(크기) {제약조건},
--           입학일 자료형(크기) {제약조건}    
--           );

create table student(
    hakbun varchar2(20) primary key,
    name1 varchar2(20) not null,
    major varchar2(30),
    grade number(1),
    age number(3),
    phone varchar2(20) not null,
    regdate date not null
);

-- 테이블에 컬럼을 추가하는 방법
-- 형식) alter table 테이블이름 add(추가할 컬럼명 데이터타입(크기) 제약조건);

-- student 테이블에서 누락된 주소 컬럼을 추가해 보자.

alter table student add(address varchar2(100));


-- 테이블에 컬럼을 수정(자료형 수정)
-- 형식) alter table 테이블이름 modify(컬럼명 데이터 타입(크기));
alter table student modify(age varchar2(3)); 

-- 테이블의 컬럼명을 변경하기
-- 형식) alter table 테이블이름 rename column 기존 컬럼명 to 새로운 컬럼명;
alter table student rename column address to addr;

-- 테이블의 컬럼을 삭제하기
-- 형식) alter table 테이블이름 drop column 컬럼명;
alter table student drop column regdate;

alter table student add(regdate date not null);

-- student 테이블에 데이터(정보)를 추가해보자 
-- 형식1) insert into 테이블 이름 values('학번데이터', '이름데이터',
--                       '학과데이터', '학년데이터', '나이데이터', '연락처데이터'
--                       '주소데이터', '등록일데이터');

insert into student values('2022_001', '사나', '경제학과', 3, 
               '27', '01012345678', '서울시 강남구 테헤란로', sysdate);

-- 형식2) insert into 테이블이름(학번컬럼명, 이름컬럼명, 연락처컬럼명, 등록일컬럼명)
--                  valuse('학번데이터', '이름데이터', '연락처데이터', '등록일데이터');
-- 괄호 안에 null값이 들어가면 안되는 데이터를 집어넣음. 넣지 않은 것은 null값을 허용 .

insert into student(hakbun, name1, phone, regdate) 
            values('2022_002', '제니', '01023456789', sysdate);--형식1 연습) 

-- insert into student values('2022_001', '사나', 3, 
--             '27', '01012345678', '서울시 강남구 테헤란로', sysdate);
-- 데이터가 1개라도 빠질경우 오류 발생. null값 허용의 유무와 관계 없음.
  
  
            
--형식2 연습)
insert into student values('2021_037', '태연', '경영학과', 4, '28',
                '01098441351', '강원도 춘천시 효자동', sysdate);

-- insert into student(name1, phone, regdate) 
--              values('현아', '01034567891', sysdate);
-- primary key 제약 조건인 데이터 hakbun을 뺀 상태로 데이터를 추가하려고 할 경우 오류 발생  

-- insert into student(hakbun, phone, regdate) 
--             values('2020_103', '01034567891', sysdate); 
-- null값을 허용하지 않은 데이터 name1을 빼고 데이터를 추가하려고 할 경우 오류 발생     

-- 테이블의 특정 데이터(레코드=한 줄)를 삭제하는 방법
-- 형식) delete from 테이블이름 where primary key로 설정된 컬럼명 = 컬럼 데이터; 
delete from student where hakbun = '2020_105';



-- student 테이블에 있는 모든 데이터를 삭제하는 방법.

delete from 테이블명;

-- 테이블을 삭제하는 방법 
-- drop table 테이블이름 purge;



-- 데이터베이스에 적용시키고자 할 때 사용하는 키워드.
commit;



-- 가장 최근의 commit으로 복구하는(돌아가는) 키워드.
rollback;

 

-- 현재 계정(web)에 있는 모든 테이블을 보기.
select * from tab;



-- sutdent 테이블에 있는 모든 컬럼을 화면에 보이기.
select * from student;

 

-- 필요한 칼럼만 보이게 하는 경우
-- 형식) select 컬럼이름, 컬럼이름2, 컬럼이름3 from 테이블이름;

 

 

300x250

댓글