主頁 > 知識庫 > MySQL非空約束(not null)案例講解

MySQL非空約束(not null)案例講解

熱門標(biāo)簽:云南電商智能外呼系統(tǒng)價格 高清地圖標(biāo)注道路 拉卡拉外呼系統(tǒng) 400電話可以辦理嗎 智能外呼系統(tǒng)復(fù)位 話務(wù)外呼系統(tǒng)怎么樣 外東北地圖標(biāo)注 大眾點評星級酒店地圖標(biāo)注 臨清電話機器人

MySQL 非空約束(NOT NULL)指字段的值不能為空。對于使用了非空約束的字段,如果用戶在添加數(shù)據(jù)時沒有指定值,數(shù)據(jù)庫系統(tǒng)就會報錯。可以通過 CREATE TABLE 或 ALTER TABLE 語句實現(xiàn)。在表中某個列的定義后加上關(guān)鍵字 NOT NULL 作為限定詞,來約束該列的取值不能為空。

比如,在用戶信息表中,如果不添加用戶名,那么這條用戶信息就是無效的,這時就可以為用戶名字段設(shè)置非空約束。

在創(chuàng)建表時設(shè)置非空約束

創(chuàng)建表時可以使用 NOT NULL 關(guān)鍵字設(shè)置非空約束,具體的語法格式如下:

字段名> 數(shù)據(jù)類型> NOT NULL;

例 1

創(chuàng)建數(shù)據(jù)表 tb_dept4,指定部門名稱不能為空,SQL 語句和運行結(jié)果如下所示。

mysql> CREATE TABLE tb_dept4
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22) NOT NULL,
    -> location VARCHAR(50)
    -> );
Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_dept3;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | NULL    |       |
| name     | varchar(22) | NO   |     | NULL    |       |
| location | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.06 sec)

在修改表時添加非空約束

如果在創(chuàng)建表時忘記了為字段設(shè)置非空約束,也可以通過修改表進行非空約束的添加。

修改表時設(shè)置非空約束的語法格式如下:

ALTER TABLE 數(shù)據(jù)表名>
CHANGE COLUMN 字段名>
字段名> 數(shù)據(jù)類型> NOT NULL;

例 2

修改數(shù)據(jù)表 tb_dept4,指定部門位置不能為空,SQL 語句和運行結(jié)果如下所示。

mysql> ALTER TABLE tb_dept4
    -> CHANGE COLUMN location
    -> location VARCHAR(50) NOT NULL;
Query OK, 0 rows affected (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC tb_dept4;
+----------+-------------+------+-----+----------+-------+
| Field    | Type        | Null | Key | Default  | Extra |
+----------+-------------+------+-----+----------+-------+
| id       | int(11)     | NO   | PRI | NULL     |       |
| name     | varchar(22) | NO   |     | NULL     |       |
| location | varchar(50) | NO   |     | NULL     |       |
+----------+-------------+------+-----+----------+-------+
3 rows in set (0.00 sec)

刪除非空約束

修改表時刪除非空約束的語法規(guī)則如下:

ALTER TABLE 數(shù)據(jù)表名>
CHANGE COLUMN 字段名> 字段名> 數(shù)據(jù)類型> NULL;

例 3

修改數(shù)據(jù)表 tb_dept4,將部門位置的非空約束刪除,SQL 語句和運行結(jié)果如下所示。

mysql> ALTER TABLE tb_dept4
    -> CHANGE COLUMN location
    -> location VARCHAR(50) NULL;
Query OK, 0 rows affected (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC tb_dept4;
+----------+-------------+------+-----+----------+-------+
| Field    | Type        | Null | Key | Default  | Extra |
+----------+-------------+------+-----+----------+-------+
| id       | int(11)     | NO   | PRI | NULL     |       |
| name     | varchar(22) | NO   |     | NULL     |       |
| location | varchar(50) | YES  |     | NULL     |       |
+----------+-------------+------+-----+----------+-------+
3 rows in set (0.00 sec)

到此這篇關(guān)于MySQL非空約束(not null)案例講解的文章就介紹到這了,更多相關(guān)MySQL非空約束(not null)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL外鍵約束(FOREIGN KEY)案例講解
  • MySQL 外鍵約束和表關(guān)系相關(guān)總結(jié)
  • MySQL完整性約束的定義與實例教程
  • MySQL 8.0新特性 — 檢查性約束的使用簡介
  • MySQL中外鍵的創(chuàng)建、約束以及刪除
  • Mysql中索引和約束的示例語句
  • MySQL外鍵約束的實例講解
  • 詳解MySQL 外鍵約束
  • mysql完整性約束實例詳解
  • MySQL約束超詳解

標(biāo)簽:山西 無錫 三明 溫州 定西 福州 揚州 阿里

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL非空約束(not null)案例講解》,本文關(guān)鍵詞  MySQL,非空,約束,not,null,案例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL非空約束(not null)案例講解》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL非空約束(not null)案例講解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章