판다스/Windows
Maria DB Cheat Sheet
좋아좋아브라이언
2022. 2. 5. 09:26
SQL Script 실행하기
DB 접속후 실행 하기
mysql> source /bin/test.sql # SQL query문이 있는 파일의 경로 입니다.
Shell에서 실행하기
$ mysql -u oops -p oops < /bin/test.sql
DDL
Table 만들기
32 CREATE TABLE Orders (
33 orderid INTEGER PRIMARY KEY,
34 custid INTEGER ,
35 bookid INTEGER ,
36 saleprice INTEGER ,
37 orderdate DATE,
38 FOREIGN KEY (custid) REFERENCES Customer(custid),
39 FOREIGN KEY (bookid) REFERENCES Book(bookid)
40 );
Insert
INSERT INTO Orders VALUES (1, 1, 1, 7500, STR_TO_DATE('2021-02-01','%Y-%m-%d'));
SELECT
SELECT [DISTINCT] select_expr
[FROM table_references]
[WHERE where_condition]
[GROUP BY {col_name |expr |position}]
[HAVING where_condition]
[ORDER BY {col_name |expr |position}]
where 구문 (검색조건들[LIKE 필터]
- 검색조건들
- where 조건과 패턴매칭 (Like 절)
- NULL
ORDER BY
SELECT ...
FROM. ...
WHERE ...
ORDER BY column_name,...[ASC | DESC] -- ASC : 오름차순 정렬, DESC : 내림차순 정령
or
ORDER BY column_no,...[ASC | DESC]
ex.
ORDER BY price, bookname -- 가격순으로 검색하고, 가격이 같으면 이름순으로 검색한다.
ex.
ORDER BY price DESC, bookname ASC
DISTINCT (중복제거 = 범주 값 추출)
SELECT [DISTINCT] 속성이름(들)...
FROM. ...
ex. select DISTINCT custid from orders;
select count(DISTINCT cousid) from orders;
조건제어 (CASE, IF)
- 다중조건 CASE
SELECT custid, saleprice AS '총구매액',
FROM Orders OCASE WHEN (saleprice >= 15000) THEN '최우수고객' WHEN (saleprice >= 10000) THEN '우수고객' WHEN (saleprice >= 5000 ) THEN '일반고객' ELSE '유령고객' END AS '고객등급'
GROUP BY custid;
+--------+--------------+-----------------+
| custid | 총구매액 | 고객등급 |
+--------+--------------+-----------------+
| 1 | 7500 | 일반고객 |
| 2 | 8000 | 일반고객 |
| 3 | 8000 | 일반고객 |
| 4 | 20000 | 최우수고객 |
+--------+--------------+-----------------+
```