728x90
SQL이란? : Structured Query Language 구조적 ※쿼리 언어
※쿼리: 데이터베이스나 데이터 리포지토리 시스템에서 데이터나 정보를 요청하는 것
데이터베이스 관리 시스템 (DBMS)에서 데이터를 조작하고 검색하기 위한 표준화된 언어.
예를 들어 기업이 가지고 있는 고객 데이터 베이스에서 나이, 성별, 주소 등 필요한 정보를 추출할 때 사용한다.
데이터베이스와 테이블을 생성하고, 데이터를 조회, 삽입, 수정, 삭제 할 수 있다.
SQL기본 명령어
■ 데이터베이스 생성:
CREATE DATABASE 데이터베이스 이름;
■ 테이블 생성:
CREATE TABLE 테이블이름 (
컬럼1 데이터타입,
컬럼2 데이터타입,
...
);
예시:
CREATE TABLE students (
id INT,
name VARCHAR(50),
age INT
);
- id: 정수형 데이터를 저장하는 열 (INT).
- name: 최대 50자까지의 문자열을 저장할 수 있는 열 (VARCHAR(50)).
- age: 정수형 데이터를 저장하는 열 (INT).
■ 데이터 조회
SELECT 컬럼1, 컬럼2, ... FROM 테이블이름;
예시:
SELECT name, age FROM students;
//students 테이블에서 name과 age 열의 데이터를 조회합니다.
▶ WHERE 절: 특정 조건에 맞는 데이터만 조회
SELECT name, age FROM students WHERE age > 20;
//students 테이블에서 age 값이 20보다 큰 학생들의 name과 age를 조회합니다.
▶ ORDER BY 절: 조회한 데이터를 정렬
SELECT name, age FROM students ORDER BY age DESC;
//students 테이블에서 name과 age를 조회하되, age를 기준으로 내림차순(DESC)으로 정렬합니다. 즉, 나이가 많은 학생부터 순서대로 정렬됩니다.
▶ LIMIT 절: 조회할 데이터의 개수를 제한
SELECT name, age FROM students LIMIT 5;
//students 테이블에서 name과 age를 조회하되, 최대 5개의 행만 조회합니다.
■ 데이터 삽입
//예시
INSERT INTO students (id, name, age) VALUES (1, 'Alice', 23);
//students테이블에 id, name, age에 각각 1, Alice, 23을 삽입
■ 데이터 수정
//예시
UPDATE students SET age = 24 WHERE id = 1;
//students 테이블에서 id가 1인 학생의 age 값을 24로 수정
//UPDATE 테이블이름 SET 컬럼1 = 값1, 컬럼2 = 값2 WHERE 조건;
■ 데이터 삭제
DELETE FROM students WHERE id = 1
//students 테이블에서 id가 1인 행을 삭제(조건)
기본 키와 외래 키
- 기본 키(Primary Key): 테이블에서 각 행을 고유하게 식별하는 열(또는 열의 조합)입니다.
- 외래 키(Foreign Key): 다른 테이블의 기본 키를 참조하는 열로, 테이블 간의 관계를 나타냅니다.
CREATE TABLE orders (
order_id INT PRIMARY KEY,
student_id INT,
FOREIGN KEY (student_id) REFERENCES students(id)
);
//orders 라는 이름의 테이블을 생성합니다. 이 테이블에는 두 개의 열이 있습니다:
`order_id`: 정수형 데이터를 저장하는 열로, 이 열이 기본 키(`PRIMARY KEY`)입니다. 즉, `orders` 테이블의 각 행을 고유하게 식별합니다.
`student_id`: 정수형 데이터를 저장하는 열로, `students` 테이블의 `id`를 참조하는 외래 키(`FOREIGN KEY`)입니다. 이를 통해 `orders` 테이블의 각 주문이 어떤 학생과 관련이 있는지를 나타낼 수 있습니다.
집계 함수
SELECT 집계함수(시행할 데이터) FROM 테이블명;
- COUNT(): 행의 개수를 셉니다.
SELECT COUNT(*) FROM students;
- SUM(): 숫자 값의 합을 계산합니다.
- AVG(): 숫자 값의 평균을 계산합니다.
- MAX(): 최대 값을 찾습니다.
- MIN(): 최소 값을 찾습니다.
SQL 조건문
SELECT * FROM students WHERE age > 20 AND name = 'Alice';
//AND : 두 조건이 모두 참일 때
SELECT * FROM students WHERE age > 20 OR name = 'Bob';
//OR : 두 조건 중 하나만 참일 때
SELECT * FROM students WHERE NOT age > 20;
//NOT : 조건이 거짓일 때
오늘의 배움: SQL이 무엇인지, 어디에 사용되는지, 쿼리 등의 키워드를 학습했다. SQL의 기본적인 명령어를 작성해보고 예시를 통해 어떤 상황에서 사용하는지 알게 되었다. 기본적으로 엑셀과 비슷하지마, 정수형 데이터를 저장하는 열 (INT), 최대 50자까지의 문자열을 저장할 수 있는 열 (VARCHAR(50))과 같은 특수한 것들은 암기해야겠다.
다음에는 SQL말고 사용되는 언어가 있다면 무엇인지, 어떤 차이가 있는지 알아보고 싶다.
728x90