MySql数据库操作遇到的蛋疼二三事
最近使用ADO.net操作MySql遇到很多莫名其妙的異常及各種問題。。。。
?
問題1:連接字符串
?
Database='數據庫名稱';Data Source='數據庫服務IP';User Id='用戶名';Password='密碼';charset='utf8';pooling=true
?
連接MySql數據庫的通用字符串,其中Charset決定了數據庫中的編碼,這里我們使用了通用的utf8編碼
?
問題2:數據庫存儲過程的建立及注意事項
一個標準的存儲過程腳本建立
Create Procedure PROC_CamLocationAdd (P_BaseID Integer,P_Name Varchar(200) charset 'utf8',P_DeviceID Integer,P_IsDeleted Integer )BeginInsert Into cam_location (base_id,name,device_id,deleted) Values (P_BaseID,P_Name,P_DeviceID,P_IsDeleted);END?
注意:
1、Create Procedure 存儲過程名() 無論存儲過程是否存在參數 ()不可省略
2、MySql數據庫中參數不需要使用@開頭,也無法使用@開頭
3、字符型參數 需要聲明charset 如果不聲明 輕則亂碼 重則異常。 建議設計數據庫時,保證每張表字段的編碼方式相同
4、存儲過程中執行的Sql語句 使用Begin End包含 表示為一個語句塊
?
問題3:IF Else的使用
SQL中:
IF (條件) BeginEndElse BeginEndMySql中:
/************方式1************/ IF (條件) ThenEnd IF;/************方式2***********/ IF (條件) ThenElseEnd IF; /**********方式3************/ IF(條件) ThenElse IFElseEnd IF;?
問題4: 結束符
Sql中 每一條語句不需要任何結束符表示語句的結束
MySql中 每一條語句的結束 需要在末尾加上; 與C#相同
?
問題5:大小寫
不區分大小寫
?
問題6:使用Limit分頁
MySq中支持Limit分頁,形式為 Limit(Start,Length)
?
然而Limit不支持變量做為參數,因此使用的時候 需要拼接為Sql語句字符串,然后Execute
?
目前遇到的問題及匯總 就在這里
?
?
轉載于:https://www.cnblogs.com/ShadowLoki/archive/2012/09/17/2689055.html
總結
以上是生活随笔為你收集整理的MySql数据库操作遇到的蛋疼二三事的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sift算法_单应性Homograph估
- 下一篇: vue + element-ui 聊天_