관리 메뉴

Jerry

#TIL: MySQL : flow, SQL syntax 본문

DATABASE/MySQL

#TIL: MySQL : flow, SQL syntax

juicyjerry 2020. 12. 9. 01:28
반응형

Database and SQL Flow Example

출처: 구글 이미지

ex) 

(클라이언트) 남자 직원들 목록 보여줘 -> (서버) SELECT * FROM employee WHERE gender='M'; -> (데이터베이스) 필터링 후 결과값을 서버로 전달 -> 서버가 클라이언트에게 결과물을 전달

 

( 클라이언트 -> 서버 -> 데이터베이스  -> 서버 -> 클라이언트 )

 

SQL Tutorial and SQL Database

SQL Tutorial에서는 

Syntax 

  • Select : SELECT * FROM table_name;  // ' * '는 와일드카드라고 부르며, 전체를 가리키며, 저 자리에 column이 들어갈 수 있음
  • Where : SELECT * FROM table_name WHERE condition; // 컨디션 즉, 조건에 맞는 컬럼들의 레코드를 가져옴
  • And, Or, Not
  • Order By
  • Insert Into : INSERT INTO table_name (column1, 2, ...) VALUES (value1, value2,...); // 테이블의 컬럼에 원하는 값을 넣을 경우에 사용
  • Null Values
  • Update: UPDATE table_name SET column1 = value1, value2, ... WHERE condition;  // 원하는 테이블에 레코드를 수정할 때 사용
  • Delete
  • Count
  • Like: LIKE 연산자는 컬럼 안에서 특정한 패턴을 찾기 위해서 WHERE 구문과 함께 쓰인다. ex) 'a%', '%a', '%or%', '_r%', 'a_%', 'a__%', 'a%o'
  • Wildcards
  • Aliases: SELECT column_name AS alias_name FROM table_name; 별명, 가명이라고 해서 해당 쿼리가 존재하는 동안만 컬럼 이름 대신 별명(혹은 가명)을 대신 사용할 수 있다
  • GROUP BY
  • Joins
    Join 구문은 실무에서도 많이 쓰인다고 하기에 잘 알아두자!
    • 여러 조인 구문이 있으며, 기본적으로 서로 연관이 있는 컬럼을 가지고 결합하는 데 사용된다. 2개 이상의 테이블을 결합할 수 있다. 
    • Inner Join: SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; // Inner Join은 두 테이블이 모두 가지고 있는 레코드(값)들을 선별함 
    • Left Join: SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name - table2.column.name; // 기준이 table1(왼쪽 테이블)이며, 기준에 부합하는 table2(오른쪽 테이블) 레코드(값)를 선별한다. 만약, 값이 없으면 null값을 할당

 

 

출처: https://stackoverflow.com/questions/30358982/sql-server-replaces-left-join-for-left-outer-join-in-view-query

 

 

개인적으로 w3school에서 JOIN에 대해서 배우기에 잘 이해가 안 가서 다른 자료를 보고 익혔는데 그것은 바로, 생활코딩이다!

 

SQL Database에서는

Syntax 

  • SQL Create DB: CREATE DATABASE databasename; // 새로운 SQL 데이터베이스 만들 경우에 사용
  • SQL Drop DB : 데이터베이스 삭제 시 사용
  • SQL Create Table: CREATE TABLE table_name (column1 datatype, ...); // 데이터베이스 안에서 새로운 테이블을 만들 경우에 사용하며, 안에 들어가는 컬럼의 데이터 타입은 예시로 보면 이해가 갈 것이다!
  • SQL Drop Table: 테이블 삭제시 사용
  • SQL Alter Table
  • Constraints: 테이블 생성이나 변경할 때 사용하며, 테이블안에 있는 데이터들의 규칙을 정해줌 (예시 참조 권유!)
    •  SQL Not Null: Null 값이 아니다
    •  SQL Unique: primary key는 테이블 당 하나지만, unique는 테이블 내에서 많이 사용할 수 있다. (잘 모르겠다)
    • SQL Primary Key: 한 테이블의 각 레코드들을 primary key 로 식별할 수 있으며, null값은 해당되지 않는다.
    • SQL Foreign Key: foreign key는 두 개의 테이블을 연결할 경우에 사용하며, 다른 테이블의 primary key를 참조하는 어느 한 테이블의 필드를 말한다 추가 내용은 여기를 참고하는 것을 권유한다.
    •  

      더보기
      하나의 테이블이 여러 개의 외래키를 포함할 수 있다. 그리고 이러한 외래 키들은 각각 서로 다른 테이블ㄹ을 참조할 수 있다. 각각 외래 키는 관계 데이터베이스 관리 시스템(RDBMS)에 의해 개별적으로 강제 적용된다. 그렇기에 테이블 사이에 연속되는 관련성을 외래 키를 사용해 정의할 수 있다.                                         출처: 위키피디아
    •  SQL Default
  • SQL Auto Increment: 새로운 레코드가 테이블에 삽입될 때, 자동으로 유니크한 숫자를 만들어준다
  • SQL Dates

 

출처: w3schools.com

 

 

반응형

'DATABASE > MySQL' 카테고리의 다른 글

#TIL: MySQL : schema, entity  (0) 2020.12.09
#TIL:MySQL : Basic Concept  (0) 2020.12.03