CREALE TABLE   表名   AS  SELECT .......

1语法:

create table  表名 as select ..........

2用处:

是复制表结构和表数据

3例子:
(1*)

SQL> create table tt as select * from dept;

Table created.

SQL> select * from dept;

DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

SQL> select * from tt;

DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

SQL>

(2*)

SQL> create table ss as select * from dept where deptno=1;

Table created.

SQL> select * from ss;

no rows selected

SQL> select deptno from ss;

no rows selected

SQL> desc ss;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DEPTNO                                             NUMBER(2)
 DNAME                                              VARCHAR2(14)
 LOC                                                VARCHAR2(13)

SQL>  desc tt;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DEPTNO                                             NUMBER(2)
 DNAME                                              VARCHAR2(14)
 LOC                                                VARCHAR2(13)

SQL>

4总结:

能复制数据结构和数据  但where条件不成立的时候,只生产表结构。

时间: 2024-11-06 03:10:12

CREALE TABLE   表名   AS  SELECT .......的相关文章

CREATE TABLE 表名 AS SELECT 语句

1.新表不存在复制表结构即数据到新表 ? 1 2 create table new_table select * from old_talbe; 这种方法会将old_table中所有的内容都拷贝过来,用这种方法需要注意,new_table中没有了old_table中的primary key,Extra,auto_increment等属性,需要自己手动加,具体参看后面的修改表即字段属性.只复制表结构到新表 ? 1 2 3 4 5 6 # 第一种方法,和上面类似,只是数据记录为空,即给一个false

MySQL问题:You can't specify target table '表名' for update in FROM clause

在MySQL中,写SQL语句的时候 ,可能会遇到You can't specify target table '表名' for update in FROM clause这样的错误,它的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中). 1.问题是如何出现的? 数据准备 CREATE TABLE T_Person( pId INT PRIMARY KEY AUTO_INCREMENT, pName VARCHAR(20) ); INSERT INTO T_Pe

MySQL 中 You can't specify target table '表名' for update in FROM clause错误解决办法

背景 在MySQL中,写SQL语句的时候 ,可能会遇到 You can't specify target table '表名' for update in FROM clause 这样的错误 错误含义 它的意思是说,不能先 select 出同一表中的某些值,再 update 这个表(在同一语句中),即不能依据某字段值做判断再来更新某字段的值. 解决问题 将select出的结果再通过中间表select一遍,这样就可以解决错误了 MySQL 中 You can't specify target ta

You can't specify target table '表名' for update in FROM clause”解决方法

You can't specify target table '表名' for update in FROM clause 翻译为:不能先select出同一表中的某些值,再update这个表. 错误语句: update w_workitems ww set ww.endTime = ww.createTime where ww.gid in(select * from a_travel a ,w_workitems b where a.instance_id = b.instanceId and

MySql清空表的方法介绍 : truncate table 表名

清空某个mysql表中所有内容 delete from 表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容.效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据. delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表.

django.db.utils.OperationalError: (1050, "Table '表名' already exists)解决方法

django.db.utils.OperationalError: (1050, "Table '表名' already exists)解决方法 找到解决方案,执行: [python] view plain copy python manage.py migrate myapp --fake 数据库表结构同步成功. django.db.utils.OperationalError: (1050, "Table '表名' already exists)解决方法 原文地址:https://

PL/SQL Developer实现双击table表名查询

双击table默认为Expand/Collapse 展开/折叠 有时需快速查看该表数据,如果写select * from tab会显得麻烦, 我们可实现双击table来进行快速查询 方法为:Tools -> Preferences -> User Interface -> Browser -> Object type(Table) -> Double-click action(Query Data) 转载请注明出处:http://blog.csdn.net/itmyhome1

android中清空一个表---类似truncate table 表名 这样的功能 android sqlite 清空数据库的某个表

public void clearFeedTable(){ String sql = "DELETE FROM " + FEED_TABLE_NAME +";"; SQLiteDatabase db = dbHelper.getSQLiteDatabase(); db.execSQL(sql); revertSeq(); dbHelper.free(); } private void revertSeq() { String sql = "update s

SQL 查找表名 字段名

转载:http://www.accessoft.com/article-show.asp?id=6135 经常碰到一些忘记表名称的情况,此时只记得个大概,此时可通过查询系统表Sysobjects找到所要的表名,如要查找包含用户的表名,可通过以下SQL语句实现, Select * From sysobjects Where name like '%user%' 如果知道列名,想查找包含有该列的表名,可加上系统表syscolumns来实现,如想查找列名中包含有user的所有表名,可通过以下SQL语句