mysql怎么导入sql文件导出数据

mysql怎么导入sql文件导出数据,第1张

window下

1导出整个数据

mysqldump -u 用户名 -p 数据库名 > 导出的文件

mysqldump -u dbuser -p dbname > dbnamesql

2导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u dbuser -p dbname users> dbname_userssql

3导出一个数据库结构

mysqldump -u dbuser -p -d --add-drop-table dbname

>d:/dbname_dbsql

-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

4导入数据库

常用source 命令

进入mysql数据库控制台,如

mysql -u root -p

mysql>use 数据库

然后使用source命令,后面参数为脚本文件(如这里用到的sql)

mysql>source d:/dbnamesql

1

导入数据到数据库

mysql -uroot

-D数据库名

1

导入数据到数据库中得某个表

mysql -uroot -D数据库名

表名

D:\APMServ526\MySQL51\bin>mysqldump -u root

-p erp lightinthebox_tags > ligh

tintheboxsql

linux下

一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):

1、导出数据和表结构:

mysqldump -u用户名 -p密码 数据库名 > 数据库名sql

#/usr/local/mysql/bin/ mysqldump -uroot -p abc > abcsql

敲回车后会提示输入密码

2、只导出表结构

mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名sql

#/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abcsql

注:/usr/local/mysql/bin/ ---> mysql的data目录

二、导入数据库

1、首先建空数据库

mysql>create database abc;

2、导入数据库

方法一:

(1)选择数据库

mysql>use abc;

(2)设置数据库编码

mysql>set names utf8;

(3)导入数据(注意sql文件的路径)

mysql>source /home/abc/abcsql;

方法二:

mysql -u用户名 -p密码 数据库名 < 数据库名sql

#mysql -uabc_f -p abc < abcsql

导出数据库命令:

mysqldump -u root -p mydb2 > e:\mydbsql

把数据库mydb2导出到e盘的mydbsql

注意:在dos下进入mysql安装的bin目录下,但是不要登陆。

导入数据库命令:

mysqldump -u root -p mydb2 < e:\mydbsql

把数据库e盘的mydbsql导入到mydb2

注意:要先新建mydb2 然后使用导入语句

oracle 用户创建 数据库的导入导出imp/exp

可以在SQLPLUSEXE或者DOS(命令行)中执行执行环境:可以在SQLPLUSEXE或者DOS(命令行)中执行,

DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径,

该目录下有EXPEXE与IMPEXE文件被用来执行导入导出。

创建用户

给用户增加导入数据权限的 *** 作

第一,启动sqlpuls

第二,以system/manager登陆

第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)

第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,

DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,

DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字

第五, 运行-cmd-进入dmp文件所在的目录,

imp userid=system/manager full=y file=dmp

或者 imp userid=system/manager full=y file=filenamedmp

执行示例:

F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notifydmp 17jquerycom

下面介绍的是导入导出的实例。

数据导出:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochudmp中

exp system/manager@TEST file=d:daochudmp full=y

exp fang/fang@ORCL file=d:oais20100401dmp full=y

exp oais/oais@ORCL file=d:oais_mjdmp full=y

2 将数据库中system用户与sys用户的表导出

exp system/manager@TEST file=d:daochudmp owner=(system,sys)

3 将数据库中的表inner_notify、notify_staff_relat导出

exp aichannel/aichannel@TESTDB2 file= d:datanewsmgntdmp tables=(inner_notify,notify_staff_relat)

exp fang/fang@ORCL file=d:oais20100401_essmenudmp tables=(essmenu)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:daochudmp tables=(table1) query=" where filed1 like '00%'"

上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

也可以在上面命令后面 加上 compress=y 来实现。 一起jquery,17jquery

数据的导入

1 将D:daochudmp 中的数据导入 TEST数据库中。

imp system/manager@TEST file=d:daochudmp

imp aichannel/aichannel@HUST full=y file=d:datanewsmgntdmp ignore=y

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

在后面加上 ignore=y 就可以了。

2 将d:daochudmp中的表table1 导入

