Heim >Datenbank >MySQL-Tutorial >SELECT INTO 语句数据表全表复制备份
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 在小型表中用索引搜索数据所花的时间比逐行搜索更长