mysql 表.t_mysql ---表的操作
創(chuàng)建表、查看表結(jié)構(gòu)、修改表、刪除表
1.?創(chuàng)建表
創(chuàng)建表之前選定數(shù)據(jù)庫:use testx;
create table table2(屬性名 數(shù)據(jù)類型 [約束],
屬性名 數(shù)據(jù)類型[約束]) ENGINE=XX AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
約束:
PRIMARY KEY? ? ? ? ? ? ? 該屬性/字段設(shè)為此表主鍵
FOREIGN KEY? ? ? ? ? ? ? 該屬性/字段為該表外鍵,即另一個(gè)表的主鍵
NOT NULL? ? ? ? ? ? ? ? ? ? ?屬性不能為空
UNIQUE? ? ? ? ? ? ? ? ? ? ? ? ?屬性值唯一
AUTO_INCREMENT? ? ?屬性值自動(dòng)增加
DEFAULT? ? ? ? ? ? ? ? ? ? ? ?屬性值為默認(rèn)值
(1)設(shè)置主鍵
①設(shè)置單個(gè)字段為主鍵
create table table2( id INT PRIMARY KEY,
nameVARCHAR(20)
);
②設(shè)置多個(gè)字段為主鍵
create table table2( id1 int,
id2int,
nameVARCHAR(20),primary key(id1,id2)
);
通過多個(gè)主鍵組合確定唯一的記錄
(2)設(shè)置外鍵
表A有一個(gè)字段是表B的主鍵,則B為父表,A為子表。
子表的外鍵關(guān)聯(lián)的必須是父表的主鍵,且數(shù)據(jù)類型必須一致
創(chuàng)建了table2,有兩個(gè)主鍵id1、id2,將這兩個(gè)字段作為表table3的外鍵
create table table2( id1 int,
id2int,
nameVARCHAR(20),
addressvarchar(20),primary key(id1,id2)
);
create table table3( id int primary key,
id1int,
id2int,constraint ids foreign key(id1,id2) referencestable2(id1,id2)
);
(3)自動(dòng)增加屬性
該字段必須是主鍵的一部分,一個(gè)表只能有一個(gè)字段(必須是整數(shù)類型)使用 AUTO_INCREMENT?約束。
如果該字段增加到了其數(shù)據(jù)類型能表示的最大值,則繼續(xù)插入數(shù)據(jù)會(huì)產(chǎn)生錯(cuò)誤。
每插入一條數(shù)據(jù),該字段為上條記錄該字段值增1
create table table4( id int primary keyauto_increment,
namevarchar(20)
);
插入數(shù)據(jù):
①該字段值填?null或0,則該字段值為上條記錄該字段值加1
insert into table values(0,'a')insert into table values(0,'b')insert into table values(0,'c')
②該字段插入非0數(shù),則該字段值就是插入的值
insert into table values(5,'a')insert into table values(0,'d')
③插入數(shù)據(jù)時(shí),不指定該字段
insert into table(name) values('xx')
(4)設(shè)置字段默認(rèn)值
屬性名? 數(shù)據(jù)類型 DEFAULT?默認(rèn)值
2.? 查看表結(jié)構(gòu)
(1)DESC?表名
DESCtable4;
DESCRIBE table4;
(2)查看表詳細(xì)結(jié)構(gòu)
查看字段名、數(shù)據(jù)類型、約束、存儲(chǔ)引擎、字符編碼
SHOW CREATE TABLE table4;
3.?修改表
(1)修改表名
ALTER TABLE 舊表名 RENAME 新表名;
(2)修改數(shù)據(jù)類型
整型、浮點(diǎn)、字符串、二進(jìn)制、日期時(shí)間類型
數(shù)據(jù)類型決定了數(shù)據(jù)的存儲(chǔ)格式、約束、有效范圍
ALTER TABLE 表名 MODIFY 屬性名 數(shù)據(jù)類型;
(3)修改字段名
ALTER TABLE 表名 CHANGE 舊屬性名 新屬性名 數(shù)據(jù)類型;
可修改字段名的同時(shí)修改數(shù)據(jù)類型
(4)增加字段
ALTER TABLE 表名 ADD 屬性1 數(shù)據(jù)類型 [約束] [FIRST | AFTER 屬性2];
(5)刪除字段
ALTER TABLE 表名 DROP 屬性名;
(6)修改字段的位置
ALTER TABLE 表名 MODIFY 屬性名1 數(shù)據(jù)類型 FIRST | AFTER 屬性名2;
(7)修改存儲(chǔ)引擎
ALTER TABLE 表名 ENGINE=存取引擎名;
(8)刪除表的外鍵約束(當(dāng)然是對(duì)子表操作)
ALTER TABLE 表明 DROP FOREIGN KEY 外鍵別名;
4.?刪除表
(1)刪除沒有被關(guān)聯(lián)的普通表
DROP TABLE 表名;
(2)刪除被其它表關(guān)聯(lián)的父表
在1的(2)建立了兩個(gè)表,table2為父表,table3為子表
嘗試刪除父表:DROP TABLE?table2;
查看子表結(jié)構(gòu):子表table3通過外鍵 ids與父表table2建立關(guān)聯(lián)
要?jiǎng)h除父表table2,則需要先刪除子表table3中的外鍵約束:3的(8)
ALTER TABLE table3 DROP FOREIGN KEY ids;
總結(jié)
以上是生活随笔為你收集整理的mysql 表.t_mysql ---表的操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab练习:timer(2)
- 下一篇: mac pip安装mysql_Mac p