imp system/manager@TEST file=d:daochudmp tables=(table1)

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。 MSSQL的导入导出有三种方法,不可以在cmd模式下进行:1使用Transact-SQL进行数据导入导出 我们很容易看出,Transact-SQL方法就是通过SQL语句方式将相同或不同类型的数据库中的数据互相导入导出或者汇集在一处的方法。如果是在不同的SQL Server数据库之间进行数据导入导出,那将是非常容易做到的。一般可使用SELECT INTO FROM和INSERT INTO。使用 SELECT INTO FROM时INTO后跟的表必须存在,也就是说它的功能是在导数据之前先建立一个空表,然后再将源表中的数据导入到新建的空表中,这就相当于表的复制(并不会复制表的索引等信息)。而INSERT INTO的功能是将源数据插入到已经存在的表中,可以使用它进行数据合并,如果要更新已经存在的记录,可以使用UPDATE。 SELECT INTO table2 FROM table1 --table1和table2的表结构相同 INSERT INTO table2 SELECT FROM table3 --table2和table3的表结构相同 当在异构数据库之间的进行数据导入导出时,情况会变得复杂得多。首先要解决的是如何打开非SQL Server数据库的问题。 在SQL Server中提供了两个函数可以根据各种类型数据库的OLE DB Provider打开并 *** 作这些数据库,这两个函数是OPENDATASOURCE和OPENROWSET。它们的功能基本上相同,不同之处主要有两点。 2 使用命令行BCP导入导出数据 很多大型的系统不仅仅提供了友好的图形用户接口,同时也提供了命令行方式对系统进行控制。在SQL Server中除了可以使用SQL语句对数据进行 *** 作外,还可以使用一个命令行工具BCP对数据进行同样的 *** 作。BCP是基于DB-Library 客户端库的工具。它的功能十分强大,BCP能够以并行方式将数据从多个客户端大容量复制到单个表中,从而大大提高了装载效率。但在执行并行 *** 作时要注意的是只有使用基于 ODBC 或 SQL OLE DB 的 API 的应用程序才可以执行将数据并行装载到单个表中的 *** 作。 BCP可以将SQL Server中的数据导出到任何OLE DB所支持的数据库的,如下面的语句是将authors表导出到excel文件中。 bcp pubsdboauthors out c:\temp1xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P"password" BCP不仅能够通过命令行执行,同时也可以通过SQL执行,这需要一个系统存储过程xp_cmdshell来实现,如上面的命令可改写为如下形式。 EXEC masterxp_cmdshell 'bcp pubsdboauthors out c:\temp1xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P"password"' 3 使用数据转换服务(DTS)导入导出数据 DTS是SQL Server中导入导出数据的核心,它除有具有SQL和命令行工具BCP相应的功能外,还可以灵活地通过VBScript、JScript等脚本语言对数据进行检验、净化和转换。 SQL Server为DTS提供了图形用户接口,用户可以使用图形界面导入导出数据,并对数据进行相应的处理。同时,DTS还以com组件的形式提供编程接口,也就是说任何支持com组件的开发工具都可以利用com组件使用DTS所提供的功能。DTS在SQL Server中可以保存为不同的形式,可以是包的形式,也可以保存成Visual Basic源程序文件,这样只要在VB中编译便可以使用DTS com组件了。 DTS和其它数据导入导出方式最大的不同就是它可以在处理数据的过程中对每一行数据进行深度处理。以下是一段VBScript代码,这段代码在处DTS理每一条记录时执行,DTSDestination表示目标记录,DTSSource表示源记录,在处理逗婚姻状况地时,将源记录中的逗婚姻状况地中的0或1转换成目标记录中逗已婚地或逗未婚地。 Function Main() DTSDestination("姓名") = DTSSource("姓名") DTSDestination("年龄") = DTSSource("年龄") If DTSDestination("婚姻状况") = 1 Then DTSDestination("婚姻状况") = "已婚" Else DTSDestination("婚姻状况") = "未婚" End If Main = DTSTransformStat_OK End Function

