我們已經知道 mysql 使用 sql select 命令及 where 子句來讀取資料表中的資料,但是當提供的查詢條
件字段為 null 時,該命令可能就無法正常工作。
為了處理這種情況,mysql提供了三大運算子:
is null: 當列的值是 null,此運算子返回 true。
is not null: 當列的值不為 null, 運算子返回 true。
<=>: 比較操作符(不同於=運算子),當比較的的兩個值為 null 時返回 true。
關於 null 的條件比較運算是比較特殊的。你不能使用 = null 或 != null 在列中查詢 null 值 。
在 mysql 中,null 值與任何其它值的比較(即使是 null)永遠返回 false,即 null = null 返回
false 。
mysql 中處理 null 使用 is null 和 is not null 運算子。
你可能想知道mysql以下三種資訊:
查詢結果資訊: select, update 或 delete語句影響的記錄數。
資料庫和資料表的資訊: 包含了資料庫及資料表的結構資訊。
mysql伺服器資訊: 包含了資料庫伺服器的當前狀態,版本號等。
在mysql的命令提示符中,我們可以很容易的獲取以上伺服器資訊。
以下命令語句可以在 mysql 的命令提示符使用,也可以在指令碼中 使用,如php指令碼。
select version( ) 伺服器版本資訊
select database( ) 當前資料庫名 (或者返回空)
select user( ) 當前使用者名稱
show status 伺服器狀態
show variables 伺服器配置變數
當我們需要修改資料表名或者修改資料表字段時,就需要使用到mysql alter命令。
如下命令使用了 alter 命令及 drop 子句來刪除以上建立表的 i 字段:
mysql> alter table testalter_tbl drop i;
如果資料表中只剩餘乙個欄位則無法使用drop來刪除字段。
mysql 中使用 add 子句來向資料表中新增列,如下例項在表 testalter_tbl 中新增 i 字段,並定義資料類
型:
mysql> alter table testalter_tbl add i int;
執行以上命令後,i 欄位會自動新增到資料表字段的末尾
如果需要修改字段型別及名稱, 你可以在alter命令中使用 modify 或 change 子句 。
例如,把字段 c 的型別從 char(1) 改為 char(10),可以執行以下命令:
mysql> alter table testalter_tbl modify c char(10);
如果需要修改資料表的名稱,可以在 alter table 語句中使用 rename 子句來實現。
嘗試以下例項將資料表 testalter_tbl 重新命名為 alter_tbl:
mysql> alter table testalter_tbl rename to alter_tbl;
查詢資料庫,處理NULL值問題
在做機房收費系統時,每當從資料庫中查詢資料並顯示到窗體介面時,如果查詢的記錄中有字段值為null時,就會報錯 比如 例子可能不恰當,因為註冊時不允許不輸入學生姓名。但是就是那個意思 卡號1 學號為1 上機時,在上機介面要顯示上機資訊 學號 姓名 性別 系別 上機時要聯結三個表 cardinfo st...
資料庫的null值
資料庫的null值給我開了乙個小玩笑,同時我也記住了以後遇到這種問題要怎麼處理了。在我的link表中backupid欄位只有2個值 2 和null。現在我想排除掉backupid字段值為2的記錄,剩下所有為null的記錄。我在pl sql中執行如下語句,得不得任何記錄結果 select from l...
golang orm資料庫插入null值
不知道大家在用golang orm框架的時候有沒有遇到過這個問題,比如有表 person 字段 age name,name不能重複所以設定了唯一索引 unique go 結構體 type person struct大家都知道,stirng的預設值為空字串 所以在插入的時候,name預設就被orm框架...