資料庫SQL SQLite語句單引號 雙引號的用法

2021-07-02 19:14:16 字數 3065 閱讀 9203

最近程式設計運算元據庫語句的時候出現一些問題。

關於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效能問題分析

資料庫語句

1.case,when,else小例子 selecte as x case when then good else bad as from table 比如 select case when highercode 1 then 省會 else 不知道 end as detail code as 地區...

資料庫語句

資料庫語句 ddl語句 data definition language 即資料庫定義語言 ddl語句包含create alter drop等常用語句 資料庫操作 檢視資料庫 show databases 2.建立資料庫 create database 資料庫名 例項名 3.切換 選擇資料庫 use...

資料庫語句

alter用法 新增乙個表的列 alter table 表名 add 列名 datatype 刪除乙個表的列 alter table 表名 drop column 列名 修改列的資料型別 alter table 表名 alter column 列名 datatype auto increment c...