mysql學習———表的約束

這章接上一章數據表的基本操作,因爲我也是剛開始學習,只有自己學懂了纔敢寫博客,再加上自己比較笨,所以更新比較慢
爲了防止數據表中插入錯誤的數據,在 MySQL 中,定義了一些維護數據庫完整性的規則,唔 就是表的約束,先看下面的
在這裏插入圖片描述
在mysql中有五種約束:

主鍵

爲了快速查找表中的某條信息,可以通過設置主鍵來實現。主鍵約束是通過PRIMATY KEY 定義的,它可以唯一標識表中的記錄
在 mysql中,主鍵約束分爲兩種
注意:每個數據表中最多只能有一個主鍵約束,定義爲 PRIMATY KEY的字段不能有重複值 且不能爲 NULL值

單字段主鍵:

單字段主鍵指的是由一個字段構成的主鍵: 語法如下:
字段名 數據類型 PRIMATY KEY
列如:
在這裏插入圖片描述

多字段主鍵:

多字段主鍵指的是多個字段組合而成的主鍵
語法如下:
PRIMARY KEY (字段名 1,字段名 2,…,字段名 n)
列如:

創建一個數據表student在表中將id 和name 兩個字段共同作爲主鍵,
 SQL 語句如下:
   CREATE TABLE student(
		id  INT,
		name char,
		grade FLOAT,
		PRIMARY KEY(id,name)
		);

非空約束

非空約束指的是字段的值不能爲 NULL ,在 MYSQL中,非空約束是通過 NOT NULL 定義的,
基本的語法格式:
   字段名 數據類型 NOT NULL;

在這裏需要注意的是:在同一個數據表中可以定義多個非空字段。

例如:
創建一個數據表student在表中將id 設爲主鍵約束,將name設爲非空約束
CREATE TABLE sutdent(
				id INT PRIMARY KEY,     #主鍵約束 
				name char(10) NOT NULL  #非空約束
				);

唯一約束

唯一約束用於保證數據表中字段的唯一性,即表中字段的值不能重複出現。
比如我們的身份證號,就是唯一的,唯一約束是通過UNIQUE 定義的語法如下
字段名 數據類型 UNIQUE

列如:
創建一個數據表 test1,將表中的id設置爲唯一約束,

SQL 語句如下:
   CREATE TABLE test1 (
   id INT PRIMARY KEY,
   id INT UNIQUE,
   name VARCHAR(20) NOT NULL
   );

默認約束

默認約束用於給數據表中的字段指定默認值,也就是說當在表中插入一條新記錄時,如果沒有給這個字段賦值,那麼,數據庫系統會自動爲這個字段插入默認值。默認值是通過DEFAULT 關鍵字定義的,
其基本的語法格式如下所示:

字段名 數據類型 DEFAULT 默認值
創建一個數據表 test2,將表中的 age字段的默認值設置爲18`,
SQL 語句如下:

CREATE TABLE test2 (
id  INT PRIMARY KEY,
name char(10),
age  int  DEFAULT 18
);

設置表的字段值自動增加

在數據表中,若想爲表中插入的新記錄自動生成唯一的 ID ,可以使用AUTO_INCREMENT約束來實現。 這個就類似我們數據表的序號,每添加一條
記錄,序號就自動+1,AUTO_INCREMENT 約束的字段可以是任何整數類型
語法;
字段名 數據類型 AUTO_INCREMENT
例如:

創建一個數據表test3,將表中的id字段設置爲自動增加,
sql語句如下:
 	CREATE TABLE test3 (
				id     INT   PRIMARY KEY AUTO_INCREMENT ,
				name   INT  UNIQUE,
				grade  FLOAT
				);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章