2019. 8. 19. 22:52ㆍTIL
오늘 한것
이전에 만들어 놓은 chatter-box에 MySQL을 사용하여 연결하는 스프린트를 진행하였다.
쿼리문을 사용하는 것이 익숙하지가 않아서 꽤 애를 먹었다.
스키마 데이터 구조를 짜는데 어떤 부분을 어떻게 연결 시켜 줘야 할지가 애매했지만 그림으로 구조를 직접 그려보니 좀 더 술월하게 할 수 있었다.
MySQL 정리
RDBMS의 데이터는 테이블이라는 데이터베이스 객체에 저장됩니다. 테이블은 관련 데이터 항목의 모음이며 열과 행으로 구성됩니다.
id | name | job | age | contry |
1 | Tom | doctor | 35 | UK |
2 | Josh | policeman | 29 | USA |
3 | Jack | cooker | 31 | Prance |
↑Person Table
행이라고도하는 레코드는 테이블에 존재하는 각 개별 항목입니다. 예를 들어 위의 Person 테이블에 3 개의 레코드가 있습니다.
레코드는 테이블의 가로 엔터티입니다.
모든 테이블은 필드라고하는 더 작은 엔티티로 나뉩니다.
Person 테이블의 필드는id, name, job, age, contry로 구성됩니다.
필드는 테이블의 모든 레코드에 대한 특정 정보를 유지하도록 설계된 테이블의 열입니다.
열은 테이블의 특정 필드와 관련된 모든 정보를 포함하는 테이블의 수직 엔터티입니다.
SQL 키워드는 대소 문자를 구분하지 않습니다. select는 SELECT와 동일합니다. 일부 데이터베이스 시스템은 각 SQL 문 끝에 세미콜론이 필요합니다. 세미콜론은 서버에 대한 동일한 호출에서 둘 이상의 SQL 문을 실행할 수있는 데이터베이스 시스템에서 각 SQL 문을 분리하는 표준 방법입니다.
SQL 명령어
- SELECT- 데이터베이스에서 데이터를 추출
- 업데이트 -데이터베이스의 데이터를 업데이트
- DELETE- 데이터베이스에서 데이터를 삭제합니다
- INSERT INTO- 데이터베이스에 새 데이터를 삽입
- CREATE DATABASE- 새 데이터베이스를 만듭니다.
- ALTER DATABASE- 데이터베이스 수정
- CREATE TABLE- 새 테이블을 만듭니다
- ALTER TABLE- 테이블 수정
- DROP TABLE-테이블을 삭제합니다
- 색인 만들기 - 색인을 만듭니다 (검색 키).
- DROP INDEX-색인을 삭제합니다
SELECT DISTINCT 다른 값만 리턴 (중복된 값 제거)
SELECT COUNT(DISTRICT column1) 중복된 값이 제거된 column1의 수를 알려준다. () 무조건 해줘야함
WHERE Clause 는 레코드를 필터링하는 데 사용됩니다. 지정된 조건을 충족하는 레코드 만 추출하는 데 사용됩니다.
WHERE Clause 는 AND, OR 및 NOT 연산자와 결합 될 수 있습니다.
- AND로 구분 된 모든 조건이 참인 경우 AND 연산자는 레코드를 표시합니다.
- OR 연산자는 OR로 구분 된 조건 중 하나라도 TRUE 인 경우 레코드를 표시합니다.
조건이 참이 아닌 경우 NOT 연산자는 레코드를 표시합니다.
ORDER BY 키워드는 결과 집합을 오름차순 또는 내림차순으로 정렬하는 데 사용됩니다.
레코드를 내림차순으로 정렬하려면 DESC 키워드를 사용하십시오.
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
INSERT INTO 문은 테이블에 새 레코드를 삽입하는 데 사용됩니다. 첫 번째 방법은 열 이름과 삽입 할 값을 모두 지정합니다.
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
테이블의 모든 열에 값을 추가하는 경우 SQL 쿼리에서 열 이름을 지정할 필요가 없습니다.
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
NULL 값을 가진 필드는 값이없는 필드입니다.
IS NULL 및 IS NOT NULL 연산자를 사용해 NULL 값을 테스트할 수 있다.
IS NULL 구문
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
IS NOT NULL 구문
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
UPDATE 문은 테이블의 기존 레코드를 수정하는 데 사용됩니다.
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
DELETE 문은 테이블에서 기존 레코드를 삭제하는 데 사용됩니다.
DELETE FROM table_name WHERE condition;
모든 레코드 삭제
DELETE FROM table_name;
SELECT TOP 절은 리턴 할 레코드 수를 지정하는 데 사용됩니다.
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
MIN () 함수는 선택한 열의 가장 작은 값을 반환합니다.
SELECT MIN(column_name)
FROM table_name
WHERE condition;
MAX () 함수는 선택한 열의 가장 큰 값을 반환합니다.
SELECT MAX(column_name)
FROM table_name
WHERE condition;
COUNT () 함수는 지정된 기준과 일치하는 행 수를 반환합니다.
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
AVG () 함수는 숫자 열의 평균값을 반환합니다.
SELECT AVG(column_name)
FROM table_name
WHERE condition;
SUM () 함수는 숫자 열의 총합을 반환합니다.
SELECT SUM(column_name)
FROM table_name
WHERE condition;
LIKE 연산자는 WHERE 절에서 열에서 지정된 패턴을 검색하는 데 사용됩니다.
LIKE 연산자와 함께 자주 사용되는 두 가지 와일드 카드가 있습니다.
- %-백분율 기호는 0, 1 또는 여러 문자를 나타냅니다
- _-밑줄은 단일 문자를 나타냅니다
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
WHERE CustomerName LIKE 'a%' | Finds any values that start with "a" |
WHERE CustomerName LIKE '%a' | Finds any values that end with "a" |
WHERE CustomerName LIKE '%or%' | Finds any values that have "or" in any position |
WHERE CustomerName LIKE '_r%' | Finds any values that have "r" in the second position |
WHERE CustomerName LIKE 'a__%' | Finds any values that start with "a" and are at least 3 characters in length |
WHERE ContactName LIKE 'a%o' | Finds any values that start with "a" and ends with "o" |
와일드 카드 문자는 문자열에서 하나 이상의 문자를 대체하는 데 사용됩니다.
와일드 카드 문자는 SQL LIKE 연산자 와 함께 사용됩니다 . LIKE 연산자는 WHERE 절에서 열에서 지정된 패턴을 검색하는 데 사용됩니다.
IN 연산자를 사용하면 WHERE 절에 여러 값을 지정할 수 있습니다.
IN 연산자는 여러 OR 조건의 약어입니다.
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT STATEMENT);
BETWEEN 연산자는 주어진 범위 내에서 값을 선택합니다. 값은 숫자, 텍스트 또는 날짜 일 수 있습니다.
BETWEEN 연산자는 다음을 포함합니다 : 시작 및 종료 값이 포함됩니다.
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
SQL Alies는 테이블 또는 테이블의 열에 임시 이름을 제공하는 데 사용됩니다.
별명은 종종 열 이름을 더 읽기 쉽게 만드는 데 사용됩니다.
별칭은 쿼리 기간 동안 만 존재합니다.
열 구문
SELECT column_name AS alias_name
FROM table_name;
테이블 구문
SELECT column_name(s)
FROM table_name AS alias_name;
오늘 메모
const {body} = req 와 const body = req.body는 같은 의미
Error : Cannot enqueue Handshake after invoking out
이미 상단에 .createconnection()이 호출된 경우 .connect 호출은 불필요하다.
'TIL' 카테고리의 다른 글
[TIL] 19.08.21 spreent - shortly (0) | 2019.08.22 |
---|---|
[TIL] 19.08.20 MySQL (0) | 2019.08.20 |
[TIL] event loop (0) | 2019.08.18 |
[TIL] 19.08.17 sprint - article collector (0) | 2019.08.18 |
[TIL] 19.08.16 Promise (0) | 2019.08.16 |