问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用sql语句复制一张表

发布网友 发布时间:2022-04-24 03:59

我来回答

3个回答

热心网友 时间:2022-04-07 17:59

1、原表存在的话这样用:insert into a select * from b

2、原表不存在的话这样用:select * into a from b

sql语句常用优化技巧:

1、避免在where子句中使用 is null 或 is not null 对字段进行判断。

如:select id from table where name is null

在这个查询中,就算我们为 name 字段设置了索引,查询分析器也不会使用,因此查询效率底下。为了避免这样的查询,在数据库设计的时候,尽量将可能会出现 null 值的字段设置默认值,这里如果我们将 name 字段的默认值设置为0,那么我们就可以这样查询:

select id from table where name = 0

2、避免在 where 子句中使用 != 或 <> 操作符。

如:select name from table where id <> 0

数据库在查询时,对 != 或 <> 操作符不会使用索引,而对于 < ,<= , = , > , >= , BETWEEN AND,数据库才会使用索引。因此对于上面的查询,正确写法应该是:

select name from table where id < 0

union all

select name from table where id > 0

这里我们为什么没有使用 or 来链接 where 后的两个条件呢?这就是我们下面要说的第3个优化技巧。

3、避免在 where 子句中使用 or来链接条件。

如:select id from tabel where name = 'UncleToo' or name = 'PHP'

这种情况,我们可以这样写:

select id from tabel where name = 'UncleToo'

union all

select id from tabel where name = 'PHP'

4、少用 in 或 not in。

虽然对于 in 的条件会使用索引,不会全表扫描,但是在某些特定的情况,使用其他方法也许效果更好。

如:select name from tabel where id in(1,2,3,4,5)像这种连续的数值,我们可以使用 BETWEEN AND,如:select name from tabel where id between 1 and 5

5、注意 like 中通配符的使用。

下面的语句会导致全表扫描,尽量少用。

如:select id from tabel where name like'%UncleToo%'

而下面的语句执行效率要快的多,因为它使用了索引:

select id from tabel where name like'UncleToo%'

热心网友 时间:2022-04-07 19:17

这个应该介绍的很详细了。

1、复制表结构及数据到新表
CREATE TABLE 新表 SELECT * FROM 旧表
这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除。
不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。

2、只复制表结构到新表
CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2
或CREATE TABLE 新表 LIKE 旧表

3、复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表 SELECT * FROM 旧表

4、复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表

5、可以将表1结构复制到表2
SELECT * INTO 表2 FROM 表1 WHERE 1=2

6、可以将表1内容全部复制到表2
SELECT * INTO 表2 FROM 表1

7、show create table 旧表;
这样会将旧表的创建命令列出。我们只需要将该命令拷贝出来,更改table的名字,就可以建立一个完全一样的表追问我需要复制表结构及数据,但是用第一个语句根本不可以。sql server 2005.

追答这个是针对的mysql,sqlserver直接用select * into 新表 from 旧表 ,试试看。

热心网友 时间:2022-04-07 20:52

帮助文档中查查copy
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 如何用sql,复制一个数据库? sql数据库里面的数据怎么拷贝到另一台电脑 SQL SERVER 数据库的表怎么复制? 如何复制表?SQL SQL server 数据库 如何把一张表复制到另一个数据库表中 请问如何在Excel将数据排名,谢谢 怎样对excel表格中的数据进行排名 17怎么安装显卡驱动 电脑显卡驱动怎么安装那一个是显卡驱动 在电脑上怎么安装显卡驱动, 铁棍山药不适宜的人群是什么? 你知道山药的三大禁忌是什么吗?山药的好处有哪些呢? 腾讯文档共享EXCEL,多人编辑,如何防止误删? 黄金中的9999是什么意思??好像还有99999 黄金9999是千足金吗? 戒指上有老凤祥,足金还有9999是什么意思 黄金中的9999是什么意思?99999就不是按可计算钱买的吗? 9999是什么黄金 请问金戒指里面刻着“9999”是什么意思? 华为nove8耳机插孔在哪 老人买哪款智能手表比较好? SQL server数据库文件如何复制 SQL如何复制表结构? 如何复制sql server数据库 sql 怎么复制一条数据到另外一张表 如何数据库复制 SQL sql2000数据库如何复制? 用sql语句,怎样把数据库中的一个表复制给另一个数据库。 哪个品牌的智能手表最好? 如何一句SQL复制同一个表同一个字段的内容 苏打饼干能多吃吗? 自制苏打饼干不脆的原因是什么 苏打饼干怎么做 怎样做香脆的苏打饼干 普通饼干与苏打饼干的区别? 宫匠居家布艺地毯送贵人合适吗? 在国内居家布艺市场宫匠手工地毯畅销吗? 怎么把旧衣服剪成编织地毯用的完整连续布条 想换新地毯,大家有好的推荐吗? 洛克王国里怎样制作地毯