SQL_7 (Scalar Functions)
🙅♂️휴대폰으로 볼 때 혹시 글자나 숫자가 화면에 다 안나오면, 휴대폰 가로로 돌리시면 됩니다
1
2
3
4
<목차>
1. 세팅
2. 실습
1. 세팅
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ---------------------- sandwich 불러오기 -------------------------
# mysql aws 로그인
import mysql.connector
import pandas as pd
mcon = mysql.connector.connect(
host = "아마존주소",
port = 3306,
user = 'admin',
password = "비번",
database = "zerobase"
)
# df.info() 확인
df = pd.read_csv('./best_sandwich.csv', encoding = 'utf-8')
df.info()
위의 정보를 토대로 sql 제작
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# sql에서 sandwich 테이블의 컬럼 제작
sql = "create table sandwich (ranking int, cafe varchar(32), menu varchar(32), price float, address varchar(32))"
cur = mcon.cursor(buffered=True)
cur.execute(sql)
# sandwich 테이블 잘 들어왔는지 확인
cur.execute('desc sandwich')
res = cur.fetchall()
for r in res:
print(r)
# 튜플형식으로 하나씩 자료 추가
sql = "insert into sandwich values (%s, %s, %s, %s ,%s)"
for i, r in df.iterrows():
cur.execute(sql, tuple(r))
print(tuple(r))
mcon.commit()
# 닫기
mcon.close()
------------------------------------------------------------
# cmd창에서 자료들 잘 들어왔나 확인
select * from sandwich;
2. 실습
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# ucase
# 영문을 대문자로 변환
select ('this is ucase test');
select ucase('this is ucase test');
# lcase
# 영문을 소문자로 변환
select lcase(menu) from sandwich where price < 5;
# mid
# 문자열 부분을 반환
select mid('문장', '시작할 위치', '반환할 길이');
⬇️
select mid('This is mid test', -4, 4);
# length
# 길이
select mid(' '); ➡️ # 1
# round
# 반올림
select round(숫자, 소수점 n+1자리부터 반올림);
⬇️
select round(315.625, 1); ➡️ # 315.6
# now
# 현재날짜 및 시간 반환
select now();
# FORMAT
숫자를 천단위 콤마가 있는 형식으로 반환
select format(12345.6789, 0)
This post is licensed under CC BY 4.0 by the author.