热门文章
 
数据库查询语言sql(2)
数据库查询语言SQL(1)
selecet in子句
SELECT:BETWEEN
select:like操作数
SQL中的数字函数
sql:嵌套查询
create语法:用SQL创
insert:向表中添加数据
drop/alter:删除表
 推荐文章
 
删除一个表中某个字段重复的列
跟日期有关的两条经典SQL语
selecet in子句
常用SQL书写技巧
select:like操作数
SQL中的数字函数
sql:嵌套查询
数据库查询语言sql(2)
insert:向表中添加数据
drop/alter:删除表
sql:建立索引
SQL语句:删除记录 del
sql更新语句:update
用SELECT复制记录和表
sql:匹配和字符串转换
sql中日期和时间的操作
 
你现在的位置:您现在的位置是: 中国ASP>>数据库>>SQL语句
用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修改已经建立的表是很困难的。例如,如果你向一个表中添加了一个字段,没有容易的办法来去除它。另外,如果你不小心把一个字段的数据类型给错了,你将没有办法改变它。但是,使用这里提到的方法,你可以绕过这两个问题。
例如,假设你想从一个表中删除一个字段。使用SELECT INTO 语句,你可以创建该表的一个拷贝,但不包含要删除的字段。这使你既删除了该字段,又保留了不想删除的数据。
如果你想改变一个字段的数据类型,你可以创建一个包含正确数据类型字段的新表。创建好该表后,你就可以结合使用UPDATE语句和SELECT 语句,把原来表中的所有数据拷贝到新表中。通过这种方法,你既可以修改表的结构,又能保存原有的数据。这在很多程序的转换中,是非常有用的。

相关信息:

数据库查询语言sql(2)
数据库查询语言SQL(1)
sql求两字符串相似度的自定义函数
在 Access 中使用“存储过程”
ASP调用带参数存储过程
ASP与存储过程
实用的存储过程1
实用的存储过程2
SQL Server编写存储过程小工具

 

中国ASP技术 ASP.ORG.CN 版权所有 2004-2008