목록데이터베이스 (22)
gwooden_코린이
1. 데이터 정의어 CREATE -> 테이블 생성 CREATE TABLE 연습 DROP -> 테이블 삭제 ALTER -> 테이블 수정 1. CREATE VARCHAR -> 문자(가변길이) EX) CHAR(50) -> ABC 입력 -> 50바이트 VARCHAR -> 최대 2,000바이트 VARCHAR2 -> 최대 4,000바이 CHAR -> 문자 (고정길이) EX) VARCHAR(50) -> ABC 입력 -> 3바이트 NUMBER -> 숫자(가변길이) LONG -> 숫자, 문자 (최대 크기가 2GB까지 허용) CLOB -> 문자 최대 4GB까지 허용 BFILE -> 파일 저장 - 테이블 생성 방법은 2가지가 존재 테이블 생성 시 주의사항 (테이블 생성 규칙) -> 컬럼 생성도 동일한 규칙 숫자로 시작안함 ..
1. 오라클 데이터 베이스 전체 복습 SELECT, INSERT, UPDATE, DELETE -> 데이터 조작어 -- 새 테이블 생성 데이터는 기존 테이블 복사해서 가져오기 CREATE TABLE EX_EMP AS SELECT * FROM EMP; CREATE TABLE EX_DEPT AS SELECT * FROM DEPT; CREATE TABLE EX_SALGRADE AS SELECT * FROM SALGRADE; -- EX_DEPT 테이블에 데이터를 추가하십시오 -- 1. 부서번호, 부서명, 지역 -- 50, ORACLE, BUSAN -- 60, SQL, ILSAN -- 70, SELECT, INCHEON -- 80, DML, SEOUL INSERT INTO EX_DEPT VALUES (50, 'OR..
1. 오라클 DELETE 삭제 DELETE 삭제문(레코드 삭제) DELETE FROM 삭제할 내용이 있는 테이블 WHERE 조건 -- 삭제 DELETE FROM 연습 WHERE DEPTNO = 30; SELECT * FROM 연습; DROP 은 테이블 자체를 없애버리고 DELETE는 테이블 안에 있는 데이터를 지워준다. -- 연습 테이블 안에 있는 데이터 전체 삭제 DELETE FROM 연습; SELECT * FROM 연습; -연습2 테이블에 급여가 1500 이하이고 부서번호가 10또는 20인 데이터를 삭제 DELETE 연습2 WHERE SAL
1. 오라클 데이터 베이스 INSERT 삽입문 오라클 INSERT 삽입문 INSERT INRO 테이블 VALUES (추가할 내용들) INSERT INRO 테이블(컬럼, 컬럼) VALUES (추가할 내용들) CREATE TABLE DEPT_TEMP AS SELECT * FROM DEPT; SELECT * FROM DEPT_TEMP; -- 데이터 마다 데이터타입이 다를 수 있다보니 -- 순서에 맞춰서 값을 알맞게 입력해줘야 된다. -- DEPTNO, DNAME, LOC INSERT INTO DEPT_TEMP VALUES (50, 'DATABASE', 'SEOUL'); SELECT * FROM DEPT_TEMP; -- 전체 데이터를 출력할때는 컬럼을 별도로 입력할 필요는 없지만 -- 컬럼별로 특정 값을 입력하..
1. 오라클 서브쿼리 SQL문 안에 SELECT를 작성 (SELECT ~~~ FROM ~~ WHERE ~~~) 서브쿼리는 반드시 괄호안에 작업해야 된다. DEPT 테이블에서 사원이름(EMP테이블)이 KING인 부서명을 출력하고 싶을때 SELECT DNAME FROM DEPT WHERE ???? DEPTNO = 10 ??? 사원이름(EMP테이블)이 KING에 부서번호를 먼저 뽑아낸다. SELECT DNAME FROM DEPT WHERE ???? 1. EMP 테이블에서 이름이 KING인 부서번호를 검색 2. DEPT 테이블에 부서번호랑 KING인 부서번호가 같은거를 찾아라 SELECT DNAME FROM DEPT WHERE DEPTNO = (SELECT DEPTNO --KING인 부서번호 FROM EMP W..
1. 오라클 집합 연산자 여러개의 SELECT를 하나로 연결 집합 연산자는 잘 사용하지 않음 1-1. UNION : 사이에 넣으면 결과를 하나로 합쳐주고 중복 제거 (UNION ALL을 하면 중복 제거 안함) SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP WHERE DEPTNO = 10 UNION SELECT EMPNO, ENAME, SAL, DEPTNO --컬럼이 일치해야됨 FROM EMP WHERE DEPTNO = 20; 1-2. INTERSECT : 교집합 (중복제거) SELECT EMPNO, ENAME, SAL FROM EMP WHERE SAL>1000 INTERSECT --교집합 (중복제거) SELECT EMPNO, ENAME, SAL FROM EMP WHERE SA..
1. 오라클 정규화/정규형 데이터베이스 중복을 제거하다보면 이상현상이 생기게됨 이상현상이 생기는걸 방지하기 위한 것 이상현상 EX) 공간낭비 테이터중복 갱신이상 삽입이상 삭제이상 - 제1정규화 하나의 컬럼은 하나의 값만 가져야 한다 (원자값을 가진다) - 제2정규화 테이블에 연관없는 컬럼을 다른테이블로 옮기는 것 한개 이상의 데이터(컬럼)들로 구성된 후보키가 없으면 제 2 정규형 PARTIAL DEPENDENCY를 제거한 테이블 -> 제2정규형 - 제3 정규화 테이블이 제2정규형에 해당 기본키가 아닌 모든 컬럼이 기본키에 이행적 함수 종속이 되지 않으면 제3정규형 테이블이 됨 전이 의존성 테이블 만들기 CREATE CREATE TABLE 고객( 고객번호 NUMBER(4) PRIMARY KEY, 이름 VA..
데이터베이스 함수 LOWER : 소문자 변환 INITCAP : 첫글자만 대문자 SELECT ENAME, LOWER(ENAME), INITCAP(ENAME) FROM EMP; UPPER : 대문자 변환 SELECT * FROM EMP WHERE ENAME LIKE UPPER('%s%'); LENGTH : 글자수 리턴 SELECT ENAME, LENGTH(ENAME) FROM EMP; LENGTH를 이용해 ENAME에 몇글자인지 확인할 수 있다. SELECT * FROM EMP WHERE LENGTH(ENAME) = 5; 좀 더 응용하면 글자수를 이용해 5글자인 데이터만 추출하는것도 가능하다. LENGTHB : 바이트로 리턴 SELECT LENGTH('가나'), LENGTHB('가나') FROM DUAL; ..