首頁  >  文章  >  資料庫  >  mysql中not null是索引嗎

mysql中not null是索引嗎

青灯夜游
青灯夜游原創
2022-06-20 17:56:002345瀏覽

「not null」不是索引而是非空約束,用於指定字段的值不能為空;對於使用了非空約束的字段,如果添加資料時沒有指定值,則會報錯。設定非空約束的兩種方法:1、建表時設置,語法「CREATE TABLE 表名(字段名資料類型NOT NULL);」;2、修改表時設置,語法「ALTER TABLE 表名CHANGE COLUMN 字段名字段名資料型別NOT NULL;”。

mysql中not null是索引嗎

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

「not null」不是索引而是非空約束。

 非空約束(NOT NULL)指向欄位的值不能為空。對於使用了非空約束的字段,如果使用者在新增資料時沒有指定值,資料庫系統就會報錯。可以透過 CREATE TABLE 或 ALTER TABLE 語句實現。在表中某個列的定義後面加上關鍵字 NOT NULL 作為限定詞,來約束該列的取值不能為空。

例如,在使用者資訊表中,如果不新增使用者名,那麼這條使用者資訊就是無效的,這時就可以為使用者名字段設定非空約束。

在建立表格時設定非空約束

#建立表格時可以使用NOT NULL 關鍵字設定非空約束,具體的語法格式如下:

CREATE TABLE 表名(
字段名 数据类型 NOT NULL
);

範例:建立資料表tb_dept4,指定部門名稱不能為空

CREATE TABLE tb_dept4
(
id INT(11) PRIMARY KEY,
name VARCHAR(22) NOT NULL,
location VARCHAR(50)
);

mysql中not null是索引嗎

DESC tb_dept4;

mysql中not null是索引嗎

mysql中not null是索引嗎

#在修改表時新增非空約束

######如果在建立表格時忘記了為欄位設定非空約束,也可以透過修改表進行非空約束的新增。 ######修改表時設定非空約束的語法格式如下:###
ALTER TABLE <表名
CHANGE COLUMN 字段名
字段名 数据类型 NOT NULL;
###範例:修改資料表tb_dept4,指定部門位置不能為空###
ALTER TABLE tb_dept4
CHANGE COLUMN location
location VARCHAR(50) NOT NULL;
######### ####【相關推薦:###mysql影片教學###】###

以上是mysql中not null是索引嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn