亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

sql語句中單引號和反引號的區別?

網上說Mysql中字段跟保留字相同時用反引號(鍵盤中ESC鍵下面那個)。但是我的字段跟保留字不一樣,用單引號就報錯,改成反引號就正確了,為什么?。?????

我把存儲到數據庫的完整代碼貼出來(創建表非手動,用代碼實現的),這個代碼能正確運行,請高手看看為什么非要用反引號呢????

#?wiki.py
from?urllib.request?import?urlopen
from?bs4?import?BeautifulSoup
import?re
import?pymysql.cursors
resp?=?urlopen("https://en.wikipedia.org/wiki/Main_Page").read().decode("utf-8")
soup?=?BeautifulSoup(resp,?"html.parser")
listUrls?=?soup.findAll("a",?href=re.compile("^/wiki/"))
for?url?in?listUrls:
if?not?re.search("\.(jpg|JPG)$",?url["href"]):
urlname?=?url.get_text()
urlhref?=?"https://en.wikipedia.org"?+?url["href"]
print(urlname,?"--->?",?urlhref)
#?獲取數據庫鏈接
connection?=?pymysql.connect(host="localhost",
user="root",
password="admin",
db="wikiurl",
charset="utf8mb4")
try:
#?獲取會話指針
with?connection.cursor()?as?cursor:
#?如果不存在就創建表,字段用反單引號!?。?sql_create_table?=?'''CREATE?TABLE?IF?NOT?EXISTS?`urls`?(
`id`?int(11)?NOT?NULL?AUTO_INCREMENT,
`urlname`?varchar(255)?NOT?NULL,
`urlhref`?varchar(1000)?NOT?NULL,
PRIMARY?KEY?(`id`))ENGINE=InnoDB?DEFAULT?CHARSET=utf8?COLLATE=utf8_bin?AUTO_INCREMENT=1'''
cursor.execute(sql_create_table)
#?創建sql語句
sql_insert?=?'insert?into?urls?(urlname,?urlhref)?values?(%s,?%s)'
#?執行sql?語句
cursor.execute(sql_insert,?(urlname,?urlhref))
#?提交
connection.commit()
finally:
connection.close()


正在回答

1 回答

報什么樣的錯?我試過你的sql語句,去掉反引號也是可以執行的

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python遇見數據采集
  • 參與學習       59664    人
  • 解答問題       209    個

本教程讓你初步掌握Python進行數據采集,創造屬于你的價值

進入課程

sql語句中單引號和反引號的區別?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號