카테고리 없음

[TIL]SQL기초_241105

dydatablog 2024. 11. 5. 19:48
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