Post

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()

Desktop View

위의 정보를 토대로 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.
3D GIF