欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SELECT INTO 语句数据表全表复制备份

程序员文章站 2022-05-26 15:12:20
...
select into 语句数据表全表复制备份

select into 语句常用于创建表的备份复件或者用于对记录进行存档。

sql select into 语法
您可以把所有的列插入新表:

select *
into new_table_name [in externaldatabase]
from old_tablename
或者只把希望的列插入新表:

select column_name(s)
into new_table_name [in externaldatabase]
from old_tablename


实例

下面的语句表明在跨但是去掉自增长列执行没有问题

select * into #tbranch from test.dbo.tb_test ts

  --下面的语句表明在同一个数据库内执行没有问题

select identity(int,1,1) as [newid],* into #tbranch from tb_test


制作备份复件

下面的例子会制作"persons"表的备份复件:select * into persons_backupfrom persons

in子句可用于向另一个数据库中拷贝表:select persons.* into persons in 'backup.mdb'from persons

如果我们希望拷贝某些域,可以在select语句后列出这些域:select lastname,firstname into persons_backupfrom persons

你也可以添加where子句。下面的例子通过从"persons表中提取居住在"sandnes"的人的信息,创建了一个带有两个列的名为"persons_backup"的表:select lastname,firstname into persons_backupfrom personswhere city='sandnes'

从超过一个表中选取数据也是可以做到的。下面的例子会创建一个名为"empl_ord_backup"的新表,其中包含了从employees和orders两个表中取得的信息:


select employees.name,orders.productinto empl_ord_backupfrom employeesinner join


总结:
1.什么是索引:数据库中的索引是某个表中一列或多列值的集合和相应的指

向表中物理标识这些值的数据页的逻辑指针清单。
2.分类:
唯一索引(unique):不允许两行具有相同的索引值(创建了唯一约束,系统将

自动创建唯一索引)
主键索引:主键索引要求主键中的每个值是唯一的,(创建主键自动创建主键

索引)
聚集索引(clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同

,表中只能包含一个聚集索引,主键列默认为聚集索引
非聚集索引(nonclustered):表中各行的物理顺序与键值的逻辑(索引)顺序

不匹配,表中可以有249个非聚集索引
3.创建索引的标准:用于频繁搜索的列;用于对数据进行排序的列
注意:如果表中仅有几行,或列中只包含几个不同的值,不推荐创建索引,因为sql

server 在小型表中用索引搜索数据所花的时间比逐行搜索更长