INSERT INTO 語句中的引號問題

2021-08-28 23:03:31 字數 3496 閱讀 7110

insert into 語句用於向**中插入新的行。

insert into 表名稱 values (值1, 值2,....)
我們也可以指定所要插入資料的列:

insert into table_name (列1, 列2,...) values (值1, 值2,....)
關鍵點:
關於&、雙引號、和單引號的解釋

下面先簡單地說一下他們的意義。(1

)&是連線運算子,它可以將兩個字串連線成乙個字串。

如a="abc" & "def"

執行連線運算後,a="abcdef"。

再如a="abc" & temp

注意,這裡temp是乙個字串變數,假如temp="def",那麼代入上面的式子,則結果為:

a="abc" & "def"

繼續執行連線運算,結果a="abcdef"。

有時候,可能會有多個連線運算子,只要依次運算即可。如

a="abc" & "def" & "gh"

結果為a="abcdefgh"。(2

)關於雙引號

"。字串常量兩邊一定要加雙引號,表示這是乙個字串。

如上面的"abc"、"def"、"gh"兩邊的雙引號就都是表示這是乙個字串。

當然,字串變數名稱兩邊不能再加雙引號了,如上面提到的a="abc" & temp 中的temp是變數,

所以兩邊不能加雙引號,如果給temp加上雙引號,那麼它就變成了乙個字串常數"temp"了。    (3

)關於單引號

'。為什麼會使用單引號呢?這是因為如果發生引號巢狀,內層的雙引號就要改為單引號。

(2)可是在asp中,我們通常這樣寫

strsql="insert into users(username) values('小王')"

此時,前後的雙引號表示中間是乙個字串。而小王兩邊的單引號是因為發生了引號巢狀,

所以內層引號該為了單引號。

(3)實際插入時,因為小王通常是從表單中獲取的變數,不過因為變數不能直接寫入字串,必須通過連線符&和字串連線在一起,所以要寫成如下形式:

myusername=request.form("username")

……strsql="insert into users(username) values('" & myusername & "')"

很多人此時就糊塗了,為什麼其中又有單引號,又有雙引號啊。簡單的看上面的式子,其實是由如下三部分組成的:

字串常數:"insert into users(username) values('"

字串變數:myusername

字串常數:"')"

直接理解上面的式子可能比較困難,現在我們變數myusername的值代入就能看清楚了。

假如myusername="小王",代入:

strsql="insert into users(username) values('" & "小王" & "')"

然後依次執行其中的連線運算子,結果為:

strsql="insert into users(username) values('小王')"

這就是(2)中提到的正確的sql語句。

到此就能看清楚了:

式子中第1、2個雙引號配套,表示這是乙個字串。第3、4個雙引號配套,也表示是乙個字串。

而式子中的單引號就是文字型字段值小王前後的單引號。

(4)上面只有乙個字段,下面來看乙個有兩個欄位的情況:

strsql="insert into users(username,password)

values('" & myusername & "','" & mypassword & "')"

其中 myusername 和mypassword 是變數。

現在假如myusername="小王",mypassword="123456",代入其中,結果為:

strsql="insert into users(username,password) values('" & "小王" & "','" & "123456" & "')"

依次執行連線運算,結果為:

strsql="insert into users(username,password) values('小王','123456')"     (5

)文字型字段值兩邊加引號,日期型兩邊加

#,數字、邏輯兩邊什麼都不用加。張紅』)」

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

strsql=「insert into mytable(username) values(『」   「』)」

第二步:在中間新增兩個連線符&

strsql=「insert into mytable(username) values(『」 & & 「』)」

第三步:把變數寫在兩個連線符之間

strsql=「insert into mytable(username) values(『」 & thename & 「』)」

實際插入時,因為小王通常是從表單中獲取的變數,不過因為變數不能直接寫入字串,必須通過連線符&和字串連線在一起,所以要寫成如下形式:

myusername=request.form("username")

……strsql="insert into users(username) values('" & myusername & "')"很多人此時就糊塗了,為什麼其中又有單引號,又有雙引號啊。簡單的看上面的式子,其實是由如下三部分組成的:字串常數:"insert into users(username) values('"字串變數:myusername字串常數:"')"

INSERT INTO 語句的語法錯誤

string sqlstr insert into db new content,title,classname,username,headline,highlight,summary,nkey,writer,source,hints,dateandtime,popedom,checkup,imag...

insert into語句的測試點

最近學員面試遇到乙個很有趣的面試題,sql語句中的insert into你怎麼測?通過該題可以了解到應聘者對資料庫的熟悉程度,也可以看出應聘者的測試分析能力。語句正確 語句後面接表名,各字段值正確,插入資料正確 表名後面接字段,各字段值正確,插入資料正確 往單錶的檢視中插入資料,插入資料正確 語句錯...

mysql中insert into語句的多種用法

mysql資料庫對於插入資料有專門的語句,就是insert into,mysql中insert語句是最常用的插入語句,insert 語句可以用來將一行或多行資料插到資料庫表,mysql中insert into語句有固定的語法格式,卻因引數的不同有不一樣的用法,本文向大家介紹mysql中insert ...