8.2.4临时表和正式表

来源:互联网 发布:java base64 编辑:程序博客网 时间:2024/06/06 02:53

区别:

1.不同的客户端可以创建名字相同的临时表而没有冲突

 2.一个临时表被创建仅仅在连接期间,当客户端断开连接时自动删掉临时表。

3.一个临时表可以和一个非临时表有同样的名字。

4.一个临时表可以被重新命名只能使用alter而不能使用rename table。

临时表和内存表的区别是,内存表在服务器重启是丢失。

8.3 修改表

在创建表后,修改表增加一列

alter table  HeadOfState ADD Inauguration DATE Not NULL;

Describe输出,当你增加一列到一个表,MySQL放置他在所有存在的列,可以使用FIRST或者AFETR+column_name到指定的位置。

8.3.2 修改为存在列

有两种方式:

1.使用MODIFY语句,你必须指定列名。如 alter table headOfState modify ID BIGINT unsigned not null;

2. 使用Change语句,Change语句能够使你来修改列的定义和它的名字。但是改变列是,必须指定原来的表或列两次,如:改变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;对于临时表rename table不能起到作用必须使用alter

8.3.4 指定多个表的修改

你可以指定多个修改对于一张表使用一个单独altertable语句,使用,分隔。如:

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 把一张表设置为空

delete from it;

Truncate table t;

delete from t where status='exipred';





0 0
原创粉丝点击