1nbsp;概述MySQL数据库的导入,有两种方法:1)nbsp;先导出数据库SQL脚本,再导入;2)nbsp;直接拷贝数据库目录和文件。在不同 *** 作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。2nbsp;方法一nbsp;SQL脚本形式 *** 作步骤如下:21nbsp;导出SQL脚本在原数据库服务器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目录中)命令行,导出SQL脚本。211nbsp;用phpMyAdmin工具导出选项中,选择导出“结构”和“数据”,不要添加“Dropnbsp;DATABASE”和“Dropnbsp;TABLE”选项。选中“另存为文件”选项,如果数据比较多,可以选中“gzipped”选项。将导出的SQL文件保存下来。212nbsp;用mysqldump命令行命令格式mysqldumpnbsp;-u用户名nbsp;-pnbsp;数据库名nbsp;amp;gt;nbsp;数据库名sql范例:mysqldumpnbsp;-urootnbsp;-pnbsp;abcnbsp;amp;gt;nbsp;abcsql(导出数据库abc到abcsql文件)提示输入密码时,输入该数据库用户名的密码。22nbsp;创建空的数据库通过主控界面/控制面板,创建一个数据库。假设数据库名为abc,数据库全权用户为abc_f。23nbsp;将SQL脚本导入执行同样是两种方法,一种用phpMyAdmin(mysql数据库管理)工具,或者mysql命令行。231nbsp;用phpMyAdmin工具从控制面板,选择创建的空数据库,点“管理”,进入管理工具页面。在“SQL“菜单中,浏览选择刚才导出的SQL文件,点击“执行”以上载并执行。注意:phpMyAdmin对上载的文件大小有限制,php本身对上载文件大小也有限制,如果原始sql文件比较大,可以先用gzip对它进行压缩,对于sql文件这样的文本文件,可获得1:5或更高的压缩率。gzip使用方法:#nbsp;gzipnbsp;xxxxxsql得到xxxxxsqlgz文件。232nbsp;用mysql命令行命令格式mysqlnbsp;-u用户名nbsp;-pnbsp;数据库名nbsp;amp;lt;nbsp;数据库名sql范例:mysqlnbsp;-uabc_fnbsp;-pnbsp;abcnbsp;amp;lt;nbsp;abcsql(导入数据库abc从abcsql文件)提示输入密码时,输入该数据库用户名的密码。3nbsp;方法二nbsp;直接拷贝如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和 *** 作系统之间可能不兼容,要慎用。31nbsp;准备原始文件用tar打包为一个文件32nbsp;创建空数据库33nbsp;解压在临时目录中解压,如:cdnbsp;/tmptarnbsp;zxfnbsp;mydbtargz34nbsp;拷贝将解压后的数据库文件拷贝到相关目录cdnbsp;mydb/cpnbsp;nbsp;/var/lib/mysql/mydb/对于FreeBSD:cpnbsp;nbsp;/var/db/mysql/mydb/35nbsp;权限设置将拷贝过去的文件的属主改为mysql:mysql,权限改为660chownnbsp;mysql:mysqlnbsp;/var/lib/mysql/mydb/chmodnbsp;660nbsp;/var/lib/mysql/mydb/

phpmyadmin管理页面提供了mysql的导出导入功能,并且可以根据自身需求进行差异化的导出,具体 *** 作如下:

1登陆进入到phpmyadmin页面,并选择导出

2在左上方选择你需要导出的数据库,格式选择sql,并选择另存为,之后点击执行:

3在d出的选择页面选择你要保存的本地路径和文件名称:

至此mysql数据库就已经成功导出。导入的方法和导出方法类似

mysql

的好用之处就是其命令行简单明了。

mysqldump是最快的方法。你看不懂没关系,可以照着做。

1打开DOS窗口

2键入

mysqldump

--user

root

--password=123456

mysql

>

d:\mysqlsql

--user

表示要你的mysql登陆用户名

超级用户默认为root

--password=123456

就是密码了,你的是多少就把123456换成你的。

mysql

是数据库名,你要导出的是什么,就换成什么名。

>

是重定向符

,把数据库的内容以sql代码的形式重定向到d:\mysqlsql文件。

知道了导出,肯定要导入:

