日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL(10)_PRIMARY KEY 约束

發(fā)布時(shí)間:2023/12/20 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL(10)_PRIMARY KEY 约束 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

“你根本忘不了一個(gè)你真真正正喜歡的人 你以為錯(cuò)過的是一個(gè)人 但其實(shí)錯(cuò)過的是整個(gè)人生”


原創(chuàng)作者:是飄飄呀!
博客地址:https://blog.csdn.net/weixin_44216392

PRIMARY KEY 約束

PRIMARY KEY 約束(也叫主鍵約束),它是唯一標(biāo)識(shí)數(shù)據(jù)庫表中的每條記錄。

  • 主鍵必須包含唯一的值。
  • 主鍵列不能包含 NULL 值。
  • 每個(gè)表都應(yīng)該有一個(gè)主鍵,并且每個(gè)表只能有一個(gè)主鍵。
添加主鍵約束的兩種寫法:
  • 創(chuàng)建表的時(shí)候進(jìn)行設(shè)置主鍵約束:
-- 第一種寫法 create table tb1(p_id int not null primary key,t_name varchar (50) not null,t_age int,t_sex varchar(50),t_city varchar(255) ); --第二種寫法 create table tb2(p_id int not null,t_name varchar (50) not null,t_age int,t_sex varchar(50),t_city varchar(255),primary key(p_id) );
  • 當(dāng)我們需要使用多個(gè)列來組成一個(gè)主鍵約束時(shí):
create table tb3( p_id int not null, t_name varchar (50) not null, t_age int, t_sex varchar(50), t_city varchar(255), constraint pk_tb3ID primary key(p_id,t_name) );

在這里我們需要注意:前文提到每個(gè)表都應(yīng)該有一個(gè)主鍵,且只能有一個(gè)主鍵,那么在上面的sql語句中,這唯一的一個(gè)主鍵名叫做pk_tb3ID ,但是它的值是由兩個(gè)列(p_id和t_name)的值來組成的。

  • 如果在表已經(jīng)被創(chuàng)建,需要為表添加主鍵約束時(shí),我們可以使用**alter…add…**關(guān)鍵字來進(jìn)行操作:
-- 先創(chuàng)建表tb4 create table tb4( p_id int not null, t_name varchar (50) not null, t_age int, t_sex varchar(50), t_city varchar(255) ); -- 為p_id添加主鍵 alter table tb4 add primary key (p_id); /* 添加由多列組成的主鍵約束 (在這里我演示的是同一個(gè)表tb4,所以需要先把p_id的主鍵約束刪除,才可以再添加多列組成的主鍵約束)*/ alter table tb4 add constraint pk_tb4ID primary key(p_id,t_name) -- pk_tb4ID 是主鍵名,前文有說過,這里不做解釋
刪除主鍵約束

在我們需要?jiǎng)h除主鍵約束的時(shí)候使用**alter…drop…**關(guān)鍵字來進(jìn)行刪除:

--MySQL --刪除單列組成的主鍵約束 alter table tb1 drop primary key /* alter table tb1 drop primary key OK 時(shí)間: 0.044s */

刪除多列組成的主鍵約束:

--SQL Server alter table tb4 drop constraint pk_tb4ID

在這里我們需要注意的是:

在MySQL中無論是單列組成的主鍵約束還是多列組成的主鍵約束都是使用下面語句,但是此語句并不能在SQL Server中使用;

alter table [表名] drop primary key

此語句在在SQL Server中使用時(shí)會(huì)報(bào)語法錯(cuò):

同理:下面語句是刪除多列組成的主鍵約束,它也不能在MySQL中去使用,否則也同樣會(huì)報(bào)錯(cuò)的;

alter table [表名] drop constraint [主鍵名]


總結(jié)來說就是:
MySQL刪除主鍵直接使用

alter table [表名] drop primary key

SQL Server / Oracle / MS Access使用

alter table [表名] drop constraint [主鍵名]

刪庫跑了…

總結(jié)

以上是生活随笔為你收集整理的SQL(10)_PRIMARY KEY 约束的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。