用SELECT 创建记录和表

原创 2002年05月08日 09:57:00

用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 创建记录和表你也许已经注意到,INSERT 语句与DELETE语句和UPDATE语句有一点不同,它一次只操作一个记录。然而,有一个方法可以使INSERT 语句一次添加多个记录。要作到...
  • yoyo_yaya
  • yoyo_yaya
  • 2007年01月11日 11:48
  • 500

用SELECT 创建记录和表

用SELECT 创建记录和表你也许已经注意到,INSERT 语句与DELETE语句和UPDATE语句有一点不同,它一次只操作一个记录。然而,有一个方法可以使INSERT 语句一次添加多个记录。要作到这...
  • sjy2007
  • sjy2007
  • 2006年12月31日 13:42
  • 461

用SELECT复制记录和表

INSERT 语句与DELETE语句和UPDATE语句有一点不同,它一次只操作一个记录。然而,有一个方法可以使INSERT 语句一次添加多个记录。要作到这一点,你需要把INSERT 语句与SELECT...
  • lnheel
  • lnheel
  • 2010年01月16日 17:56
  • 193

用SELECT 创建记录和表 添加多个记录

用SELECT 创建记录和表你也许已经注意到,INSERT 语句与DELETE语句和UPDATE语句有一点不同,它一次只操作一个记录。然而,有一个方法可以使INSERT 语句一次添加多个记录。要作到这...
  • ndscyanfly
  • ndscyanfly
  • 2007年06月22日 10:05
  • 394

oracle学习中遇到的问题——用select语句创建现有表的副本

用select语句创建现有表的副本Create table  as SELECT column_names from ;现有表studentinfo学生信息表包含字段stuid,name,sex,bi...
  • mydao
  • mydao
  • 2007年04月16日 17:54
  • 1252

动态创建ACCESS数据库及其表结构

1.动态创建表结构,引入com中的二个动态库,一个是ADOX,一个是ADODB二个dll,ADOX.dll和Interop.ADODB.dll 2.增加wfm中的按钮,按钮事件如下: 其中的m_p...
  • vbloveshllm
  • vbloveshllm
  • 2014年03月19日 10:34
  • 1782

利用SELECT INTO创建临时表

SELECT INTO创建临时表 SQL Server临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。本地临时表的名称以单个数字符号 (#)  打头;它们仅对当前的用户...
  • u014328353
  • u014328353
  • 2017年03月16日 17:27
  • 486

oracle,通过plsql创建用户表空间和所属用户示例

1)创建表空间:       先以oracle数据库管理员的身份登录plsql,在plsql中新建sql命令框,在其中输入如下语句,执行完毕即可建立一个表空间。 创建用户表空间 建立表空间(一般建N个...
  • u013538390
  • u013538390
  • 2015年07月24日 15:13
  • 493

arcengine,按相同的表结构创建表

///         /// 按inputfeatureclass相同的表结构在outWorkspace创建tableName by yl landgis@126.com        ///   ...
  • yanleigis
  • yanleigis
  • 2008年06月17日 13:47
  • 1440

SELECT INTO在查询结果中创建新表或临时表

如果想在查询的结果(从一个表或者多个表)中创建新表,就需要使用SELECT INTO语句SELECT FirstName,LastName,Title INTO MyOtherContactsFROM...
  • liyifei21
  • liyifei21
  • 2011年06月26日 20:10
  • 14137
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用SELECT 创建记录和表
举报原因:
原因补充:

(最多只允许输入30个字)