导入方法:

1打开DOS窗口。

2键入mysql

-uroot

-p123456

mysql

<

d:\mysqlsql

就是上面的相反过程。只是形式有点差别。

很简单吧。

1导出整个数据库mysqldump

-u

用户名

-p

数据库名

>

导出的文件名mysqldump

-u

wcnc

-p

smgp_apps_wcnc

>

wcncsql2导出一个表mysqldump

-u

用户名

-p

数据库名

表名>

导出的文件名mysqldump

-u

wcnc

-p

smgp_apps_wcnc

users>

wcnc_userssql3导出一个数据库结构mysqldump

-u

wcnc

-p

-d

--add-drop-table

smgp_apps_wcnc

>d:\wcnc_dbsql-d

没有数据

--add-drop-table

在每个create语句之前增加一个drop

table4导入数据库常用source

命令进入mysql数据库控制台,

mysql

-

u

test

-

p1234

BugFree

<

D:/GreenAMP/BugFreesql

如mysql

-u

root

-pmysql>use

数据库然后使用source命令,后面参数为脚本文件(如这里用到的sql)mysql>source

d:\wcnc_dbsql4可参看

MySQL数据的导出和导入工具:mysqldump

alter

table

people

change

age

age

varchar(2);//将age属性改为varchar(2)

alter

table

people

change

age

ages

varchar(2)

not

null

default

'china';

//将age改为ages字段,且为varchar(2),not

null,默认值为‘china’

alter

table

people

drop

column

age;//

删除age列

alter

table

people

add

column

age

varchar(10)

not

null;//

添加age列

在mysql中导入/导出超大的sql文本文件,我们可以使用很多方法实例,如有:客户端直接命令 *** 作,分块导入,客户端用source命令 *** 作等等。

在实际工作中,有时经常地时行mysql数据库的导入和导入 *** 作,但对于大型sql文件导入时,phpmyadmin是不行的,有太多限制,比如记录,内存等!

多种方案收集,如下:

方案一:客户端直接命令 *** 作(此方法是我比较喜欢的)

刚恢复一个电商网站mysql备份数据,此备份文件有300多M,因为phpmyadmin支持上传有限,文件太大IE停止响应,所以在本地用

代码如下

复制代码

mysql -u root -p root jiahuibuydb<

c:/yebihaisql

但没导入进去,出来一大堆mysql的参数提示,不认输入的命令参数,后来写成下面这个样子,就是去掉了参数和数据之间的空格

代码如下

复制代码

mysql -uroot -proot jiahuibuydb<

c:/yebihaisql

导入就OK了

导出命令:

a)导出整个库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

代码如下

复制代码

mysqldump -u root -p student

>d:/yebihaisql

b)导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

方案二:分块导入

代码如下

复制代码

<

//用来快速Mysql的大数据备份

//使用前请首先按照代码注释修改要导入的SQL文件名、数据库主机名、数据库用户名、密码、数据库名

//同时将数据库文件和本文本一起ftp导网站目录,然后以web方式访问此文件即可

$file_name="sqlsql"; //要导入的SQL文件名

$dbhost="localhost"; //数据库主机名

$dbuser="user"; //数据库用户名

$dbpass="pass"; //数据库密码

$dbname="dbname";

//数据库名

set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe

mode模式下无效,此时可能会导致导入超时,此时需要分段导入

$fp = @fopen($file_name, "r") or

die("不能打开SQL文件 $file_name");//打开文件

mysql_connect($dbhost, $dbuser,

$dbpass) or die("不能连接数据库 $dbhost");//连接数据库

mysql_select_db($dbname)

or die ("不能打开数据库 $dbname");//打开数据库

mysql_query('set names utf8');

echo "正在执行导入 *** 作";

while($SQL=GetNextSQL()){

if

(!mysql_query($SQL)){

echo

"执行出错>

以上就是关于mysql怎么导入sql文件导出数据全部的内容,包括:mysql怎么导入sql文件导出数据、数据库的导入与导出、我有一个网站想把mysql的数据库怎么导出是怎样导出的呀。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9361834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存