본문 바로가기
  • hello world

DataBase18

[MySQL] 쿼리 실습문제 문제 01사번, 성명, 급여, 입사일자, 이메일주소를 출력하시오.결과가 존재하지 않을 수도 있습니다!단,- 급여가 10000이상이어야 합니다.- 커미션지급대상이어야 합니다.- 부서가 80이거나 100이어야 합니다.- 그리고 관리자가 있어야 합니다.- 그리고 직무가 'P'로 시작되는 이름이어야 합니다.- 입사일자가 빠른 순서로 정렬하시오!select employee_id, concat(last_name, ' ', first_name) name, salary, hire_date, emailfrom employeeswhere 1 = 1 #이게 없으면 그냥 오류라서 and를 붙여줘야하니까 귀찮음 and salary >= 1000 and commission_pct is not null and depa.. 2024. 7. 15.
[MySQL] WITH RECURSIVE / 재귀쿼리 재귀호출 계층형쿼리 MySQL 버전: 8.0.35 댓글 테이블 ↓ 댓글 테이블 데이터 예시 ↓ query ↓ select * from (WITH RECURSIVE CTS AS ( SELECT comments.* , 0 as lvl , cast(comments.comment_id as char) as path FROM comments WHERE upper_id = 0 AND store_id = 1 UNION ALL SELECT u.*, CTS.lvl+1, concat(CTS.path, ',', cast(u.comment_id as char)) FROM comments u INNER JOIN CTS ON u.upper_id = CTS.comment_id ) SELECT comment_id, user_id, recipe_id, .. 2023. 12. 15.
[MySQL] alter table : FK 추가하기 현재까지 만든 테이블 ERD ▼ 근데 posts 랑 projects 랑 연결이 안되어있음 ▲ posts 테이블 posts 테이블의 post_id를 가져오자! ▲ 현재 projects 테이블 테이블 수정하기 ▼ 수정한 테이블 ERD ▼ 2023. 11. 4.
[DataBase] eXERD 설치 및 사용 방법 설치 30일 무료체험판 ▼ https://www.exerd.com/down.do 이클립스처럼 workspace 필요 사용방법 1. 네비게이터에서 오른쪽 클릭 → 새로작성 → eXERD File 2. 대상 DBMS에 본인이 사용하는 프로그램 선택, 파일이름 수정 → 도메인은 일단 X → 완료 3. 그러면 이런 화면 뜸 >> 시작! 4. 메인창에 오른쪽 클릭 → 새로 만들기 → 테이블 5. 저렇게는 볼 수 없으니.. 노랑네모네모 눌려줌 (논리/물리 동시편집) → 눌리면 오른쪽처럼 됨 6. 테이블 클릭해서 활성화 된 상태에서 ctrl + Enter 하면 밑으로 새 칼럼이 생김 7. 관계는 저기 노란 네모 눌려서 만들어줌 도메인 관리하기 밑에 저 도메인들 어떻게 쓰는거냐면 밑에 도메인에 공통된 도메인 등록해놓고.. 2023. 10. 31.
[DataBase] SQL : DML (SELECT 함수) # 문자함수CONCAT(str1, str2)문자열 두개 연결LENGTH(str)문자열 길이 반환LOWER(str)문자열 소문자로 변환UPPER(str)문자열 대문자로 변환INITCAP(str)첫글자만 대문자로 변경SUBSTR(str, start, length)문자열을 start부터 length개 자른다REPLACE(str, str_to_replace, replace_str)문자열에서 str_to_replace 라는 문자열을 replace_str으로 바꿔줌INSTR(string, substring, start, n)문자열에서 substring이라는 문자가 어디있는지 찾아줌start: 찾기시작할 위치 / n: 몇번째TRIM([LEADING|TRAILING|BOTH] char from str)문자열에서 cha.. 2023. 9. 1.
[DataBase] 제약 조건 1. Primary Key 기본키 2. Foreign Key 외래키 3. Unique 고유 제약 조건 다른애들이랑 중복되면 안된다고 알려주는 >> 중복방지 TABLE EMP COLUMN 열이름 자료형 UNIQUE; 4. Check 체크 제약 조건 ex) 18세 이상만 가입 TABLE EMP COLUMN 열이름 자료형 CHECK(조건식); 5. NOT NULL ex) 테이블 수정할 때 자료형 옆에 낫널 이라고 적을 수 있음 TABLE EMP COLUMN 열이름 자료형 NOT NULL; 2023. 9. 1.
[DataBase] 객체 종류 * DBMS 별로 다를 수 있음 1. Table 테이블 열과 행의 형태로 저장시키는 기본객체 2. Index 인덱스 검색속도를 향상시키기 위해 사용 3. View 뷰 가상 테이블 >> 실행하면 아래 나오는거 >> 우리가 볼 수 있도록 만들어진 저장공간을 차지하지 않음 >> 보여주고 끝이니까 4. Stored Procedure 저장 프로시저 SQL문과 프로그래밍 로직을 결합하여 실행가능한 코드 단위 데이터베이스 내부 프로그램 5. Triger 트리거 데이터베이스에서 발생하는 이벤트 동작 작업 을 자동으로 응답하여 실행되도록 설정한 작업 >> 감시하는 애 6. Function 함수 2023. 9. 1.
[DataBase] SQL : DDL DDL : Data Definition Language 데이터 정의어 데이터베이스 구조를 정의하고 조작하는데 사용되는 SQL문의 일부분 DDL은 객체(테이블, 인덱스, 뷰) 를 생성 수정 삭제 하는 작업을 수행 1. CREATE 새로운 데이터베이스 객체를 생성 CREATE 객체 (요소); 2. ALTER 이미 존재하는 데이터베이스 객체 변경 ALTER 객체 객체명 ADD column 열이름 자료형 : 열 추가; column 열이름 자료형 : 열 수정; DROP column 열이름 : 열 삭제; 3. DROP 데이터베이스 객체 삭제 DROP 객체 객체명; 4. COMMENT 데이터베이스 객체에 대한 설명(주석) 추가 COMMENT ON 객체 객체명 IS '어쩌구 저쩌구'; 5. RENAME 데이터베이스 객.. 2023. 9. 1.
[DataBase] Transaction (Tx) Transaction 트랜잭션 : 쪼갤 수 없는 업무 처리의 최소 단위 데이터베이스에서 한 개 이상의 작업을 논리적으로 묶은 작업의 단위 데이터베이스의 일관성과 안정성을 보장하기 위해 사용 일련의 작업들이 모두 성공적으로 수행되거나 모두 취소되어야 함 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들 데이터베이스 시스템에서 병행제어 및 회복작업 시 처리되는 작업의 논리적인 단위로 사용됨 사용자가 시스템에 대한 서비스 요구시 시스템이 응답하기 위한 상태 변환 과정의 작업단위로 사용됨 ACID 데이터의 무결성을 보장하기 위햐여 DBMS의 트랜잭션이 가져야 할 특성 더보기 원자성 (Atomicity) - 트랜잭션은 하나의 원자적 단.. 2023. 9. 1.
[DataBase] SQL : DML (INSERT · UPDATE · DELETE) DML : Data Manipulation Language RDBMS 테이블 데이터를 저장, 수정, 삭제하는 명령어 INSERT SELECT UPDATE DELETE # INSERT 데이터베이스에서 정보를 추가 하는데 사용되는 코드 INSERT INTO table(column1, column2, column3, ... ) VALUES (value1, value2, value3, ...) >> 연결된 테이블 주의 >> 기본키 주의 # UPDATE 데이터베이스에서 정보를 수정 하는데 사용되는 코드 UPDATE table SET column1 = value1, column1 = value1, ... WHERE 조건식 >> 어떤 row를 수정할 것인지 명확하게 해주기 위해 조건식이 필요 # DELETE 데이터베.. 2023. 9. 1.
[DataBase] Subquery 서브쿼리 하위질의 # 서브쿼리 SQL 쿼리 내부에 포함된 쿼리 다른 쿼리의 일부로 사용되기 위한 쿼리 주로 SELECT, FROM, WHERE 절에서 사용 복잡한 데이터 조작이나 필터링을 가능하게 해줌 중첩된 여러 개의 서브쿼리를 사용가능 비효율적인 작성방식 피할수 있음 → 쿼리 최적화 대량 데이터나 복잡쿼리에서는 성능문제가 발생할 수 있음 1. 단일행 서브쿼리 (Single-Row Subquery) || 스칼라 서브쿼리 (Scalar Subquery) 단일 행만을 반환하기 위한 서브쿼리 (단일값 포함) 일반적으로 SELECT, WHERE 절에서 사용 반환된 단일 값은 메인 쿼리의 비교연산자에서 사용되거나 출력결과에 포함시킬 수 있음 - SELECT절 SELECT EMPNO, ENAME, (SELECT GRADE FROM.. 2023. 8. 31.
[OracleDB] SCOTT 계정 실습문제 EMPNO 사번 ENAME 이름 JOB 직업 MGR 상사사번 HIREDATE 입사날짜 SAL 급여 COMM 추가수당 DEPTNO 부서번호 DNAME 부서이름 LOC 부서위치 ▶ 부서번호가 20 이고 직업이 SALESMAN인 사람 찾기 더보기 SELECT * FROM EMP WHERE DEPTNO = 20 OR JOB = 'SALESMAN'; ▶ A 가 들어간 직업 모두 찾기 더보기 SELECT * FROM EMP WHERE JOB LIKE '%A%'; ▶ 직업이 MANAGER, SALESMAN, CLERK가 아닌 사람 찾기 더보기 SELECT * FROM EMP /* WHERE JOB != 'MANAGER' AND JOB != 'SALESMAN' AND JOB != 'CLERK'; */ WHERE NOT.. 2023. 8. 29.
[DataBase] SQL : DML (SELECT) DML :Data Manipulation LanguageRDBMS 테이블 데이터를 저장, 수정, 삭제하는 명령어   INSERTSELECTUPDATEDELETE    # SELECT 문데이터베이스에서 정보를 검색하는데 사용되는 코드  순서)SELECT DISTINCTFROMWHEREGROUP BY HAVINGORDER BY   1. SELECT절 :SELECT 문의 시작을 담당어떤 열을 반환할건지 지정함SELECT * : 모든 열을 의미 SELECT column1, column2, column3, ... columnN;>> 해당 column들이 반환하고자하는 테이블 열의 이름이다! # DISTINCT 키워드중복된 결과를 제거하고 고유한(unique) 결과만을 반환하는데 사용SELECT절에서 column .. 2023. 8. 29.
[OracleDB] Toad 설치 Toad Tool for Oracle Application Development Oracle, MySQL, MongoDB, PostgreSQL 등 DBMS 관리 및 분석에 사용되는 소프트웨어 툴 https://toadworld.com/downloads/ Downloads Download, try and see for yourself. Reduce your risk and complexity in IT management with powerful, innovative products and solutions from us. toadworld.com 2023. 8. 29.
[DataBase] SQL (종류, 키, 자료형) SQL Structured Query Language RDBMS 에서 사용하는 언어 # 명령어 DDL : Data Definition Language 데이터 정의어 RDBMS 관리를 위해서 테이블을 포함한 객체들을 생성, 수정, 삭제하는 명령어 CREATE SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의함 ALTER TABLE에 대한 정의를 변경하는 데 사용함 DROP SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제함 DML : Data Manipulation Language 데이터 조작어 RDBMS 테이블 데이터를 저장, 수정, 삭제하는 명령어 https://treasurehunter-jt.tistory.com/42 SELECT 테이블에서 튜플을 검색함 INS.. 2023. 8. 29.