학사 나부랭이

SQL - Opening 본문

自習

SQL - Opening

태양왕 해킹 (14세) 2021. 5. 14. 00:21

Structure Query Language

 DB(데이터베이스)와 대화(조작)하기위해 디자인된 언어이다.

엑셀과 비슷하게 생겼는데 엑셀의 시트 = (SQL)DB 테이블

sheet has row(행), column(열) & table has row, column too.

Data Manupulation Language
데이터 조작 언어, DML
테이블에 데이터 검색, 삽입, 수정, 삭제하는 명령어
SELECT 테이블에 특정 값 검색
INSERT 테이블에 특정 값 삽입 (등록)
UPDATE 테이블의 특정 값 수정
DELETE 테이블의 특정 값 삭제
Data Definition Language
데이터 정의 언어, DDL
테이블이나 데이터 구조를 생성하는 명령어
CREATE 새로운 테이블, DB 생성
ALTER 테이블 내용 수정
DROP 테이블, DB 삭제
RENAME 테이블 이름 변경 (DB는 불가)
TRUNCATE 데이터 삭제
Data Control Language
데이터 제어어, DCL
데이터의 사용 권한을 관리하는 명령어
GRANT 사용자에게 권한을 부여
REVOKE GRANT 명령어로 적용한 권한 해제
Transaction Control Language
트랜잭션 제어어, TCL
DML에 의해 수정된 결과를 작업 단위(트랜잭션) 별로 제어하는 명령어
COMMIT 작업 결과를 물리 디스크에 저장,
작업이 정상적으로 완료되었다고 관리자에게 통지
ROLLBACK 작업 내용 복구
(INSERT, UPDATE, DELETE 등의 작업 내용 취소)

비슷하지만 다른 것들

DELETE, TRUNCATE, DROP

DELETE: 데이터를 삭제하고 공간은 재사용하기 위해 남음

TRUNCATE: 데이터 공간까지 제거

DROP: 테이블 또는 DB 모두 제거

 

 

 

In this table, has 4 columns as features and 5 rows as Users

간단한 select 명령어

SELECT email FROM students;

SELECT email FROM students;

여기서 그냥 영어랑 같다고 느낄 수 있는데 쿼리용 언어라서 그렇다.

SELECT email FROM students WHERE age > 21;

SELECT email FROM students WHERE age > 21;

students에서 21살 이상인 원소들의 email을 선택

진짜 영어랑 똑같아서 이해하기 쉽쥬?

SELECT age

FROM students

WHERE email

LIKE "%naver.com";

SELECT age FROM students WHERE email LIKE "%naver.com";

students에서 이메일이 naver.com인 경우의 나이 선택

%: 특정 값을 찾으려고 할 때 사용.

 

DELETE FROM students WHERE id=2;

students 중 id가 2인 원소를 삭제

SELECT email FROM students WHERE age BETWEEN 15 AND 28

students 중 age가 15~28인 원소의 email을 선택

 

DB에는 두 가지 종류로 나뉜다.

Relational (SQL)

 mysql, postgresql, sqlite

Non-Relational (Non-SQL) 

 mongoDB, DynamoDB, CouchDB

 

ORM

파이썬 코드 등의 코드를 가져와서 SQL코드로 바꿔주는 친구. 그래서 SQL을 안 하게 된다. 문제는 너무 ORM에 의존하면 뭔가 안 될 때, 더 빠른 작업이 필요할 때 대처 X

파이썬 - 장고 ORM

라라벨 - eloquent ORM

nodeJS - Sequelize || type ORM

'自習' 카테고리의 다른 글

IPC(Inter-Process Communication)  (0) 2021.03.30
How to Crack - Hash  (0) 2021.03.27
Comments