sql总结(DDL)

建表

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   

)

原文地址:https://www.cnblogs.com/dingpeng9055/p/10385626.html