SQL
- In-Memory: 프로그램이 실행될 때에만 존재하는 데이터
- 프로그램의 실행에 의존, 프로그램 종료시 데이터도 사라짐
- File I/O: 파일을 읽는 방식으로 작동하는 형태, CSV, 엑셀 시트
- 데이터가 필요할 때마다 전체 파일을 매번 리딩, 파일 커질수록 비효율
- 파일의 손상, 여러 개의 파일 동시 사용 등 복잡하고 데이터 많아질수록 불리
- 관계형 데이터베이스: 하나의 CSV 파일, 엑셀 시트를 한 개의 테이블로 저장
- 한 번에 여러 개의 테이블을 가질 수 있어 SQL을 활용, 데이터 불러오기에 수월
- SQL: Structured Query Language, 데이터베이스 언어, 주로 관계형 데이터베이스에서 사용(MySQL, Oracle, SQLite, PostgreSQL)
- 데이터베이스 용 프로그래밍 언어, 데이터베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다
- 데이터가 구조화된 테이블을 사용하는 데이터베이스에서 활용(relation이라고도 불리는 structured table)
- NoSQL: 데이터의 구조가 고정되어 있지 않은 데이터베이스
- 테이블을 사용하지 않고, 데이터를 다른 형태로 저장(ex.MongoDB, 문서지향)
- SQL은 구조화 된 쿼리 언어
- 쿼리: 기존에 존재하는 데이터를 검색어로 필터링하기 위한 질의문이라고 볼 수 있음
기본 쿼리문
- Select
- Where
- And, Or, Not
- Order By
- Insert Into
- Null Values
- Update
- Delete
- Count
- Like
- Wildcards
- Aliases
- Joins
- Inner Join
- Left Join
- Right Join
- Group By
- 데이터베이스 관련 용어
- SQL Create DB
- SQL Drop DB
- SQL Create Table
- SQL Drop Table
- SQL Alter Table
- SQL Not Null
- SQL Unique
- SQL Primary Key
- SQL Foreign Key
- SQL Default
- SQL Auto Increment
- SQL Dates
- 데이터베이스 관련 명령어
CREATE TABLE user (
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(255),
email varchar(255)
);
- 테이블 정보 확인: DESCRIBE user;
mysql> describe user;
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id | int | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| email | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
- UPDATE SET
- DELETE FROM
- %a%, a%, %a, _a%, [acs]%, [!acs]%, [a-f]%
- as ALIAS
SELECT c.CustomerId, c.FirstName, count(c.City) as 'City Count'
FROM customers AS c
JOIN employees AS e ON c.SupportRepId = e.EmployeeId
WHERE c.Country = 'Brazil'
GROUP BY c.City
ORDER BY 3 DESC, c.CustomerId ASC
LIMIT 3
- CREATE DATABASE nameDB;
- DROP DATABASE nameDB;
- ALTER TABLE table add columnName 'type'
- ALTER TABLE dbo.doc_exb DROP COLUMN column_b;
- 저장공간의 크기 및 개념: DATABASE > Table(Entities) > Recode(data) 순으로