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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql 表.t_mysql ---表的操作

發(fā)布時(shí)間:2025/3/15 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 表.t_mysql ---表的操作 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

創(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)容,希望文章能夠幫你解決所遇到的問題。

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