iT邦幫忙

0

語法(SQL)

import pandas as pd
import pymysql

df = pd.read_csv("***.csv" , index_col=0 , encoding="utf8")
print(df)

db = pymysql.connect(host="localhost", user="root", password="密碼", database="資料庫", charset="utf8")

sql = "SELECT * FROM 資料表"
df = pd.read_sql(sql, db)
print(df.head())
db.close()

各位老手們
請問我的SQL語法哪裡有問題
https://ithelp.ithome.com.tw/upload/images/20210620/201386217Gp5IGqaRI.png

1 個回答

2
rogeryao
iT邦大師 1 級 ‧ 2021-06-20 06:08:33
最佳解答
改成
SELECT * FROM `job-drink-try_1`

或資料表重新命名為 job_drink_try_1
SELECT * FROM job_drink_try_1

【-】: 減法,請參閱 : 算術運算子
【`】: 鍵盤 Tab 鍵上面那一個按鍵
https://ithelp.ithome.com.tw/upload/images/20210620/20085021DHviWYrrCI.png

我猜他的「密碼」「資料庫」「資料表」
是因為他認為是機密而不能寫出來
不是原本實際的名稱
/images/emoticon/emoticon06.gif

fissn5566 iT邦新手 5 級 ‧ 2021-06-20 13:50:02 檢舉

原本是這樣的

import pandas as pd
import pymysql

df = pd.read_csv("101.csv" , index_col=0 , encoding="utf8")
print(df)

db = pymysql.connect(host="localhost", user="root", password="密碼", database="job", charset="utf8")

sql = "SELECT * FROM job-drink-try_1"
df = pd.read_sql(sql, db)
print(df.head())
db.close()

table name 別取這種的 job-drink-try_1 , 雖然因為工具會幫你加上, 即使MySQL 可以用 包起來,你後面要做備份等等,有時候就會因為 - 會有很多麻煩, OS層面 大多使用 _ 來連接 , 是有其歷史發展原因的. 總之閃過這種命名法,畢竟資訊系統有其限制,沒必要硬要使用容易出問題的方式.
你看,我要打 `` ,就又造成顯示問題了.

我要發表回答

立即登入回答