8.2.4临时表和正式表
區(qū)別:
1.不同的客戶端可以創(chuàng)建名字相同的臨時(shí)表而沒有沖突
?2.一個(gè)臨時(shí)表被創(chuàng)建僅僅在連接期間,當(dāng)客戶端斷開連接時(shí)自動(dòng)刪掉臨時(shí)表。
3.一個(gè)臨時(shí)表可以和一個(gè)非臨時(shí)表有同樣的名字。
4.一個(gè)臨時(shí)表可以被重新命名只能使用alter而不能使用rename table。
臨時(shí)表和內(nèi)存表的區(qū)別是,內(nèi)存表在服務(wù)器重啟是丟失。
8.3 修改表
在創(chuàng)建表后,修改表增加一列
alter table ?HeadOfState ADD Inauguration DATE Not NULL;
Describe輸出,當(dāng)你增加一列到一個(gè)表,MySQL放置他在所有存在的列,可以使用FIRST或者AFETR+column_name到指定的位置。
8.3.2 修改為存在列
有兩種方式:
1.使用MODIFY語(yǔ)句,你必須指定列名。如 alter table headOfState modify ID BIGINT unsigned not null;
2. 使用Change語(yǔ)句,Change語(yǔ)句能夠使你來(lái)修改列的定義和它的名字。但是改變列是,必須指定原來(lái)的表或列兩次,如:改變LastName列from CHAR(30) to CHAR(40)沒有重新命名指定的:alter table HeadOfState Change LastName CHar(40) not NULL;重新命名列明如下:
alter table HeadOfState Change LastName Surname Char(40) NOT NULL;
8.3.3 重新命名表
1.alter table t1 ranme to t2;
另外的一種方式是rename table t1 to t2;對(duì)于臨時(shí)表rename table不能起到作用必須使用alter
8.3.4 指定多個(gè)表的修改
你可以指定多個(gè)修改對(duì)于一張表使用一個(gè)單獨(dú)altertable語(yǔ)句,使用,分隔。如:
alter table HeadOfState RENAME TO CountryLeader,Modify ID BiGINT unsigned not null,Add Salutation CHAR(30) NULL after FirstName;
8.4 刪除表
為了移除不使用drop table t;
drop table t1,t2,t3;
8.5 把一張表設(shè)置為空
delete from it;
Truncate table t;
delete from t where status='exipred';
總結(jié)
以上是生活随笔為你收集整理的8.2.4临时表和正式表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。