欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql數據庫之約束條件詳解

 更新時間:2025年01月10日 16:48:50   作者:_BooI  
本文介紹了數據庫表中的主鍵約束、非空約束、唯一約束、默認值約束和外鍵約束,并舉例說明了如何在創(chuàng)建表和修改表時設置這些約束

一、主鍵約束

主鍵約束(PRIMARY KEY constraint)用于唯一標識數據庫表中的每條記錄。

語法:

create table 表名 (
列名1 數據類型 primary key,
列名2 數據類型,
...
);

在主鍵的后面添加:auto_increment, 可以讓主鍵自增。

設置auto_increment之后,可以不用設置id, id會自增。

創(chuàng)建表之后再創(chuàng)建主鍵的語法:alter table 表名 add primary key (列名1, 列名2, ...);

二、非空約束

非空約束是一種數據庫約束,用于確保表中的某個列不接受空值。當為表的某個列定義了非空約束后,插入或更新該列時,必須提供非空的值。

語法:

create table 表名 (
列名 數據類型 not null,
...
);

創(chuàng)建表之后再設置非空的語法:alter table 表名 modify 列名 數據類型 not null;

三、唯一約束

唯一約束是一種數據庫約束,用于確保表中的某個列或一組列的值是唯一的,即不允許重復值。唯一約束是一種數據完整性措施,它可以保證數據的唯一性和一致性。

語法:

create table 表名 (
列名2 數據類型 unique,
...
);

在創(chuàng)建好的表中添加唯一約束:alter table 表名 add constraint 約束名 unique (列名1, 列名2, ...);

四、默認值約束

默認值約束是一種數據庫約束,用于在插入數據時,如果未顯式為列指定值,則自動使用指定的默認值,是一種數據完整性措施,它確保了在缺少顯式值的情況下,表中的列始終具有默認值。

語法:

Create table 表名 (
列名1 數據類型 default 默認值,
列名2 數據類型 default 默認值,
...
);

在創(chuàng)建好的表中添加默認值約束:alter table 表名 alter colum 列名 set default 默認值;

五、外鍵約束

外鍵約束是一種數據庫約束,用于在相關表之間建立關聯關系,保持數據的完整性和一致性。

外鍵約束可以確保在一個表中的列值必須在另一個表中存在。

語法:

Create table 表名 (
列名1 數據類型,
列名2 數據類型,
...
foreign key (列名) references 關聯表名(關聯列名)
);

例:作者和文章的關系是:1:N, 外鍵存在多的一方,所以外鍵設在文章表, 所以先創(chuàng)建作者表。

創(chuàng)建作者表:

創(chuàng)建文章表,并設置外鍵:

在創(chuàng)建好的表中添加外鍵約束(約束名自己命名):

alter table 表名 add constraint 約束名 foreign key (列名) references 關聯表名(關聯列名);

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MySQL HandlerSocket插件安裝配置教程

    MySQL HandlerSocket插件安裝配置教程

    這篇文章主要介紹了MySQL HandlerSocket插件安裝配置,包括PHP HandlerSocket插件的安裝配置,需要的朋友可以參考下
    2014-04-04
  • 實現MySQL回滾的Python腳本的編寫教程

    實現MySQL回滾的Python腳本的編寫教程

    這篇文章主要介紹了實現MySQL回滾的Python腳本的編寫教程,文中的回滾針對的是DELETE語句的數據庫誤操作,需要的朋友可以參考下
    2015-11-11
  • linux下mysql的root密碼忘記的解決方法

    linux下mysql的root密碼忘記的解決方法

    這篇文章主要為大家詳細介紹了linux下mysql的root密碼忘記的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL開啟慢查詢日志log-slow-queries的方法

    MySQL開啟慢查詢日志log-slow-queries的方法

    MySQL中提供了一個慢查詢的日志記錄功能,可以把查詢SQL語句時間大于多少秒的語句寫入慢查詢日志,日常維護中可以通過慢查詢日志的記錄信息快速準確地判斷問題所在
    2016-05-05
  • 一文搞定MySQL binlog/redolog/undolog區(qū)別

    一文搞定MySQL binlog/redolog/undolog區(qū)別

    這篇文章主要介紹了一文搞定MySQL binlog/redolog/undolog區(qū)別,作為開發(fā),我們重點需要關注的是二進制日志(binlog)和事務日志(包括redo log和undo log),本文接下來會詳細介紹這三種日志,需要的朋友可以參考下
    2023-04-04
  • MySQL中幾種數據統計查詢的基本使用教程

    MySQL中幾種數據統計查詢的基本使用教程

    這篇文章主要介紹了幾種MySQL中數據統計查詢的基本使用教程,包括平均數和最大最小值等的統計結果查詢方法,是需要的朋友可以參考下
    2015-12-12
  • MySql?explain命令返回結果詳細介紹

    MySql?explain命令返回結果詳細介紹

    explain?是MySql提供的SQL語句查詢性能的工具,是我們優(yōu)化SQL的重要指標手段,要看懂explain返回的結果集就尤為重要,這篇文章主要介紹了MySql?explain命令返回結果解讀,需要的朋友可以參考下
    2023-09-09
  • mysql 8.0.12 解壓版安裝教程

    mysql 8.0.12 解壓版安裝教程

    這篇文章主要為大家詳細介紹了mysql 8.0.12 解壓版安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 把MySQL卸載干凈的超詳細步驟

    把MySQL卸載干凈的超詳細步驟

    這篇文章主要介紹了把MySQL卸載干凈的超詳細步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考價值,需要的朋友們下面跟著小編來一起學習吧
    2024-02-02
  • MySQL中distinct和count(*)的使用方法比較

    MySQL中distinct和count(*)的使用方法比較

    這篇文章主要針對MySQL中distinct和count(*)的使用方法比較,對兩者之間的使用方法、效率進行了詳細分析,感興趣的小伙伴們可以參考一下
    2015-11-11

最新評論