db (7) 썸네일형 리스트형 DB) SQL 기초 (JOIN, CROSS JOIN, EQUI JOIN(INNER JOIN , NATURAL JOIN), SELF JOIN, OUTER JOIN(LEFT / RIGHT / FULL OUTER JOIN)) JOIN 이란? JOIN 종류 1) CROSS JOIN 2) EQUI JOIN (등가조인) 2-1 > INNER JOIN (내부조인) 2-2 > NATURAL JOIN (내추럴조인) 3) SELF JOIN (셀프조인) 4) OUTER JOIN 3-1 > LEFT OUTER JOIN 3-2 > RIGHT OUTER JOIN 3-3 > FULL OUTER JOIN 🧩 JOIN 서브쿼리만 사용하면 쿼리가 굉장히 복잡해진다. => 그래서 join을 활용한다. 둘 이상의 테이블을 연결하여 데이터를 검색하는 방법 이다. 두개의 테이블이 조인하기 위해서는 적어도 하나의 공통된 컬럼이 존재 해야 한다. 그래서 일반적으로 부모(PK)와 자식(FK)간에 조인이 수월하게 이루어 진다. 🧩 JOIN의 종류 CROSS JOIN.. DB) SQL 기초 (SUBQUERY(서브쿼리) 사용이유와 사용법) 🧩SUBQUERY 서브쿼리 쿼리안의 쿼리 하나의 쿼리문으로 받아온 데이터를 바탕으로 다른 내용 검색 할 때 1) 사전에 추출된 내용에서 재 검색 2) 검색된 내용을 가상 컬럼을 만들어서 사용 서브쿼리 사용이유 ? 가져온 데이터를 재 정제하기 위함 사용해보기 --> 부서테이블 생성 create table dept( -- 부서 deptno varchar(10) primary key ,deptname varchar(20) ,loc varchar(10) ); --> 사원테이블 생성 (부서테이블의 deptno를 외래키로) create table emp( -- 사원 ename varchar(20) ,job varchar(50) ,deptno varchar(10) ,hiredate date ,FOREIGN KEY (.. SQL Error [1451] [23000]: (conn=15) Cannot delete or update a parent row: a foreign key constraint fails ( 해결방법 : FOREIGN KEY에 ON DELETE CASCADE 추가하기) 해당 오류는 연계참조무결성 제약조건으로 생기는 오류이다. ↓ 처음 테이블을 생성할 때 ON DELETE CASCADE 옵션을 추가하고 작업하였다면 상관없지만 CREATE TABLE products( pd_id INT(10) PRIMARY KEY, sup_id INT(10), price INT(10), FOREIGN KEY (sup_id) REFERENCES supplier(sup_id) ON DELETE CASCADE ); ↓ ON DELETE CASCADE 옵션없이 작업하다가 데이터를 삭제할 경우 DELETE FROM supplier WHERE sup_id = 1; ↓ SQL Error [1451] [23000]: (conn=15) Cannot delete or update a parent row: a.. DB) SQL 기초 (COMBINATION KEY, NOT NULL, 제약조건 확인/삭제) 목차 CombinationKey NOT NULL 1) 테이블 생성시 추가 2) 테이블 생성후 추가 제약조건 확인 제약조건 삭제 🧩Combination Key (복합키) 하나의 컬럼으로 하나의 기본키를 구성하는 것이 가장 좋으나, 어쩔 수 없는 경우 기수의 컬럼을 조합해서 기본키를 생성 최대 16개까지 가능하다. 외래키를 이용해 복합키를 만드는 경우가 있는데, 이 경우 UPDATE 에 제한을 주므로 사용하지 않는 것이 좋다. -- pk_two_test 테이블의 first_col과 second_col를 복합키로 만들자 CREATE TABLE pk_two_test( first_col INT(5), second_col VARCHAR(10), third_col DATE, PRIMARY KEY(first_col,s.. DB) SQL 기초 (PRIMARY KEY, UPSERT(DUPLICATE KEY)) 목차 PRIMARY KEY란? PRIMARY KEY 설정법 -테이블 생성시 추가 -테이블 생성 후 추가 UPSERT -중복값 있을 때 -중복값 없을 때 🧩PRIMARY KEY (기본키) 중복과 NULL을 허용하지 않는다. 테이블 종속적이다. (하나의 테이블에 하나의 PK) 하나의 컬럼으로 하나의 PK를 만들 수 있지만, 여러개의 컬럼을 합쳐서 만들 수도 있다. (최대 16개까지 조합 가능) 🧩PRIMARY KEY 설정법 1 ) 테이블 생성시 함께 생성( 가장 많이 활용) CREATE TABLE 테이블명( 컬럼명 컬럼타입 PRIMARY KEY ); 사용해보기 --pk_test테이블에 first_col 컬럼에 PRIMARY KEY 추가 CREATE TABLE pk_test( first_col INT(3) P.. DB) SQL 기초 (DBMS , DCL , DDL , DML , TCL) 목차 DBMS DCL(GRANT / REVOKE ) DDL(CREATE / ALTER / DROP / RENAME / TRUNCATE) DML(INSERT, SELECT, UPDATE, DELETE) TCL(COMMIT, ROLLBACK) 🧩DataBase 데이터를 영구적으로 저장 할 수 있는 저장소 이다. Data Base를 이용하면 서로 다른 시스템 간에 데이터를 공유 할 수 있다. 데이터베이스는 여러 테이블을 저장하는 장소 개념 🧩DBMS (Data Base Management System) Data Base 를 관리하는 시스템을 DBMS라고 한다. 많은 종류의 DBMS 들이 존재한다. Data Base Model 은 Relational 과 NO-SQL 로 크게 구분 된다. Model 은 관계형 데.. [Mac] 맥북 백업파일(더미) 복원 with Terminal 명령어 테스트로 백업해보는 파일 : employees.sql 0 ) 복원할 파일의 데이터베이스 없다면 sql프로그램에서 먼저 생성 (있으면 건너뛰기) -- employees 데이터베이스 생성 create database employees; -- 생성되었는지 확인 show databases; ↓ 터미널(Terminal) 사용 ↓ 1 ) Mariadb 경로확인 which mariadb 나의 경우 homebrew에 설치되어있어서 경로는 /opt/homebrew/bin/mariadb 2) cd // 로 최상위 위치로 가기 : 그냥...해줌 (건너뛰어도 됨) cd // 3) 마리아디비 설치되어있는 bin폴더 접근 cd /opt/homebrew/bin 4) [mysql | mariadb] -u [관리자계정] -p [복원할.. 이전 1 다음