일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이펙티브 자바
- aop
- 이펙티브자바
- 알고리즘분석
- 스프링부트와AWS로혼자구현하는웹서비스
- 자바스터디
- 인덱스
- 기술면접
- 클린코드
- 인프런백기선
- mysql
- CleanCode
- AWS RDS
- 자바
- AWS
- jpa
- MariaDB
- java
- 혼공SQL
- 자료구조
- 이팩티브 자바
- SQL쿡북
- 도메인 주도 개발 시작하기
- 네트워크
- 알고리즘
- react
- vue.js
- 자바예외
- 인프런김영한
- DDD
- Today
- Total
목록SQL (44)
기록이 힘이다.

조인(join)이란 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말합니다. 두 테이블을 엮어야만 원하는 형태가 나오는 경우도 많습니다. 내부 조인 두 테이블을 연결할 때 가장 많이 사용되는 것이 내부 조인입니다. 그냥 조인이라 부르면 내부 조인을 의미하는 것입니다. 일대다 관계의 이해 두 테이블의 조인을 위해서는 테이블이 일대다(one to many) 관계로 연결되어야 합니다. 일대다 관계란 한쪽 테이블에는 하나의 값만 존재해야 하지만, 연결된 다른 테이블에는 여러 개의 값이 존재할 수 있는 관계를 말합니다. 예를 들어, 회원 테이블에서 블랙핑크의 아이디는 'BLK'로 1명(1,one) 밖에 없습니다. 그래서 회원 테이블의 아이디를 기본 키(primary key, PK)로 지정했습니다...

정수 문자형 VARCHAR가 CHAR보다 공간을 효율적으로 운영할 수 있지만, MySQL 내부적으로 성능(빠른 속도)면에서는 CHAR로 설정하는 것이 조금 더 좋습니다. CHAR는 글자의 개수가 고정된 경우, VARCHAR는 글자의 개수가 변동될 경우에 사용하는 것이 좋습니다. 대량의 데이터 형식 LONGTEXT 및 LONGBLOB로 설정하면 각 데이터는 최대 4GB까지 입력할 수 있습니다. 대량의 텍스트는 LONGTEXT, 대량의 이진 데이터는 LONGBLOB로 설정합니다. 실수형 FLOAT와 DOUBLE은 거의 비슷합니다. 소수점 아래를 어디까지 정밀하게 표현하는지의 차이인데, 과학 기술용 데이터가 아닌 이상 FLOAT면 충분합니다. 날짜형 DATE는 날짜만, TIME은 시간만 저장합니다. 날짜와 시..

데이터 입력: INSERT INSERT INTO 테이블[(열1, 열2, ...)] VALUES (값1, 값2, ...) 자동으로 증가하는 AUTO_INCREMENT 데이터 수정: UPDATE UPDATE 테이블_이름 SET 열1=값1, 열2=값2, ... WHERE 조건; UPDATE 문에서 WHERE 절은 문법상 생략이 가능하지만, WHERE 절을 생략하면 테이블의 모든 행의 값이 변경됩니다. 일반적으로 전체 행의 값을 변경하는 경우는 별로 없으므로 주의해야 합니다. 데이터 삭제: DELETE DELETE FROM 테이블이름 WHERE 조건; UPDATE와 마찬가지로 WHERE 절이 생략되면 전체 행 데이터를 삭제하므로 주의해야 합니다. 대량의 행 데이터를 모두 삭제할 때는 DELETE보다 TRUNCA..

기본값은 ASC인데 Ascending의 약자로 오름차순을 의미하고, DESC는 Descending의 약자로 내림차순을 의미합니다. 첫 번째 지정 열로 정렬한 후에 동일할 경우에는 다음 지정 열로 정렬할 수 있습니다. LIMIT 시작, 개수는 LIMIT 개수 OFFSET 시작이라고 쓰는 것과 동일합니다. 함수명 설명 SUM() 합계를 구합니다. AVG() 평균을 구합니다. MIN() 최소값을 구합니다. MAX() 최대값을 구합니다. COUNT() 행의 개수를 셉니다. COUNT(DISTINCT) 행의 개수를 셉니다.(중복은 1개만 인정)

SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 SELECT 문에서 테이블 이름은 원칙적으로 데이터베이스_이름.테이블_이름 형식을 사용해야 하지만 대부분 테이블_이름만 사용합니다. 학습 등을 할 때와 같이 작은 데이터를 조회할 때를 제외한 SELECT 문은 WHERE 절과 함께 사용합니다. 관계 연산자, 논리 연산자의 사용 숫자로 표현된 데이터는 범위를 지정할 수 있습니다. 2가지 이상의 조건을 만족하도록 할 수도 있습니다. SELECT 안에 SELECT가 들어갈 수 있다. : 서브쿼리

DROP DATABASE IF EXISTS market_db; -- 만약 market_db가 존재하면 우선 삭제한다. CREATE DATABASE market_db; USE market_db; CREATE TABLE member -- 회원 테이블 ( mem_id CHAR(8) NOT NULL PRIMARY KEY, -- 사용자 아이디(PK) mem_name VARCHAR(10) NOT NULL, -- 이름 mem_number INT NOT NULL, -- 인원수 addr CHAR(2) NOT NULL, -- 지역(경기,서울,경남 식으로 2글자만입력) phone1 CHAR(3), -- 연락처의 국번(02, 031, 055 등) phone2 CHAR(8), -- 연락처의 나머지 전화번호(하이픈제외) heig..

*************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have data..

1. 인덱스 책의 제일 뒤에 수록되는 '찾아보기'와 비슷한 개념입니다. 실무에서 많게는 수천만 ~ 수억 건 이상의 데이터를 처리할 때 인덱스 없이 전체 데이터를 찾아본다는 것은 상상조차 할 수 없는 일입니다. 실제로 인덱스를 잘 활용하지 못해 시스템의 성능이 전체적으로 느려지는 일이 흔하게 발생합니다. 2.뷰 테이블과 상당히 동일한 성격의 데이터베이스 개체. '가상의 테이블' 뷰를 활용하면 보안도 강화하고, SQL 문도 간단하게 사용할 수 있습니다. 윈도우즈 운영 체제의 '바로 가기 아이콘'과 비슷한 개념 3. 스토어드 프로시저 SQL 안에서도 일반 프로그래밍 언어처럼 코딩을 할 수 있습니다. 비록 일반 프로그래밍보다는 좀 불편하지만, 프로그래밍 조직을 작성할 수 있어서 때론 유용하게 사용됩니다. MyS..