⚡ 개념 정리하기 !
테이블
데이터베이스에 저장된 데이터의 단위이다. 데이터를 표( table)로 분류하여 저장하기 때문에 테이블이라고 한다.
열과 행으로 이루어져 있으며, 데이터 종류는 열로 분류된다.
DBMS
DataBase Management System 의 약자로, 데이터베이스 관리 시스템을 일컫는 말이다.
데이터베이스에 접근하기 위해서 필요한 프로그램을 뜻하며, 데이터베이스 조회/ 추가/ 삭제 등의 작업을 할 수 있다.
대표적인 DBMS로는 mysql, oracle, sql server 등이 있다.
SQL / ORM
SQL이란 Structured Query Language의 약자로, 데이터베이스를 관리할 때 사용하는 언어를 의미한다.
DBMS를 사용하기 위해서는 SQL을 숙지하고 있어야 하며, 전 세계 표준이 존재하지만 DBMS마다 문법의 차이는 있다.
ORM이란 SQL을 제외한 다른 언어로도 데이터베이스를 관리할 수 있도록 해 주는 일종의 변환기이다.
파이썬으로 SQL문을 작성할 수 있으므로 아주 편리하지만 간단한 SQL 문법을 숙지하는 것이 문제 해결에 효과적이다.
쿼리(query)
query란 문의하다, 질문하다라는 뜻으로, 프로그래밍에서 이러한 문의는 요청, 즉 '데이터베이스에 정보를 요청하는 일'을 말한다.
그렇기 때문에 정보를 처리하는 과정에서 query를 보내면 이에 따른 정보를 DB로부터 가져온다.
SELECT, FROM, WHERE
SELECT : 원하는 자료를 선택하는 메소드로, SELECT columnName
같이 사용하여 원하는 열의 데이터를 조회할 수 있다.
SELECT a,b,c
와 같이 콤마로 구분하면 여러 자료를 가져올 수 있다.
FROM : SELECT문 뒤에 사용하여 어느 테이블에서 자료를 가져올 지 선택한다. 데이터베이스의 여러 테이블 중 FROM tableName
같이 사용하여 원하는 테이블을 가져올 수 있다.
WHERE : 일종의 조건문으로, 특정한 조건을 만족시키는 자료를 가져올 때 사용한다. WHERE age>21
처럼 사용할 수 있다.
⚡ 토론해보아요 !
자신이 만든 DB를 이용한 쿼리문을 작성해서 소개해보아요 !
두회:
평점이 4점 이상인 음식점의 이름과 위치를 알고 싶을 때.
SELECT name FROM restaurant WHERE rating>4 ;
예성:
SELECT location FROM student WHERE classtime>2
SELECT subject FROM student WHERE grade>1
은재:
SELECT bookname FROM books WHERE page>200;
SELECT author FROM books WHERE assessment BETWEEN 6 AND 7
SQL 명령어를 더 찾아 소개해보아요 !
UPDATE 테이블명 SET 열=’바꿀 값’ WHERE 조건문
/ 테이블의 특정 데이터값을 수정하고 싶을 때 사용할 수 있는 명령어이다.
ALTER문 테이블 수정
alter table (테이블명) add (칼럼명 데이터타입 [추가 조건]);—>칼럼 추가 alter table (테이블명) modify (칼럼명 데이터타입 [추가 조건]); —>칼럼 수정 alter table (테이블명) drop (칼럼명); —>칼럼 삭제 alter [unique] index (인덱스 명) on (테이블 명(칼럼 1, 칼럼 2); —>인덱스 수정
CREATE TABLE 테이블명(컬럼명1, 데이터타입1, 컬럼명2, 데이터타입2, ...); DROP TABLE 테이블명;
각각 테이블을 생성하고 삭제하는 데이터 정의어의 한 종류이다.
‘Query Language’ 가 무엇인지, 우리가 아는 C / Python / JavaScript 등의 언어와는 어떻게 다른지 알아보아요 !
C 언어는 명령형, JS와 Python은 혼합형 프로그래밍 언어인데 이와 달리 SQL은 선언형 프로그래밍 언어이다.
우선 명령형 프로그래밍은 코드로 원하는 결과를 달성해 나가는 과정에만 관점을 두는 프로그래밍 스타일로, 어떻게(how) 행동해야 하는지를 프로그래밍한다. 알고리즘을 명시하고, 목표는 명시하지 않는다. 반면 선언형 프로그래밍 언어는 이와 달리 목표를 명시하고, 알고리즘을 명시하지 않는다. 필요한 것을 달성하는 과정 하나하나를 기술하는 것보다 필요한 것이 어떤 것인지 기술하는 데에 방점을 두는 프로그래밍 스타일로, '무엇(what)'을 해야 할지를 프로그래밍 한다. 선언형 언어의 종류로 LISP 같은 함수형 언어 (Functional Language) XML 같은 마크업 언어 (Markup Language), SQL 같은 질의형 언어 (Query Language)등이 있습니다.