오라클이란 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;
행추가하기
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에서 모든컬럼을가져와
'2021 Newlecture > Servlet & JSP' 카테고리의 다른 글
set / map/ list (0) | 2021.04.26 |
---|---|
기존코드분리/사용자가 입력한 값 넣기/라이브러리를연결 (0) | 2021.04.23 |
JDBC/엔티티클래스 (0) | 2021.04.22 |
UPDATE SET / JDBC Driver (0) | 2021.04.21 |
SQL / 테이블생성하기 / CHARACTER형식 (0) | 2021.04.19 |
코드블럭 <%%> <%! %> <%= %> <%@ %> (0) | 2021.04.16 |
Server Path / 코드블럭 / 4대 저장소 (0) | 2021.04.15 |
POST와 GET요청 코드 분리하기/서블릿 생명주기/doGET(),doPost() 오버라이드/sendRedirect (0) | 2021.04.14 |