主鍵約束:唯一,不重復(fù),不能為空? primary key
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括東港網(wǎng)站建設(shè)、東港網(wǎng)站制作、東港網(wǎng)頁(yè)制作以及東港網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,東港網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到東港省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
一個(gè)表中有且只有一個(gè)主鍵約束
1.創(chuàng)建表的同時(shí)創(chuàng)建主鍵約束
格式一:
create table 表名(
列名1? 數(shù)據(jù)類型 primary key,
列名2 數(shù)據(jù)類型
);
主鍵約束名字的寫法: PK_列名
格式二:
create table 表名(
列名1 數(shù)據(jù)類型,
列名2 數(shù)據(jù)類型,
constraint? 主鍵約束的名字? primary key(列名1)
);
格式三:
create table 表名(
列名1 數(shù)據(jù)類型,
列名2 數(shù)據(jù)類型,
primary key(列名1)
);
2.針對(duì)已經(jīng)存在的表,添加主鍵約束
格式一:
alter table 表名 modify 列名 數(shù)據(jù)類型 primary key;
格式二:
alter table 表名 add primary key(列名);
格式三:
alter table 表名 add constraint 主鍵約束的名字 primary key(列名);
3.刪除主鍵約束
格式:alter table 表名 drop primary key;
1、創(chuàng)建表格時(shí)添加: create table table1(id int auto_increment primary key,…)
2、創(chuàng)建表格后添加: alter table table1 add id int auto_increment primary key 自增字段,一定要設(shè)置為primary key.
附:mysql 中的alter table mysql alter table employee change depno depno int(5) not null;
加索引 mysql alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql alter table employee add index emp_name (name);
加主關(guān)鍵字的索引 mysql alter table 表名 add primary key (字段名);
例子: mysql alter table employee add primary key(id);
加唯一限制條件的索引 mysql alter table 表名 add unique 索引名 (字段名);
例子: mysql alter table employee add unique emp_name2(cardnumber);
查看某個(gè)表的索引 mysql show index from 表名; 例子: mysql show index from employee;
刪除某個(gè)索引 mysql alter table 表名 drop index 索引名; 例子: mysqlalter table employee drop index emp_name;
修改表:增加字段:mysql ALTER TABLE table_name ADD field_name field_type;
查看表:mysql SELECT * FROM table_name;
修改原字段名稱及類型:mysql ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
刪除字段:ALTER TABLE table_name DROP field_name;
應(yīng)該是這樣子的,
Alter table 表名
add foreign key (外鍵屬性) references 表名(表屬性)
1.外鍵的作用,主要有兩個(gè):
一個(gè)是讓數(shù)據(jù)庫(kù)自己通過外鍵來保證數(shù)據(jù)的完整性和一致性
一個(gè)就是能夠增加ER圖的可讀性
2.外鍵的配置
1)先創(chuàng)建一個(gè)主表,代碼如下:
#創(chuàng)建表student,并添加各種約束
create
table
student
(
id
int
primary
key
,
#主鍵約束
name
varchar(20)
,
#唯一約束
age
int
NOT
NULL,
#非空約束
sex
varchar(2)
,
address
varchar(20)
default
'重慶'
#默認(rèn)約束
)
;
再通過一個(gè)外鍵,創(chuàng)建一個(gè)分?jǐn)?shù)表,這樣的話,就可以方便查詢。代碼如下:
#創(chuàng)建分?jǐn)?shù)表
create
table
score
(
id
int
primary
key
,
sid
int
,
china
int
,
history
int,
english
int,
constraint
FK_sid
foreign
key(sid)
references
student(id)
#通過外鍵創(chuàng)建鏈接
)
;
創(chuàng)建外鍵的方法有很多,其中最常見創(chuàng)建外鍵的格式是:constraint
FK_***
foreign
key(**)
references
鏈接的外表
刪除外鍵:
alter
table
drop
foreign
key
'外鍵名'.
注意:
只有在定義外鍵時(shí),用constraint
外鍵名
foreign
key
....
方便進(jìn)行外鍵的刪除
CREATE TABLE `ruse` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(18) NOT NULL unique,
`password` varchar(18) NOT NULL,
`age` int(11) DEFAULT NULL,
`sex` char(2) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
在name行加unique
4.4.7添加約束
語(yǔ)句格式:ALTER TABLE 表名ADD? CONSTRAINT? 約束名 約束類型(字段名)
上面語(yǔ)句格式中,“表名”指定要添加約束的是哪個(gè)表,“ADD CONSTRAINT”表示要在表中增加約束,其后的“約束名”是擬增加約束的名字,“約束類型”是擬增加約束的類型,其后括號(hào)里的“字段名”是指約束是在哪一個(gè)字段上建立起來的。
下面截圖中的“ALTER TABLE”語(yǔ)句在t_dept表中新增加了一個(gè)約束名為unidept的約束,它是在對(duì)字段deptno進(jìn)行的唯一性約束。
本文題目:mysql怎么新建約束 mysql如何修改約束
文章路徑:http://m.kartarina.com/article6/hgjhig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、域名注冊(cè)、云服務(wù)器、搜索引擎優(yōu)化、自適應(yīng)網(wǎng)站、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)