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..

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_..

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 : 시퀀스의 현재값을 ..

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..

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 = '..

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..

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..

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..

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..

DB 2022.09.21