解析MySQL資料庫中執行SQL語句的注意點

2022-03-31 20:50:52 字數 905 閱讀 4808

在執行查詢命令時的大小寫問題

預設情況下,mysql在執行查詢時不區分字母的大小寫。當你在查詢時使用like a%時, 預設將返回以a或者a開頭的所有列值,若要在查詢時區分大小寫,則需要使用collate運算子來實現,具體例子如下:

如果想讓某列在查詢時始終保持區分字母大小寫,則需要用case sensitive或binary collation來定義列的特性。

當進行簡單比較運算,=, >, =,

和空值null相關的問題

空值的概念比較容易混淆,有人認為空值null和空 字元是一會時,其實這樣認為是錯誤的,舉例來說,

上面兩條語句有完全不同的意義和結果。第一句表示,向表中插入的記錄中的某人的**號碼null,意思是還不知道這 條記錄中的人的**號碼,而第二句向表中插入空字元,就意味著已經知道表中這條記錄中的人的**號碼,這個**號碼 是,也可以確定此人沒有正常的**號碼。

幫助處理空值null的方法,主要通過執行is null運算判斷,is not null運算 判斷,和ifnull()函式運算來實現。在sql中,任何與null發生運算關係的結果都不可能為真(即永遠是假)。為了尋找null值 ,必須執行is null測試運算。

可以在myisam, innodb, bdb或memory等儲存型別的表列中含有空值時新增index,但該 index必須宣告成not null,這樣之後將不可以往該列中輸入空值。

當使用load data infile語句載入資料時,空值null將 被替換成。使用distinct, group by, 或order by時所有空值將被視為等同。像count(), min(), sum()等概要總結函式將忽略空值null。

但對一些特殊型別的列來說,比如timestamp型別和具有auto_increment屬性的列:前者插入null是實際將插入當前時間值,向後者插入null時將是下個正整數序列。

mysql資料庫 查詢模型 mysql之SQL模型

sql模型 sql mode 通過定義某些規定,限制使用者行為,並定義對應的處理機制。常見的模型 ansi 寬鬆模式,對插入資料進行校驗,如果不符合定義型別或長度,對資料型別調整或截斷儲存,報warning警告。traditional 嚴格模式,當向mysql資料庫插入資料時,進行資料的嚴格校驗,保...

執行中操作mysql資料庫

cmd 進入執行介面 net start mysql 啟動sql服務 cd mysql bin mysql u root p password root 連線資料庫 show databases 顯示mysql中所有的資料庫 user database 使用當前資料庫 show tables 顯示當...

檢視資料庫命令 Mysql資料庫的常用SQL語句

在使用mysql資料的過程中由於命令太多經常會出現忘記命令的情況,因此在這裡把常用到的命令和sql語句記錄下。檢視資料庫編碼 show create database db name db name為要修改的資料庫名 檢視當前開啟的資料庫select databae 檢視所有資料庫show data...