標籤:
emily
連結:http://zhuanlan.zhihu.com/p/20778415
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
從sqlite資料庫匯入到mysql資料庫執行個體
從sqllite中匯出資料檔案庫XX.sql的檔案。匯入到mysql資料庫中。
鍵入命令: source /smb/works/mysql.sql
出現很多如下的錯誤:
You have an error in your SQL syntax; check the manual thatcorresponds to your MariaDB server version for the right syntax to use near XXXXXXXXX
原因是sqllite與mysql語句有很大的區別:左邊為MYSQL、右邊為SQLite
1、啟動事務
Mysql 為start transaction
Sqlite 為 begin transaction
2、提交事務
Mysql 為commit
Sqlite 為commit transaction
3 建立表
Mysql的庫名、表名、列明等都不需要使用[ ],sqlite 所有的名稱都需要增加[ ]。
4、資料類型
sqlite的資料類型mysql都支援。但是sqlite中定義了範圍在mysql中匯入會報錯。只有varchar需要定義範圍。
5、衝突解決
SQLite 的 ONCONFLICT子句不是獨立的SQL命令。這是一條可以出現在許多其他SQL命令中的非標準的子句。在Mysql中不支援。
從mysql資料庫匯入到sqlite資料庫執行個體
第一步: mysql匯出.sql檔案
在終端中輸入
mysqldump -h localhost -u root -p mydb>e:\mysql\mydb.sql
然後輸入密碼,等待一會匯出就成功了,可以到目標檔案中檢查是否成功。
第二步:使用命令開啟資料庫db檔案。
在目前的目錄下建立資料庫檔案 test.db,若存在該資料庫檔案,則是開啟資料庫檔案。如果想從別人的db檔案上修改,也可以採用這樣的方式開啟其資料庫檔案,然後修改。匯入成功後出現所示:
第三步:使用dabatabse命令
可以庫main對應的資料庫檔案儲存路徑為第二步開啟的檔案。
第四步:修改資料庫
使用SQL語句對該資料庫進行操作。如果從別的庫遷移過來,使用庫匯出的sql檔案,用記事本開啟sql檔案,mysql與sqlite的sql語句有一些差別,在文檔《從sqlite資料庫匯入到mysql資料庫》一文中已有標書。
若需要對資料庫的表進行建立、資料結構進行調整都可以在.sql檔案中進行修改完後,使用read命令讀入sql檔案。 如果有錯,則返回錯誤資訊。 如果正確,就直接返回了。
第五步:確認是否修改成功
使用headers on命令,開啟表開關,然後sql語句select查閱表,看錶中的內容是否已經修改成功。
sqlite3 的命令需要通過“.XXX”的形式調用。調用命令前需要加”.”。
sql語句需要“XXXXXXXXXX;”的形式調用。語句結束後需要加“;”
sqlite的命令集合:
mysql的命令集合
MySQL與SQLite的遷移