LearningJavaScript/SQL

[SQL] Getting Started

jyshimmy 2020. 12. 2. 11:09

SQL

Structured Query Language의 약자로 데이터베이스용 프로그래밍 언어인 SQL query를 데이터베이스에 보내 원하는 데이터를 뽑아올 수 있다.

 

지금까지는 in-memory와 file I/O를 사용해왔지만, 둘 다 한계점이 있었다.

 

먼저, 일반적으로 서버보다 클라이언트에 저장하게되는 in-memory의 경우, 데이터가 저장된 서버 혹은 클라이언트를 끄면 데이터가 사라지는 큰 단점이 있었다.

 

다음으로, 서버에 서버 파일시스템이 저장되는 file I/O의 경우, 원하는 데이터만 가져올 수가 없기때문에, 파일을 통째로 가져온 뒤, 서버에서 부담이 되는 필터링 처리가 필요했다.

 

따라서, 필터링 외에도 file I/O로 구현이 힘든 데이터 관리를 위해 필요한 여러 기능을 갖고 있는 데이터에 특화된 서버인, 데이터베이스가 있는 것이다.

 

 

SQL 기본 문법

 

여기서 쉽게 공부하고, 퀴즈로 확인해 볼 수 있다.

 

 

Check your answers를 클릭하면 오답을 확인 할 수 있다.

 

오답:

"IS NOT NULL"인줄 알았는데.. 확인 필요!

키워드 기능
SELECT 단어 그대로 데이터베이스에서 내가 선택할 데이터를 의미 SELECT * FROM Customers;
* all, 전체의 의미 위와 동일
FROM 데이터를 꺼내올 데이터베이스 테이블을 가리킴; 어디서 꺼내올지 SELECT FirstName FROM Persons
WHERE   SELECT * FROM Persons WHERE FirstName='Peter'  
UPDATE   UPDATE Persons SET LastName='Nilsen' WHERE LastName='Hansen'  
SET   위와 동일
DELETE   DELETE FROM Persons WHERE FirstName = 'Peter' 
INSERT INTO   INSERT INTO Persons (column이름넣는 자리) VALUES ('Jimmy', 'Jackson')  
LIKE searches for a specified pattern (records that start with an alphabet, "a") in a column (in this case, FirstName) SELECT * FROM Persons WHERE FirstName LIKE 'a%' 
NOT LIKE   SELECT * FROM Customers WHERE City NOT LIKE 'a%'
OR    
AND   SELECT * FROM Persons WHERE FirstName='Peter' AND LastName='Jackson'  
NOT   SELECT * FROM Customers WHERE NOT City = 'Berlin';
     
BETWEEN selects values within a range SELECT * FROM Persons WHERE LastName BETWEEN 'Hansen' AND 'Pettersen'  
DISTINCT    
ORDER BY    
DESC   SELECT * FROM Persons ORDER BY FirstName DESC  
COUNT gives the number of records SELECT COUNT(*) FROM Persons  
INNER JOIN    
CREATE TABLE    

reference links: 위의 예시는 퀴즈연습문제에서 가져왔습니다.