日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 特殊字符

發布時間:2025/7/14 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 特殊字符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、倒引號,比如表中有一個字段為desc,在mysql中desc是關鍵字,如何表明desc是字段呢?
有兩種辦法:desc使用倒引號引起來,或者在desc前面加上表名,如下:
mysql> select desc from student;
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc from student' at line 1
mysql> select `desc` from student;
+-------+
| desc |
+-------+
| hello |
+-------+
1 row in set

mysql> select student.desc from student;
+-------+
| desc |
+-------+
| hello |
+-------+
1 row in set
2、考慮下面的存儲過程
DELIMITER ;;
CREATE PROCEDURE `qry_student`(in iName varchar(64), in iAge int)
BEGIN
select * from student where school='NUM_1' and name = iName and age>iAge;
END
;;
DELIMITER ;

如何使用動態sql語句來完成上面的功能?
注意:上面的情況,不應該使用動態sql語句,這里只是為了舉例。有些復雜的業務邏輯需求,需要組成動態sql語句。
3、第一個問題,單引號當中有單引號,怎么辦?
里面的單引號使用雙引號,或者轉義,轉義有兩種辦法:兩個單引號 '',或者 \',如下:
set vSql = concat('select * from student where school="NUM_1" ','and name =''',iName,''' and age>',iAge);
set vSql = concat('select * from student where school=''NUM_1'' ','and name =''',iName,''' and age>',iAge);
set vSql = concat('select * from student where school=\'NUM_1\' ','and name =''',iName,''' and age>',iAge);
使用雙引號,拼出來的sql語句也是雙引號,在mysql中,char(varchar)使用單引號和雙引號都是可以的。
4、對于變量iName,也需要用單引號引起來,怎么辦?
同樣可以使用上面的辦法,但是需要注意的是:'and name =''', 前面的單引號是最長匹配,也就是匹配最右邊的單引號,匹配第三個單引號。因此,上面等價于
'and name =\'',或者 'and name ="',
5、能不能拼接成功,最簡單的辦法是select出來看一下。

轉載于:https://www.cnblogs.com/nzbbody/p/4604641.html

總結

以上是生活随笔為你收集整理的mysql 特殊字符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。