sql:复制表(表结构和表数据)

一.复习基本的数据定义语言(DDL Data Definition Language)

    DDL语言针对数据库和表结构的定义

    1.关键字:

    create:创建

    alter:改变

    drop:删除

    truncate:截断/摧毁

    2.基本语法

        数据库方面:

        创建数据库:create database 库名

        修改数据库:alter database 库名

        删除数据库:drop database 库名

        表方面:

        创建表:create table 表名(列名 数据类型,列名 数据类型,...);

        修改表:alter table 表名

        删除表:drop table 表名

    3.小练习

        3.1 修改学生表(students,拥有列:id,name,age,addr,score)中的name列,改变别名为stu_name

 alter table students change name stu_name varchar(20);

        3.2 修改学生表中的stu_name列,数据类型改为varchar(30)

alter table students modify stu_name varchar(30);

        3.3 修改学生表,删除表中字段addr

alter table students drop addr;

 

二.复制一张表中的数据到另一张表(假如有个学生表students,拥有列:id,name,age,addr,score,并含有N条记录)

    需求1:创建一个跟学生表结构相同的表:students_01

        做法一:

create table students_01 like students;

        做法二:

create table students_01 select * from students where 1 = 2;

    需求2:创建一个跟学生表结构相同的表:students_02,并复制students表中全部数据到students_02

        做法一:(这种做法一步到位)

create table students_02 select * from students;

        做法二:(分三步)

        第一步:创建一个跟students表结构相同的students_02表

 create table students_02 like students;

        第二步:向students_02表中插入数据

insert into students_02 select * from students;

        第三步:提交

commit;

    需求3:创建一个跟学生表结构相同的表:students_03,并复制students表中id,name,age三个列中的数据到students_03

        做法一:(先创建一个跟students表结构和数据一样的表:students_03,然后清除除了id,name,age三个列中的数据)

        第一步:创建和students表一模一样的表students_03        

create table students_03 like students;

        第二步:删除除了id,name,age三个列中的数据        

update students_03 set addr = null,score = null;

        第三步:提交

commit;

        做法二:    

 

        第一步:创建一个跟students表结构相同的students_03表        

create table students_03 like students;

        第二步:向students_03表中插入数据        

insert into students_03 (id,name,age) select id,name,age from students;

        第三步:提交       

commit;

 

 

 

 

 


版权声明:本文为hero_hope原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。