在利用數(shù)據(jù)庫(kù)開(kāi)發(fā)時(shí),常常會(huì)將一些表之間的數(shù)據(jù)互相導(dǎo)入。當(dāng)然可以編寫(xiě)程序?qū)崿F(xiàn),但是,程序常常需要開(kāi)發(fā)環(huán)境,不方便。最方便是利用sql語(yǔ)言直接導(dǎo)入。既方便而修改也簡(jiǎn)單。以下就是導(dǎo)入的方法。
延川ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!
1、 表結(jié)構(gòu)相同的表,且在同一數(shù)據(jù)庫(kù)(如,table1,table2)
Sql :
復(fù)制代碼代碼如下:
insert into table1 select * from table2 (完全復(fù)制)
insert into table1 select distinct * from table2(不復(fù)制重復(fù)紀(jì)錄)
insert into table1 select top 5 * from table2 (前五條紀(jì)錄)
2、不在同一數(shù)據(jù)庫(kù)中(如,db1 table1,db2 table2)
sql:
[code]
insert into db1.table1 select * from db2.table2 (完全復(fù)制)
insert into db1.table1 select distinct * from db2table2(不復(fù)制重復(fù)紀(jì)錄)
insert into tdb1.able1 select top 5 * from db2table2 (前五條紀(jì)錄)
3、表結(jié)構(gòu)不同的表或復(fù)制部分紀(jì)錄(如,dn_user,dn_user2)
a. 建一個(gè)新表[DN_UserTemp](在老表dn_user上增加一列)
復(fù)制代碼代碼如下:
CREATE TABLE [DN_UserTemp] ( [Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL)
[Id] [idtype] NOT NULL ,
[Name] [fntype] NOT NULL ,
[Descript] [dstype] NULL ,
[LogonNm] [idtype] NOT NULL ,
[Password] [idtype] NULL ,
[Gender] [char] (1) NULL ,
[Quited] [booltype] NOT NULL,
[OffDuty] [booltype] NOT NULL ,
[Stopped] [booltype] NOT NULL,
[OSBind] [booltype] NOT NULL,
[Domain] [idtype] NULL ,
[EMail] [fntype] NULL ,
[UnitId] [idtype] NULL ,
[BranchId] [idtype] NULL ,
[DutyId] [idtype] NULL ,
[LevelId] [idtype] NULL ,
[ClassId] [idtype] NULL ,
[TypeId] [idtype] NULL ,
[IP] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
[ExpireDT] [datetime] NULL ,
[Sort] [int] NOT NULL ,
[AllowDel] [booltype] NOT NULL,
[UnitChief] [booltype] NOT NULL,
[BranchChief] [booltype] NOT NULL ,
[UnitDeputy] [booltype] NOT NULL ,
[BranchDeputy] [booltype] NOT NULL ,
[Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]
b. 將dn_uer2的數(shù)據(jù)拷入dn_usertemp
sql:insert into dn_usertemp select * from dn_user2
c.將dn_usertemp 拷入dn_user
sql:
復(fù)制代碼代碼如下:
declare @i int
declare @j int
declare @Name fntype
set @i=1
select @j=count(*) from dn_usertemp
while @i@j 1
begin
select @Name=Name from dn_usertemp where Num=@i
print @Name
insert into dn_user (Name) values (@Name) where Num=@i
select @i=@i 1
end
MySql數(shù)據(jù)庫(kù)復(fù)制表數(shù)據(jù)
將 production 數(shù)據(jù)庫(kù)中的 mytbl 表快速?gòu)?fù)制為 mytbl_new,2個(gè)命令如下:
復(fù)制代碼代碼如下:
CREATE TABLE mytbl_new LIKE production.mytbl;
INSERT mytbl_new SELECT * FROM production.mytbl;
第一個(gè)命令是創(chuàng)建新的數(shù)據(jù)表 mytbl_new ,并復(fù)制 mytbl 的數(shù)據(jù)表結(jié)構(gòu)。
第二個(gè)命令是講數(shù)據(jù)表 mytbl 中的數(shù)據(jù)復(fù)制到新表 mytbl_new 。
注:production.mytbl是指定要復(fù)制表的數(shù)據(jù)庫(kù)名稱為 production 。它是可選的。
假如沒(méi)有production. ,MySQL數(shù)據(jù)庫(kù)將會(huì)假設(shè)mytbl在當(dāng)前操作的數(shù)據(jù)庫(kù)。
另外:在mysql數(shù)據(jù)庫(kù)中復(fù)制數(shù)據(jù)為:
復(fù)制代碼代碼如下:
select * into desTable from sourceTable在mssql中支持,在mysql中不支持
insert into desTable select * from sourceTable
在Mysql程序中有我自己的一個(gè)數(shù)據(jù)庫(kù)共5張表,里邊數(shù)據(jù)不算太多。我現(xiàn)在想把他們?nèi)颗搅硪慌_(tái)電腦中去,該怎么弄,如果不用其它的軟件工具,只用Mysql自已的程序不知可否??
注:不用考慮操作系統(tǒng)。?
---------------------------------------------------------------?
在dos命令提示符下使用mysqldump命令進(jìn)行備份.?
如下:?
C:\Documents and Settings\Administratormysqldump yinshi c:\\backup.txt -uroot?
-p12142022?
說(shuō)明:yinshi是我的數(shù)據(jù)庫(kù)名,里面有5張表; c:\\backup.txt 是我備份出來(lái)文件名和路徑;?
-u,-p參數(shù)后面跟的分別是用戶名和密碼.?
將你備份出來(lái)的文件我這里是backup.txt拷貝到另一臺(tái)機(jī)上,再在dos命令提示符下用mysql命令,進(jìn)行恢復(fù),如下:?
C:\Documents and Settings\Administratormysql c:\\backup.txt -uroot -p12142022?
or?
mysqlsource backup.txt;(這里backup.txt在放在data目錄下)?
---------------------------------------------------------------?
如果另一臺(tái)機(jī)器上也安裝了mysql,可以直接導(dǎo)入?
C:\mysql\binmysqldump -h172.20.6.250 -udeveloper -p123456 --opt server_databasename | mysql -hlocalhost -uroot -C obj_databasename?
172.20.6.250源服務(wù)器ip?
developer源服務(wù)器連接用戶名?
---------------------------------------------------------------?
有兩種辦法。?
1、在B機(jī)器上裝mysql。?
將A機(jī)器上的mysql/data下的你的數(shù)據(jù)庫(kù)目錄整個(gè)拷貝下來(lái)。?
將B機(jī)器上的mysql服務(wù)停止。?
找到B機(jī)器上的mysql/data目錄,將你拷貝的目錄粘貼進(jìn)去,然后啟動(dòng)mysql服務(wù)就可以了。?
2、使用SQL語(yǔ)句備份和恢復(fù)?
你可以使用SELECT INTO OUTFILE語(yǔ)句備份數(shù)據(jù),并用LOAD DATA INFILE語(yǔ)句恢復(fù)數(shù)據(jù)。這種方法只能導(dǎo)出數(shù)據(jù)的內(nèi)容,不包括表的結(jié)構(gòu),如果表的結(jié)構(gòu)文件損壞,你必須要先恢復(fù)原來(lái)的表的結(jié)構(gòu)。?
語(yǔ)法:?
SELECT * INTO {OUTFILE | DUMPFILE} ’file_name’ FROM tbl_name?
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_name.txt’ [REPLACE | IGNORE]?
INTO TABLE tbl_name?
SELECT ... INTO OUTFILE ’file_name’
一、復(fù)制表里面的一條記錄并插入表里面
① insert into article(title,keywords,desc,contents) select title,keywords,desc,contents from article where article_id = 100;
二、復(fù)制表里的多條數(shù)據(jù)/記錄,并插入到表里面
① INSERT INTO `power_node`(title,type,status) SELECT title,type,status FROM power_node WHERE id 5;
② INSERT into jiaban (num,overtime) SELECT num,overtime from jiaban where id IN(1,3,5,6,7,9);
三、在創(chuàng)建表時(shí),就插入另一張表里面的某些數(shù)據(jù)
① create table user AS select * from member where id 10
1、復(fù)制表結(jié)構(gòu)(語(yǔ)法
creata
table
舊表
select
*
from
新表)
create
table
t1(
id
int
unsigned
auto_increment
primary
key,
name
varchar(32)
not
null
default
'',
pass
int
not
null
default
);
desc
查看表結(jié)構(gòu)
創(chuàng)建表
t2
同時(shí)復(fù)制表
t1
表結(jié)構(gòu)
create
table
t2
select
*
from
t1;
desc
t2
查看表結(jié)構(gòu)
注意:兩張的表字段結(jié)構(gòu)一樣,但是
主鍵
primary
key
和
自增
auto_increment
沒(méi)有了,所以這種方法不推薦大家使用,那如何才能創(chuàng)建出兩張完全一樣的表呢,辦法肯定有的,如下面語(yǔ)句。
create
table
t2
like
t1;
這就可以創(chuàng)建一張
t2
和
t1
完全一樣的表了。
2、指定字段復(fù)制表結(jié)構(gòu)
語(yǔ)法:
create
table
新表
select
字段1,字段2
…
from
舊表
3、復(fù)制表中數(shù)據(jù)
假設(shè)要把表
t1
中的數(shù)據(jù)全部復(fù)制到表
t2中
insert
into
t2
select
* from
t1;
如果只想復(fù)制某個(gè)字段
insert
into
t2(字段1,字段2)
select
字段1,字段2 from
t1;
分享名稱:mysql怎么復(fù)制列數(shù)據(jù) mysql怎么復(fù)制數(shù)據(jù)庫(kù)數(shù)據(jù)
本文地址:http://sd-ha.com/article22/doijpcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、電子商務(wù)、搜索引擎優(yōu)化、品牌網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)