數據庫SQL語句單引號、雙引號的用法


最近編程操作數據庫語句的時候出現一些問題。

關於Insert字符串 ,在(單引號,雙引號)這個方面發生了問題,其實主要是因為數據類型和變量在作怪。

下面我們就分別講述,雖然說的是Insert語句, 但是Select、Update、Delete語句都是一樣的。 


假如有下述表格:         
mytabe         
字段1    username     字符串型(姓名)         
字段2    age          數字型(年齡)         
字段3    birthday      日期型(生日)         
字段4    marry        布爾型(是否結婚,結婚為True,未結婚為False)         
字段5    leixing       字符串型(類型)          


1.     插入字符串型 

假如要插入一個名為張紅的人,因為是字符串,所以Insert語句中名字兩邊要加單撇號數值型可以不加單引號

如:          strsql=“Insert into mytable(username) values(‘張紅')”       

如果現在姓名是一個變量thename,則寫成         

strsql=”Insert into mytable(username) values(‘” & thename & “')”        說明:&改為+號也可以吧,字符串連接

這里Insert into mytable(username) values(‘  是張紅前面的部分,thename是字符串變量,   ')   是張紅后面的部分。

將thename變量替換成張紅,再用&將三段連接起來,就變成了 strsql=“Insert into mytable(username) values(‘張紅')”。

如果要插入兩個字段,如姓名為“張紅”,類型為“學生”         

strsql=“Insert into mytable(username,leixing) values(‘張紅','學生')”         

如果現在姓名是一個變量thename,類型也是一個變量thetype,

則寫成:          strsql=”Insert into mytable(username,leixing) values(‘” & thename & “','” & thetype & “')”       

和第一個例子一樣,將thename和thetype替換后,再用連接符,就連接成和上面一樣的字符串了。       

  
2.     插入數字型    
   

假如插入一個年齡為12的記錄,要注意數字不用加單撇號:         

strsql=“Insert into mytable(age) values(12)”          如果現在年齡是一個變量theage,則為:         

strsql=“Insert into mytable(age) values(“ & theage & “)”          

這里Insert into mytable(age) values(是12前面的部分,theage是年齡變量,)是12后面部分。 

將theage替換,再用&連接符將三部分連接起來,就變為了和上面一樣的字符。     

  
3.     插入日期型    

日期型和字符串型類似,但是要將單撇號替換為#號。(不過,access數據庫中用單撇號也可以)    

strsql=“Insert into mytable(birthday) values(#1980-10-1#)”        

如果換成日期變量thedate          strsql=“Insert into mytable(birthday) values(#” & thedate & “#)”     

 
4.     插入布爾型   

布爾型和數字型類似:只不過只有兩個值 True和False,

如:          strsql=“Insert into mytable(marry) values(True)”         

如果換成布爾變量themarry       

strsql=“Insert into mytable(birthday) values(” & themarry& “)”       


5.     綜合示例        

插入一個姓名為張紅,年齡為12的記錄         

strsql=“Insert into mytable(username,age) values(‘張紅',12)”         

仔細注意上式:因為姓名是字符串,所以張紅兩邊加了單撇號;年齡是數字,所以沒有加單撇號。     

如果換成字符串變量thename和數字變量theage,則變為:        

strsql=“Insert into mytable(username,age) values(‘” & thename & “',” & theage & “)”    

注意上式,總之,替換變量,再連接后要完成和上邊一樣的字符串。       


6.     小竅門      


 要把下面的語句題換成變量的寫法:    
   strsql=“Insert into mytable(username) values(‘張紅')”       
  

   第一步:先把張紅抹去,在原位置  加 兩個引號        

   strsql=“Insert into mytable(username) values(‘”   “')”         

   第二步:在中間添加兩個連接符&         

   strsql=“Insert into mytable(username) values(‘” & & “')”        

   第三步:把變量寫在兩個連接符之間          

   strsql=“Insert into mytable(username) values(‘” & thename & “')” -


我們在寫SQL查詢的時候還是不厭其煩的加上單引號吧,似乎那沒有壞處。因為對於主鍵為字符串類型的查詢語句,加不加單引號的性能是相差百倍一上的。參看:一個單引號引發的MYSQL性能問題分析


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM