MySQL基礎操作練習(七) 約束 事務

2021-10-08 12:16:17 字數 1975 閱讀 8200

mysql基礎操作練習(七)——約束、事務

一、約束

1、not null:非空 該字段的值是必填的,如果不設定該約束,該欄位預設是可以為空

2、default:預設 該字段有預設值

3、check:檢查,mysql語法支援,但效果不支援 該字段值可以加以限制,比如年齡可以控制在0-120之間

4、primary key:主鍵(不可重複)

1)不可以為空

2)乙個表中只能有乙個主鍵,但是可以多個欄位做組合主鍵

5、unique:唯一約束(不可重複)

1)可以為空

2)乙個表中可以有多個唯一鍵,可以有組合唯一鍵

6、foreign key:外來鍵 (限制多表的關係)

1)從表的該字段值必須來自於主表的關聯列的值

2)從表和主表的關聯列的型別必須一樣

3)主表的關聯列必須是主鍵

4)在從表中設定外來鍵

5)乙個表中可以新增多個外來鍵

6)插入資料時,先插入主表; 刪除資料時,先刪除從表

列級約束在列的後面,不支援外來鍵

表級約束在表的後面,不支援非空和預設

列級約束 語法:

create

table 表名(

欄位名 字段型別 列級約束,

欄位名 字段型別 列級約束,

表級約束#)

表級約束 語法:

create

table stuinfo(

id int

, stuname varchar(20

), gender char

, age int

unsigned

, 【constraint 約束名】約束型別(字段)

);

二、事務

事務:一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。

1、特點:

(1)原子性(atomicity)

原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。

(2)一致性(consistency)

事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。

(3)隔離性(isolation)

事務的隔離性是指乙個事務的執行不能被其他事務干擾,即乙個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。

(4)永續性(durability)

永續性是指乙個事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來的其他操作和資料庫故障不應該對其有任何影響

2、以第乙個 dml 語句的執行作為開始

以commit 或 rollback 語句ddl 或 dcl 語句(自動提交)作為結束

set autocommit=0;#取消自動提交

start transaction;#開啟事務

rollback;#回滾事務

commit;#提交事務

3、資料庫提供的 4 種事務隔離級別

read uncommited(讀未提交的資料)

read commited (讀已提交的資料)

repeatable read (可重複讀)

serializable (序列化)

oracle 支援的 2 種事務隔離級別:read commited, serializable。 oracle 預設的事務隔離級別為: read commited

mysql 支援 4 種事務隔離級別. mysql 預設的事務隔離級別為: repeatable read

4、檢視當前的隔離級別: select @@tx_isolation;

Mysql基礎七之常見約束

常見約束 含義 一種限制,用於限制表中的資料,為了保證表中資料的準確和可靠性 1.not null 非空,用於保證該字段的值不能為空 2.default 預設,用於保證該字段有預設值 3.primary key 主鍵,用於保證該字段的值具有唯一性,並且非空 4.unique 唯一,用於保證該字段的值...

mysql約束教程 mysql教程(七) 約束詳解

1 常見約束 not null 非空約束,針對某個字段設定其值不為空,如 學生的姓名不能為空。unique 唯一約束,它可以使某個欄位的值不能重複,如 email不能重複 primary key 主鍵約束,每個表應該具有主鍵,主鍵可以標識記錄的唯一性,主鍵分為單一主鍵和復合 聯合 主鍵,單一主鍵是由...

mysql基礎,約束

約束 概念 對錶中的資料進行限定,保證資料的正確性 有效性和完整性。分類 1.主鍵約束 primary key 2.非空約束 not null 3.唯一約束 unique 4.外來鍵約束 foreign key 非空約束 再建立表的時候新增約束 建立表之後在新增約束 5.自動增長 1.概念 如果某一...