일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 최강의 인생
- array.slice()
- MySQL
- 코플릿
- Developer_JoyKim
- 블록체인
- 배열
- select
- 정규표현식
- join
- SQL
- 코딩공부
- 재귀함수
- JavaScript
- array
- 프로그래머스
- 자바스크립트
- 개발자_조이킴
- array.push()
- for문
- 코드스테이츠
- node.js
- Algorithms
- Where
- 역행자
- 코딩테스트
- 알고리즘
- Hackerrank
- 개발자의 책장
- Programmers
- Today
- Total
목록Online Class/갖고노는 MySQL 데이터베이스 (6)
CodingSpace

What: 서브쿼리 말 그대로 쿼리안에 또 다른 쿼리를 서브쿼리라고 칭함! 서브쿼리로 작성된 쿼리문을 JOIN을 사용해서도 작성 가능함! 비상관 서브쿼리 쿼리와 서브쿼리가 상관없는 경우 -- 상관 서브쿼리 쿼리와 서브쿼리가 맞물려서 실행되는 경우 -- 연산자 의미 ~ ALL 서브쿼리의 모든 결과에 대해 ~ 하다 ~ ANY 서브쿼리의 하나 이상의 결과에 대해 ~하다 EXISTS 서브쿼리의 결과가 존재하는지 NOT EXISTS 서브쿼리의 결과가 존재하지 않는지 References. For Developer. 잘못되거나 부족한 부분이 있다면 언제든지 댓글 부탁드립니다 :)

What: 사용자 루트 계정으로 사용하는 것은 위험함 권한이 어느정도 제한된 부계정을 사용하여 개발하는 것이 일반적 -- 사용자 조회 USE mysql; SELECT *FROM user; 사용자 생성 -- 사용자 생성 CREATE USER (사용자 이름_주소) IDENTIFIED BY (패스워드) CREATE USER 'user_1`'@'%' IDENTIFIED BY 'abcdefg'; 사용자 삭제 -- 사용자 삭제 DROP USER 'user_1'@'%'; 권한 -- 사용자 권한 추가 -- user_1에게 business 테이블에 대한 SELECT 권한 부여 GRANT SELECT ON mydatabase.businesses TO 'user_1'@'%'; 사용자 권한 조회 -- 사용자 권한 조회 SHO..

What: 트랜잭션 (Transaction) 모든 구문이 성공 OR 모든 구문이 실패 어떤 구문은 성공하고 어떤 구문은 실패하면 안될때 트랜잭션을 사용 원자성 (Atomicity) 은행 송금 예시 A가 B 돈을 보냄: A 계좌에서 돈이 출금 B 계좌에서 돈이 입금 만약, "A 계좌에서 돈이 출금"라는 SQL 구문만 실행되고, 오류가 발생하여 "B 계좌에서 돈이 입금" SQL 구문이 실행되지 않으면 서비스를 복구하는데 막대한 비용이 듬! 만약 위의 두 SQL 구문이 모두 성공하거나 실패하게 만들면 위와 같은 문제가 없음! → 이때 트랜잭션을 사용함 -- 트랜잭션 시작 START TRANSACTION; DELETE FROM sections WHERE section_id > 0; SELECT *FROM sec..

What: 인덱스 특정 컬럼(들)에 대한 목차 생성 - 검색 가속화 테이블 내용변경(추가, 수정, 삭제)시 시간 더 소모 기본키(PRIMARY KEY)는 기본적으로 인덱스가 걸려있음 → 따라서 PRIMARY KEY를 기준으로 데이터 검색은 빠름! -- 인덱스 생성 ALTER TABLE (테이블명) ADD INDEX (인덱스명) (인덱스를 적용시킬 컬럼명) ex) ALTER TABLE `mydatabase`.`businesses` ADD INDEX index_biz_name (business_name); -- 다중 컬럼 인덱스 ALTER TABLE menus ADD INDEX index_name_cal (menu_name, kilocalories); -- 인덱스 조회 SHOW INDEX FROM busin..

What: 뷰 (View) 뷰 생성 (Create) CREATE VIEW (뷰 이름) AS (실행문); ex) CREATE VIEW section_view AS SELECT section_id, section_name FROM sections; 뷰 제거 (Delete) DROP VIEW (뷰 이름) ex) DROP VIEW section_view; 다중 기본키 추가 ALTER TABLE (테이블명) ADD PRIMARY KEY (컬럼명1, 컬럼명2); ex) ALTER TABLE people ADD PRIMARY KEY (first_name, last_name); 뷰를 사용하는 이유 보안성 - 테이블 구조 및 내용 숨기기 편의성 - 복잡한 쿼리 사전 구현 References. For Developer. ..

What: 기본키 (Primary Key) 기본키 변경하기 (제거) ALTER TABLE (테이블명) DROP PRIMARY KEY; ex) ALTER TABLE people DROP PRIMARY KEY; 기본키 변경하기 (추가) ALTER TABLE (테이블명) ADD PRIMARY KEY (컬럼명); ex) ALTER TABLE people ADD PRIMARY KEY (last_name); 다중 기본키 추가 ALTER TABLE (테이블명) ADD PRIMARY KEY (컬럼명1, 컬럼명2); ex) ALTER TABLE people ADD PRIMARY KEY (first_name, last_name); 고유키 (Unique Key) 외래키 (Foreign Key) 외래키 추가 ALTER TAB..