當前位置:首頁 » 編程語言 » pythonmysql報錯

pythonmysql報錯

發布時間: 2023-09-16 19:54:20

python連接mysql資料庫報錯

Python連接mysql資料庫報錯
這里的意思是:資料庫連不上啊。

可能是網路問題,可能是防火牆問題,可能是3306埠沒開。你先排除這些問題吧。用一些mysql工具連接測試看,比如SQLyog 測試。

⑵ python向mysql中插入數據提示錯誤

答:資料庫本身是不支持字典類型的(已知的絕大多)
方法有兩種:
1、把字典或者json格式數據作為字元串(string)直接插入、讀取的時候再轉為字典。
2、為了避免某些字元、引號等轉義問題發生、可以使用base64編碼後導入資料庫、讀取時候再用base64解碼。
也可以試試這個:
sql="insertintoaccount·userdata(user、passwd)values(%s、%s)"cursor.execute(sql、(name、passwd-md5))試試這個,
或者:sql="insertintoaccunt.userdata(user.passwd)values(%s%s)"%(name、passwd-md5)
oursor.execute(sql)。

⑶ python 連接mysql資料庫報錯

編輯mysql配置文件my.ini(在MySQLServer的安裝目錄),在[mysqld]這個條目下加入 skip-grant-tables

保存退出後重啟mysql

1.點擊「開始」->「運行」(快捷鍵Win+R)。

2.啟動:輸入 net stop mysql

3.停止:輸入 net start mysql

這時候在cmd裡面輸入mysql -u root -p就可以不用密碼登錄了,出現password:的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有許可權)。按下面的流程走(紅色部分為輸入部分,綠色的是執行後顯示的代碼不用輸入):

1.進入mysql資料庫:

mysql> use mysql; Database changed

2.給root用戶設置新密碼,藍色部分自己輸入: mysql> update user set password=password("新密碼") where user="root"; Query OK, 1 rows affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0

3.刷新資料庫 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)

4.退出mysql: mysql> quit Bye

改好之後,再修改一下my.ini這個文件,把我們剛才加入的"skip-grant-tables"這行刪除,保存退出再重啟mysql就可以了。

總結:猜測根本原因就是簡單的密碼輸入錯誤,通過以上方法我們可以不驗證密碼來連接上mysql,然後設置新密碼。

⑷ python3.6執行pymysql報錯

折騰好半天的資料庫連接,由於之前未安裝 pip ,而且自己用的Python 版本為3.6. 只能用 pymysql 來連接資料庫,下邊 簡單介紹一下 連接的過程,以及簡單的增刪改查操作。
1.通過 pip 安裝 pymysql
進入 cmd 輸入 pip install pymysql
回車等待安裝完成;

安裝完成後出現如圖相關信息,表示安裝成功。
2.測試連接
import pymysql #導入 pymysql ,如果編譯未出錯,即表示 pymysql 安裝成功

簡單的增刪改查操作

示例表結構

2.1查詢操作

[python] view plain
import pymysql #導入 pymysql

#打開資料庫連接
db= pymysql.connect(host="localhost",user="root",
password="123456",db="test",port=3307)

# 使用cursor()方法獲取操作游標
cur = db.cursor()

#1.查詢操作
# 編寫sql 查詢語句 user 對應我的表名
sql = "select * from user"
try:
cur.execute(sql) #執行sql語句

results = cur.fetchall() #獲取查詢的所有記錄
print("id","name","password")
#遍歷結果
for row in results :
id = row[0]
name = row[1]
password = row[2]
print(id,name,password)
except Exception as e:
raise e
finally:
db.close() #關閉連接
2.2插入操作
[python] view plain
import pymysql
#2.插入操作
db= pymysql.connect(host="localhost",user="root",
password="123456",db="test",port=3307)

# 使用cursor()方法獲取操作游標
cur = db.cursor()

sql_insert ="""insert into user(id,username,password) values(4,'liu','1234')"""

try:
cur.execute(sql_insert)
#提交
db.commit()
except Exception as e:
#錯誤回滾
db.rollback()
finally:
db.close()
2.3更新操作

[python] view plain
import pymysql
#3.更新操作
db= pymysql.connect(host="localhost",user="root",
password="123456",db="test",port=3307)

# 使用cursor()方法獲取操作游標
cur = db.cursor()

sql_update ="update user set username = '%s' where id = %d"

try:
cur.execute(sql_update % ("xiongda",3)) #像sql語句傳遞參數
#提交
db.commit()
except Exception as e:
#錯誤回滾
db.rollback()
finally:
db.close()
2.4刪除操作

[python] view plain
import pymysql
#4.刪除操作
db= pymysql.connect(host="localhost",user="root",
password="123456",db="test",port=3307)

# 使用cursor()方法獲取操作游標
cur = db.cursor()

sql_delete ="delete from user where id = %d"

try:
cur.execute(sql_delete % (3)) #像sql語句傳遞參數
#提交
db.commit()
except Exception as e:
#錯誤回滾
db.rollback()
finally:
db.close()

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:425
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:550
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:736
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:530
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:140
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:227
java駝峰 發布:2025-02-02 09:13:26 瀏覽:645
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:527
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:205
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:721