`

用SELECT 创建记录和表

阅读更多
你也许已经注意到,INSERT 语句与DELETE语句和UPDATE语句有一点不同,它一次只操作一个记录。然而,有一个方法可以使INSERT 语句一次添加多个记录。要作到这一点,你需要把INSERT 语句与SELECT 语句结合起来,象这样:
INSERT mytable (first_column,second_column)
SELECT another_first,another_second
FROM anothertable
WHERE another_first=’Copy Me!’
这个语句从anothertable拷贝记录到mytable.只有表anothertable中字段another_first的值为’Copy Me!’的记录才被拷贝。
当为一个表中的记录建立备份时,这种形式的INSERT 语句是非常有用的。在删除一个表中的记录之前,你可以先用这种方法把它们拷贝到另一个表中。
如果你需要拷贝整个表,你可以使用SELECT INTO 语句。例如,下面的语句创建了一个名为newtable的新表,该表包含表mytable的所有数据:
SELECT * INTO newtable FROM mytable
你也可以指定只有特定的字段被用来创建这个新表。要做到这一点,只需在字段列表中指定你想要拷贝的字段。另外,你可以使用WHERE 子句来限制拷贝到新表中的记录。下面的例子只拷贝字段second_columnd的值等于’Copy Me!’的记录的first_column字段。
SELECT first_column INTO newtable
FROM mytable
WHERE second_column=’Copy Me!’
使用SQL修改已经建立的表是很困难的。例如,如果你向一个表中添加了一个字段,没有容易的办法来去除它。另外,如果你不小心把一个字段的数据类型给错了,你将没有办法改变它。但是,使用本节中讲述的SQL语句,你可以绕过这两个问题。
例如,假设你想从一个表中删除一个字段。使用SELECT INTO 语句,你可以创建该表的一个拷贝,但不包含要删除的字段。这使你既删除了该字段,又保留了不想删除的数据。
如果你想改变一个字段的数据类型,你可以创建一个包含正确数据类型字段的新表。创建好该表后,你就可以结合使用UPDATE语句和SELECT 语句,把原来表中的所有数据拷贝到新表中。通过这种方法,你既可以修改表的结构,又能保存原有的数据。
分享到:
评论

相关推荐

    创建只有select 权限的用户方法

    创建只有select 权限的用户方法 很好用哦,屡试不爽。

    数据库内测版.doc

    3.在数据库中可以创建和删除表、视图、索引,可以修改表,这是因为DBMS提供了(数据定义功)。 4.事物日志用于保存(对数据的更新操作) 5.以下关于使用文件组的叙述中,不正确的是( ) 6.设A.B两个表的记录数分别为3...

    交互式SQL的使用,创建Student数据库,包括Students,Courses,SC表

    1,创建Student数据库,包括Students,Courses,SC表,表结构如下: Students(SNO,SNAME,SEX,BDATE,HEIGHT,DEPARTMENT) Courses(CNO,CNAME,LHOUR,CREDIT,SEMESTER) SC(SNO,CNO,GRADE) (注:下划线表示主键,斜体表示...

    实验9 存储过程的创建和使用

    1.编写带输入参数的存储过程proc_St:在查询分析器中创建一个存储过程,要求输入学号和姓名-----即要求以学号(@SSno)和姓名(@SSname)为存储过程的输入参数(存储过程的参数名必须以@开头,每个参数都应当有数据...

    如何使用T-SQL创建库、表和添加记录

    使用T-SQL创建库、表和添加记录 1、选择数据库->新建查询,输入以下代码 if exists(select * from sys.databases where name='test1') drop database test1 --查询数据库名为test的数据库,如果有则exists返回...

    数据库原理A实验报告四.doc

    (4)用CREATE语句建立表StudentBAK1YYXXXX,包含(与Students的Sno、Sname、Sdept相同)3个字段,然后用INSERTSELECT语句实现向StudentBAK1YYXXXX添加StudentsYYXXXX表中的计算机系学生的学号、姓名、所在系的信息

    MySQL数据库:查询结果的输出.pptx

    SQL提供了复制表的功能,允许用户使用SELECT语句查询得到的结果记录来创建一个新的数据表,复制表使用CREATE TABLE语句,然后把SELECT语句嵌套在其中。 语法格式: CREATE TABLE 表名 SELECT 语句; 查询结果的输出 ...

    MySQL数据库:存储函数调用.pptx

    数据库编程 存储函数的调用、举例 课程目标 掌握 ——存储函数的调用方法; 掌握—— 存储函数的使用方法; 存储函数的查看、调用 ...【例】 创建一个存储函数来删除Sell表中有但Book表中不存在的记录。 DELIMITER

    MySQL命令大全

     此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询操作。现在我们结束操作并退出MySQL客户程序:  mysql> exit  Bye9! 1:使用SHOW语句找出在服务器上当前存在什么...

    数据库原理实验报告整合

    用SQL-DDL语言创建“产品订购”数据库,包含四个数据表S、P、J和SPJ,表结构及内容如下(下划线为主码): S(SNO,SNAME, ADDRESS,TEL) 释义:供应商(供应商编号,姓名,地址,电话) J(JNO,JNAME,LEADER,...

    MySQL SELECT同时UPDATE同一张表问题发生及解决

    问题描述 假设我要UPDATE的表跟查询子句是同一张表,这样做有许多种原因,例如用统计数据更新表的字段(此时需要用group子句返回统计值),从某一条记录的字段update另一条记录,而不必使用非标准的语句,等等。...

    ORACLE查询表最近更改数据的方法

    代码如下: 1、select uat.table_name from user_all_tables uat 该SQL可以获得所有用户表的名称 2、select object_name, created,last_ddl_time from user_objects 该SQL可以获得所有用户对象(包括表)的创建和最后...

    VC 遍历记录集的实现方法和代码.rar

     //创建记录集指针对象实例  m_pRecordset.CreateInstance(__uuidof(Recordset));  //打开记录集  m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,   adLockOptimistic,adCmdText)...

    select+单进程实现大文件传输

    3.服务器要把从每个客户端收到的数据记录到一个文件中,文件名字:recv.txt,每行包括一个进程ID和从相应客户端收到的文本内容; 4.服务器收到客户端发来的数据后,要向客户端发送确认信息; 5.客户端发送完数据后,...

    实验一 数据定义与简单查询实验

    ③ 对每个表的名字和表中属性的名字尽可能用英文符号标识。 4、实现相关约束:①使用企业管理器来建立上述三个表的联系,即实现:借阅表与图书表之间、借阅表与读者表之间的外码约束;② 实现读者性别只能是“男”...

    mysql数据库的基本操作语法

    当主表的记录被从表参照时,主表的记录将不允许删除,如果要删除数据,需要先删除从表中依赖该记录的数据, 然后才可以删除主表的数据。还有一种就是级联删除子表数据。 注意:外键约束的参照列,在主表中引用的只能...

    MySQL数据库应用-实验训练3 数据增删改操作

    基于实验1创建的汽车用品网上商城数据库Shopping,练习Insert、Delete、TRUNCATE TABLE、Update语句的操作方法,理解单记录插入与批量插入、DELETE与TRUNCATE TABLE语句、单表修改与多表修改的区别。实验内容:...

    2022国家开放大学实验训练3 数据增删改操作

    基于实验1创建的汽车用品网上商城数据库Shopping,练习Insert、Delete、TRUNCATE TABLE、Update语句的操作方法,理解单记录插入与批量插入、DELETE与TRUNCATE TABLE语句、单表修改与多表修改的区别。 实验内容: ...

    Oracle 当前用户下所有表的记录总数

    您可能感兴趣的文章:shell脚本操作oracle删除表空间、创建表空间、删除用户杀掉oracle在线用户脚本分享[Oracle] 如何使用触发器实现IP限制用户登录在命令行下进行Oracle用户解锁的语句深入探讨:Oracle中如

    经典全面的SQL语句大全

    经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。  SQL分类:  DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) ... Execute方法调用后,会自动创建记录集对象,并将查询结果存储在该记录...

Global site tag (gtag.js) - Google Analytics