본문 바로가기
Lecture/SqlDeveloper

기초 SQL(1)

by cusmaker 2012. 4. 30.
반응형

데이터베이스 프로그래밍 시험공부중에..

/**컬럼 타입 : CHAR **/

create table chr_exam1( names1 char(3byte), names2 varchar2(3 byte));

chr_exam1 이라는 이름의 테이블을 생성합니다. 

컬럼은 각 각 3byte char, 3byte varchar2로 생성합니다.


insert into chr_exam1 values('AA', 'AA');

각 컬럼에 'AA'를 넣습니다.


select 

  replace(names1, '', 'B') nm1,

  replace(names2, '', 'B') nm2

FROM chr_exam1

각 컬럼을 replace함수를 통해 ''값을 B로 치환하여 조회합니다.


/**컬럼 타입 : NUMBER **/

create table num_temp1(

  n1 number,

  n2 number(9),

  n3 number(9,2),

  n4 number(9,1),

  n5 number(7),

  n6 number(7,-2),

  n7 number(6),

  n8 number(3,5));

다음과같이 테이블을 생성합니다.


  insert into num_temp1(n1, n2, n3, n4, n5, n6)

  values(1234567.89, 1234567.89, 1234567.89, 1234567.89, 1234567.89, 1234567.89);

다음과같이 값이 삽입됩니다.

1234567.89 1234568 1234567.89 1234567.9 1234568 1234600 null 0.00123


/**컬럼 타입 : 날짜형 **/ 

    create table date_temp1(

    date1 DATE);


    insert into date_temp1 (date1) values(sysdate);

sysdate : 오라클의 날짜함수. 현재시간을 가져옴

    

    select * from date_temp1

    

    alter session set nls_date_format = 'yyyy-mm-dd';


    /**컬럼 속성 : NULL **/

    create table null_test(

    null_col1 varchar2(20) not null,

    null_col2 varchar2(20) null,

    null_col3 varchar2(20));

    

    insert into null_test( null_col1, null_col2) values('AA', 'BB');

    insert into null_test( null_col2, null_col2) values('CC', 'DD');

    insert into null_test( null_col1, null_col2, null_col3) values('TT', 'SS', null);

    insert into null_test( null_col1, null_col2, null_col3) values('TT', 'SS', '');

     

     /**컬럼 속성 : UNIQUE **/ 

     create table unique_test(

     uni_col1 varchar2(10) unique not null,

     uni_col2 varchar2(10) unique,

     uni_col3 varchar2(10) not null,

     uni_col4 varchar2(10) not null,

     CONSTRAINTS uni_tmp_uk UNIQUE (uni_col3, uni_col4));

     

     insert into unique_test (uni_col1, uni_col2, uni_col3, uni_col4) values ( 'A1', 'B1', 'C1', 'D1');

     insert into unique_test (uni_col1, uni_col2, uni_col3, uni_col4) values ( 'A2', 'B2', 'C2', 'D2');

     update unique_test set uni_col1 = 'A1' where uni_col2 = 'B2' /*무결성제약조건위배*/

     insert into unique_test(uni_col1, uni_col2, uni_col3, uni_col4)values('A3', '', 'C3', 'D3');

     insert into unique_test(uni_col1, uni_col2, uni_col3, uni_col4)values('A4', '', 'C4', 'D4'); 

     update unique_test set uni_col2 = '';

     

     /** 참조 키(FK) **/ 

     update employees set department_id = 280 where employee_id = 178; /*무결성 제약조건(FK,외래키) 위반 */

     insert into employees ( employee_id, last_name, email, hire_date, job_id, department_id) values(990, 'TEST', 'TEST', sysdate, 'IT_PROG', 900); /*무결성 제약조건(FK,외래키) 위반 */

     delete departments where department_id = 30; /*무결성 제약조건(FK,외래키) 위반 */

     /** CHECK **/ 

     create table check_test( gender varchar2(10) not null constraint check_gender check(gender in('남성','여성')));

     insert into check_test values('무성'); /*체크제약조건 위배*/

     /** DEFAULT **/ 

     alter table check_test modify gender default '남성';

     alter table check_test add insert_date DATE DEFAULT sysdate;

     alter table check_test ADD test VARCHAR2(10) null;

     

     insert into check_test (test) values('AA');

     

     select * from check_test;

     

    /** TABLE COPY **/   

     create table emp_copy1 AS select * from employees;

     

'Lecture > SqlDeveloper' 카테고리의 다른 글

[Oracle] sqldeveloper로 특수문자 입력  (3) 2012.07.27
SqlDeveloper 설치  (2) 2012.04.25