建表
create table A (col1 type1 [not null] [primary key],col2 type2 [not null],..)
create table A
(
firstname varchar(20),
lastname varchar(20),
primary key(firstname, lastname)
);
--根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
重命名表名:
alter table A rename to B;
删除一列
alter table A drop colunmn col1 ;
增加一列
alter table A add colunmn col1 DECIMAL;
修改字段类型
alter table A alter col1 set data type varchar(32);
重命名列名
alter table A rename colunmn col1 TO col2;
添加主键
Alter table A add primary key(col);
删除主键
Alter table A drop primary key(col);
添加主键
create [unique] index idxname on tabname(col….)
删除主键
drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
创建视图
create view viewname as select statement
删除视图
drop view viewname
除去非空属性
alter table A ALTER col1 drop not null;
初始化表
TRUNCATE TABLE table1
非唯一索引
create index ind_col1 on A (col1);
查看所建立的索引
Describe indexes for table emp;
拷贝表
1.拷贝表结构到新表newadmin中。 (不会拷贝表中的数据)
CREATE TABLE newadmin LIKE admin
2.下面这个语句会拷贝数据到新表中。 注意:这个语句其实只是把select语句的结果建一个表。所以newadmin这个表不会有主键,索引。
CREATE TABLE newadmin AS
(
SELECT *
FROM admin
)
3. 如果你要真正的复制一个表。可以用下面的语句。
CREATE TABLE newadmin LIKE admin;
INSERT INTO newadmin SELECT * FROM admin;
4. 我们可以操作不同的数据库。
CREATE TABLE newadmin LIKE shop.admin;
CREATE TABLE newshop.newadmin LIKE shop.admin;
5. 我们也可以拷贝一个表中其中的一些字段。
CREATE TABLE newadmin AS
(
SELECT username, password FROM admin
)