####問題#### 關於mysql很少講,我是用的是mysql5.7版本,使用數據庫管理工具navicat for mysql,python使用python3.7版本,在使用python鏈接mysql時出現警告Warning: (1366, "Incorrect string value: '\xD6\xD0\如圖: 個人鏈接代碼是
engine = create_engine("mysql+pymysql://root:password@127.0.0.1:3306/mydata?charset=utf8")#操做數據庫
####如下是解決方法:#### 在使用python鏈接mysql時須要先安裝mysql-python模塊,而後安裝mysql-connector-python驅動(在anaconda中的安裝命令是conda install mysql-connector-python),也能夠在pycharm中引用import mysql選擇mysql-connector-python自動安裝(若安裝不成功仍是使用命令安裝),以後修改鏈接代碼爲: engine= create_engine('mysql+mysqlconnector://root:password@127.0.0.1:3306/mydata?charset=utf8')
就不會出現警告了,下面貼上測試代碼:python
from sqlalchemy import create_engine, Integer, String from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column #建立數據庫 engine= create_engine('mysql+mysqlconnector://root:password@127.0.0.1:3306/mydata?charset=utf8') Session= sessionmaker(bind=engine) #聲明一個基類 Base = declarative_base() class Ltabel(Base): #表名 __tablename__ = 'rp' #id id=Column(Integer,primary_key=True,autoincrement=True) #崗位id positionId=Column(Integer,nullable=False) #崗位名稱 positionName=Column(String(length=20),nullable=False) #list compylist=Column(String(length=20),nullable=True) if __name__ == "__main__": #建立數據表 Ltabel.metadata.create_all(engine)