오라클이란 DBMS중하나다.

 

데이터베이스란 ?

데이터들을 모아둔것

 

DBMS 종류 : 오라클,mysql,Microsoft sql server

 

데이터베이스관리란 ?

데이터베이스를 관리해주는것

 

데이터를 모아야하는 이유 ?

무결성을 위해(결함을 없애기 위해)

 

무결성을 위한 방법 : 중복제거

 

프로그램에서 데이터를 직접사용가능한가 ? 

NO 관리시스템을 통해접근

 

명령체계를 이용해 데이터에 접근

명령어사용

 

명령어종류(SQL의 소분류)

1. 데이터정의 DDL : create / alter/drop

2. 데이터조작 DML : select / insert / update/ delete (반드시 암기)

3. 데이터제어 DCL : grant/ revoke(허가) 권한제어

 

문자자료형 : char, varchar, nchar, nvarchar,long,clob,nclob

 

문장끝마다 ; 세미콜론 

 

오라클 데이터 형식

NUMBER 데이터 형식

 

number(최대값,포함하는 소수점자리수)

기본최대값:38

number(6,2) 소수점 2자리포함 최대 6자리

      - 컬럼명 NUMBER(p,S)  ( ※ 단, p > s 인 경우)
        : 전체자리수 P에서 소수점이하 s자리까지 표현 
        : 정수 부분은 p-s 자리까지 허용하고, 소수점 s+1번째자리에서 반올림한다.
        
      - 컬럼명 NUMBER(p,s)  ( ※ 단, s > p 인 경우)
        : p는 소숫점이하의 유효 숫자 수
        : s는 소숫점이하의 전체 자리수
        : (s-p)만큼의 0이 유효숫자 앞에 존재해야한다.

        765432.1234           NUMBER                765432.1234 // 전부출력
        765432.1234           NUMBER(*,3)           765432.123  //소숫점 3번째자리까지
        765432.6234           NUMBER(7)             765433 //양수만
        765432.6834           NUMBER(9,1)           765432.7 //2번째자리에서 반올림 후 소수점1번째짜리까지 출력
        765432.6834           NUMBER(7,-2)          765400 //소수점기준 왼쪽2번째자리에서 반올림
        765432.6834           NUMBER(5)             ERROR 발생
        1.234                 NUMBER(4,5)           ERROR 발생
        0.01234               NUMBER(4,5)           0.01234
        0.001234              NUMBER(3,5)           0.00123
        0.005678              NUMBER(2,5)           ERROR 발생
        0.0005678             NUMBER(2,5)           0.00057

 

 

실행할 문장을 드래그해서 선택후 실행

DATE형식

 

DATE :

TIMESTAMP : 시간까지 명시된다.

컬럼을 추가했을때 또 DROP을 써야하나 ? 

컬럼을 추가하고싶었던거지 데이터를 날리X

ALTER TABLE [테이블명] ADD [컬럼명] [타입]

ALTER TABLE NOTICE21 ADD REGDATE TIMESTAMP;

오른쪽목록에서 마우스오른쪽버튼 ㅅ ㅐ로고침
명령어를 암기할필요가없고, 구조화된 데이터를 정의하는 방식이있다는것 기억, 자료형은 암기할것
SELECT 옵션*

행추가하기

INSERT INTO [테이블명](열1,열2,열3)
VALUES(값,값,값);

동시에 여러사람이쓰는 환경

동시에처리할 수 있도록 트랜잭션처리

INSERT INTO로 행추가 후 ROLLBACK하면 임시보관된 행이 삭제된다.

INSERT INTO로 행추가 후 COMMIT하면 저장소에 보관되고 SELECT* FROM[테이블명]을 넣으면 저장된 데이터들이 나열된다.

DROP TABLE MEMBER21;
DROP TABLE NOTICE21;

CREATE TABLE MEMBER21
(
    ID          NUMBER,
    PWD         VARCHAR(10),--CHAR(10) [HI       ][OK      },VHARCHAR2(10) HI,OK
    NAME        NVARCHAR2(50),
    GENDER      NCHAR(2),--'남성','여성'; CHAR(2)<->CHAR(2 CHAR):UTF-8:X3 <->NCHAR(2):UTF-16:X2
    AGE         NUMBER(3),--나이숫자3자리
    BIRTHDAY    CHAR(6),--'900112','891225',
    PHONE       VARCHAR2(13),--아스키범주라 N필요없음  
    REGDATE     TIMESTAMP--가입시간이 필요하면 TIMESTEMP
        
);
ALTER TABLE MEMBER21 ADD REGDATE TIMESTAMP;

CREATE TABLE NOTICE21
(
    ID          NUMBER,
    TITLE       NVARCHAR2(100),--100바이트, 한글:33문자정도,한글10글자를 적었을경우 N을안붙이면30바이트->공간낭비
    "CONTENT"   NCLOB,--최대4000바이트 CHARACTER LARGE OF BYTE
    HIT         NUMBER,--자동 38자리      
    REGDATE     TIMESTAMP
);
ALTER TABLE NOTICE21 ADD REGDATE TIMESTAMP;

teddyeejeongmin.tistory.com/6참고

INSERT INTO MEMBER(ID, NICNAME, PWD)
VALUES(21,'TUE'  ,'111');

COMMIT;--INSERT후 저장소에 저장
ROLLBACK;--커밋안했던것취소


SELECT * FROM MEMBER;--MEMBER에서 모든컬럼을가져와

+ Recent posts