Basic/DB 10

MYSQL 설치 및 기본설정

1. 설치 방법 mysql 홈페이지에서 community 버전 installer를 다운받는다. 설치 중 ROOT 계정의 비밀번호를 입력하고 user accounts를 추가한다. 2. Workbench 사용법 1) 계정 생성 및 권한 부여 ROOT계정에 접속한다. 좌측 Navigator - Users and Privileges - Add Account - login 아이디 비밀번호 입력 - Administrative Roles 부여할 권한 체크 (DBA 체크 시 전체 권한 부여) 2) 새 연결 Home - MySQL Connections 플러스 버튼 클릭 - 계정 아이디 비밀번호 입력 - test Connection - OK 3) db 및 테이블 생성 show databases; create databas..

Basic/DB 2023.02.09

ORACLE MYSQL 더미데이터 (dummy data) 생성 방법

1. 재귀복사 - 2배씩 늘리기 ex) Oracle insert into tbl_board (bno, title, content) (select seq_board.nextval, title, content from tbl_board); commit; MySQL insert into boards(boardtitle, boardcontent, boardwriter)(select boardtitle, boardcontent, boardwriter from boards); 2. 프로시저 반복문 활용하기 ex) Oracle BEGIN FOR i IN 1..500 LOOP INSERT INTO TB_BOARD(IDX, TITLE, HIT_CNT, DEL_GB, CREA_DTM, CREA_ID) VALUES(SEQ_..

Basic/DB 2023.01.22

ORACLE SQL 시퀀스 (NEXTVAL, CURRVAL)

sequence란? : 컬럼의 값을 자동으로 증가시키기 위해 일련번호를 부여해주는 것이다. (ex) 게시판 글에 순번 매기기 시퀀스 생성 CREATE SEQUENCE 시퀀스명; create sequence pds_item_id_seq; 시퀀스명.NEXTVAL : 실행할 때마다 시퀀스 값이 증가한다. 다음값을 가져온다. EX) pstmt = conn.prepareStatement("insert into pds_item " + "(pds_item_id, filename, realpath, filesize, downloadcount, " + "description) " + "values (pds_item_id_seq.NEXTVAL, ?, ?, ?, 0, ?)"); 시퀀스명.CURRVAL : 시퀀스의 현재값을 ..

Basic/DB 2022.10.29

ORACLE SQL 숫자·날짜·변환·일반·그룹함수 SCOTT 문제풀이

숫자함수 1.1. -15의 절대값 반환 SELECT ABS(-15) FROM DUAL; 1.2. 34.5678의 소수점 아래를 버림 SELECT FLOOR(34.5678) FROM DUAL; 2. 653.54의 십 단위에서 반올림 SELECT ROUND(653.53, -2) FROM DUAL; 3.1. 78.901의 일의 자리수를 버린 값 SELECT TRUNC(78.901, -1) FROM DUAL; 3.2. 34를 7로 나눈 나머지값 반환 SELECT MOD(34, 7) FROM DUAL; 3.3. 사번이 짝수인 사원들의 사번과 이름과 직급을 출력 SELECT EMPNO, ENAME, JOB FROM EMP WHERE MOD(EMPNO, 2) =0; 날짜함수 1. 어제 날짜를 반환 SELECT SYS..

Basic/DB 2022.10.03

ORACLE SQL 조인과 서브쿼리 SCOTT 문제 풀이

조인 1. ACCOUNTING 부서 소속 사원의 이름과 입사일을 출력 SELECT ENAME, HIREDATE, DNAME FROM EMP INNER JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO --USING (DEPTNO) WHERE DNAME = 'ACCOUNTING'; 2. 커미션을 받는 사원의 이름과 그가 속한 부서명을 출력 SELECT ENAME, DNAME, COMM FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO WHERE COMM>0; 3. 뉴욕에서 근무하는 사원의 이름과 급여를 출력 SELECT ENAME, SAL, LOC FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO WHERE LOC = '..

Basic/DB 2022.09.30

ORACLE SQL 기초 SELECT문 SCOTT 문제 풀이

SELECT 부서 번호가 10번인 부서의 사람 중 사원번호, 이름, 급여를 출력하라. SQL> SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP WHERE DEPTNO = 10; 사원번호가 7369인 사람 중 이름, 입사일자, 부서번호를 출력하라. SQL> SELECT ENAME, HIREDATE, DEPTNO, EMPNO FROM EMP WHERE EMPNO=7369; 이름이 ALLEN인 사람의 모든 정보를 출력하라. SQL> SELECT * FROM EMP WHERE ENAME='ALLEN'; 입사일자가 82/01/23인 사원의 이름, 부서 번호, 급여를 출력하라. SQL> SELECT ENAME, DEPTNO, SAL, HIREDATE FROM EMP WHERE TO_CHA..

Basic/DB 2022.09.29

ORACLE SQL JOIN과 서브쿼리 SCOTT 문제 풀이

JOIN 1. 부서 테이블과 사원테이블에서 사번, 사원명, 부서코드, 부서명을 검색하시오. ( 사원명 오름차순 정렬할 것 ) SELECT EMPNO, ENAME, EMP.DEPTNO, DNAME FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO ORDER BY ENAME ASC; -- DEPTNO는 두 테이블에 모두 있기 때문에 SELECT DEPTNO 앞에 테이블명을 붙여야 한다. 2. 부서 테이블과 사원테이블에서 사번, 사원명 , 급여 , 부서명을 검색하시오. 단, 급여가 2000 이상인 사원에 대하여 급여기준으로 내림차순 정렬할 것. SELECT EMPNO, ENAME, SAL, DNAME FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEP..

Basic/DB 2022.09.28

ORACLE SQL 문자함수 SCOTT 문제 풀이

1.1. 문자값 'DataBase'를 소문자로 변환 SELECT 'DataBase', LOWER('DataBase') FROM DUAL; 1.2. 문자값 'DataBase'를 대문자로 변환 SELECT 'DataBase', UPPER('DataBase') FROM DUAL; 1.3. 'Smith'란 이름을 갖는 사원의 사번과 이름과 급여와 커미션을 출력 SELECT EMPNO, INITCAP(ENAME), SAL, COMM FROM EMP WHERE ENAME='SMITH'; 1.4. 문자값 'Data'와 'Base'를 연결 SELECT CONCAT('Data', 'Base') FROM DUAL; 1.5. 이름이 6글자 이상인 사원의 사번과 이름과 급여를 출력 SELECT EMPNO, ENAME FROM..

Basic/DB 2022.09.21

ORACLE SQL SELECT문 SCOTT 문제 풀이

1. EMP 테이블의 모든 내용 출력 SELECT * FROM EMP; 2. 사원의 이름과 급여와 입사일자를 출력 SELECT ENAME, SAL, HIREDATE FROM EMP; 3. DEPTNO 칼럼에 departmentNo라는 별칭 지정 SELECT DEPTNO AS departmentNo FROM DEPT; 4. 사원들의 소속 부서번호를 출력하되 중복되지 않고 한번씩 출력 SELECT DISTINCT DEPTNO FROM DEPT; 5.1. 테이블 EMP 중에서 부서번호가 10번인 사원에 관한 모든 정보 출력 SELECT * FROM EMP WHERE DEPTNO = 10; 5.2. 테이블 EMP 중에서 급여가 2000 미만이 되는 사원의 정보 중에서 사번과 이름, 급여를 출력 SELECT EM..

Basic/DB 2022.09.21