哪家有java webjava web相关视频教程程下载?

怎样在MySQL数据库中导出整个数据库
在MySQL数据库中导出整个数据库:
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 & 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc & wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名& 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users& wcnc_users.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc &d:wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql&use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql&source d:wcnc_db.sql
=============
最新图文推荐
最新专栏文章
大家感兴趣的内容
网友热评的文章
seajs.config({
base: "/resource/passapi/scripts/"
seajs.use('seajs/seajs-css');
seajs.use(['artdialog/src/dialog-plus'], function (dialog) {
$('#favorite').on('click', function(){
$.getJSON('/passapi.ashx?op=userstatus&callback=?', function(data){
if (data.status == 1) {
var _this = $('#favorite').find('span');
$.getJSON('/?app=favorite&controller=favorite&action=add&jsoncallback=?&contentid='+contentid, function(json){
if(json.state){
_this.html('MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录)
2,导出数据库:mysqldump -u 用户名 -p 数据库名 & 导出的文件名 如我输入的命令行:mysqldump -u root -p news & news.sql&& (输入后会让你输入进入MySQL的密码)(如果导出单张表的话在数据库名后面输入表名即可)
3、会看到文件news.sql自动生成到bin文件下& 命令行导入数据库:
1,将要导入的.sql文件移至bin文件下,这样的路径比较方便2,同上面导出的第1步3,进入MySQL:mysql -u 用户名 -p如我输入的命令行:mysql -u root -p&& (输入同样后会让你输入MySQL的密码)4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库5,输入:mysql&use 目标数据库名如我输入的命令行:mysql&6,导入文件:mysql&source 导入的文件名; 如我输入的命令行:mysql&source news.
MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。 1.Win32下MySQL的备份与还原 1.1 备份 开始菜单 | 运行 | cmd |利用“cd \Program Files\MySQL\MySQL Server 5.0\bin”命令进入bin文件夹 | 利用“mysqldump& -u 用户名 -p databasename &exportfilename”导出数据库到文件,如mysqldump -u root -p voice&voice.sql,然后输入密码即可开始导出。 & 1.2 还原 进入MySQL Command Line Client,输入密码,进入到“mysql&”,输入命令"show databases;",回车,看看有些什么数据库;建立你要还原的数据库,输入"create database voice;",回车;切换到刚建立的数据库,输入"use voice;",回车;导入数据,输入"source voice.sql;",回车,开始导入,再次出现"mysql&"并且没有提示错误即还原成功。 & 2.Linux下MySQL的备份与还原 2.1 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [root@localhost mysql]# mysqldump -u root -p voice&voice.sql,输入密码即可。2.2 还原法一:[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql&",同1.2还原。法二:[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [root@localhost mysql]# mysql -u root -p voice&voice.sql,输入密码即可。
本文来自CSDN博客,转载请标明出处:
阅读(...) 评论()15364人阅读
mysql-基础(125)
关键字:&mysql&mysqlimport&
今天同事问起MySQL导入txt文件...用mysqlimport&工具。~帮忙调试。。。。自己测试通过
mysqlimport&-u&root&-padmin&-d&&--fields-terminated-by=,&depot&a.txt
-u&root&&(&root&&数据库用户名,MS只有ROOT用户有这个权限)
-p&admin(&admin&&密码,如果不写,执行时要求输入密码~)&
-d&插入数据之前删除表数据
&--fields-terminated-by=,&&(&,&&数据分割符,默认是Tab&跳格)
depot&(数据名字)
a.txt(要导入的txt文件,&.&之前将自动看成是表名,如果放在MySQL&的Data&目录下读取应该没有错误,如果放在其他盘,MS有问题,没有调查)
其他参数(没有测试的。。。)
-f&or&--force&不管错误,强制插入数据
-i&or&--ignore&跳过或者忽略那些有相同唯一&关键字的行,&导入文件中的数据将被忽略。
-l&or&-lock-tables&数据被插入之前锁住表,这样就防止了,你在更新数据库时,用户的查询和更新受到影响。
-r&or&-replace&这个选项与-i选项的作用相反;此选项将替代
--fields-enclosed-by=&char
指定文本文件中数据的记录时以什么括起的,&很多情况下数据以双引号括起。&默认的情况下数据是没有被字符括起的。
--lines-terminated-by=str
此选项指定文本文件中行与行之间数据的分隔字符串或者字符。&默认的情况下mysqlimport以newline为行分隔符。
MySQL数据导入导出方法与工具mysqlimport
1.mysqlimport的语法介绍:
mysqlimport位于mysql/bin目录中,是mysql的一个载入(或者说导入)数据的一个非常有效的工具。这是一个命令行工具。有两个参数以及大量的选项可供选择。这个工具把一个文本文件(text&file)导入到你指定的数据库和表中。比方说我们要从文件Customers.txt中把数据导入到数据库Meet_A_Geek中的表Custermers中:&
mysqlimport&Meet_A_Geek&Customers.txt&
注意:这里Customers.txt是我们要导入数据的文本文件,&而Meet_A_Geek是我们要操作的数据库,&数据库中的表名是Customers,这里文本文件的数据格式必须与Customers表中的记录格式一致,否则mysqlimport命令将会出错。&
其中表的名字是导入文件的第一个句号(.)前面文件字符串,另外一个例子:&
mysqlimport&Meet_A_Geek&Cus.to.mers.txt&
那么我们将把文件中的内容导入到数据库Meet_A_Geek&中的Cus表中。&
上面的例子中,都只用到两个参数,并没有用到更多的选项,下面介绍mysqlimport的选项&
2.mysqlimport的常用选项介绍:&
选项&功能&
-d&or&--delete&新数据导入数据表中之前删除数据数据表中的所有信息&
-f&or&--force&不管是否遇到错误,mysqlimport将强制继续插入数据&
-i&or&--ignore&mysqlimport跳过或者忽略那些有相同唯一&
关键字的行,&导入文件中的数据将被忽略。&
-l&or&-lock-tables&数据被插入之前锁住表,这样就防止了,&你在更新数据库时,用户的查询和更新受到影响。&
-r&or&-replace&这个选项与-i选项的作用相反;此选项将替代&表中有相同唯一关键字的记录。&
--fields-enclosed-&by=&char&指定文本文件中数据的记录时以什么括起的,&很多情况下&数据以双引号括起。&默认的情况下数据是没有被字符括起的。&
--fields-terminated-&by=char&指定各个数据的值之间的分隔符,在句号分隔的文件中,&分隔符是句号。您可以用此选项指定数据之间的分隔符。&默认的分隔符是跳格符(Tab)&
--lines-terminated-&by=str&此选项指定文本文件中行与行之间数据的分隔字符串&或者字符。&默认的情况下mysqlimport以newline为行分隔符。&您可以选择用一个字符串来替代一个单个的字符:&一个新行或者一个回车。&
mysqlimport命令常用的选项还有-v&显示版本(version),&-p&提示输入密码(password)等。&
<span style="color:#.例子:导入一个以逗号为分隔符的文件&
文件中行的记录&#26684;式是这样的:&
&1&,&&ORD89876&,&&1&Dozen&Roses&,&&&&
我们的任务是要把这个文件里面的数据导入到数据库Meet_A_Geek中的表&#26684;Orders中,&我们使用这个命令:&
bin/mysqlimport&–prl&–fields-enclosed-by=&&–fields-terminated-by=,&Meet_A_Geek&Orders.txt&
这个命令可能看起来很不爽,不过当你熟悉了之后,这是非常简单的。第一部分,bin/mysqlimport,告诉操作系统你要运行的命令是mysql/bin目录下的mysqlimport,选项p是要求输入密码,这样就要求你在改动数据库之前输入密码,操作起来会更安全。&我们用了r选项是因为我们想要把表中的唯一关键字与文件记录中有重复唯一关键字的记录替换成文件中的数据。我们表单中的数据不是最新的,需要用文件中的数据去更新,因而就用r这个选项,替代数据库中已经有的记录。l选项的作用是在我们插入数据的时候锁住表,这样就阻止了用户在我们更新表的时候对表进行查询或者更改的操作。
批处理导入文件,从sql文件导入数据到数据库中&,批处理是一种非交互式运行mysql程序的方法,如同您在mysql中使用的命令一样,你仍然将使用这些命令。&
为了实现批处理,您重定向一个文件到mysql程序中,首先我们需要一个文本文件,这个文本文件包含有与我们在mysql中输入的命令相同的文本。&//
比如我们要插入一些数据,使用包含下面文本的文件(文件名为New_Data.sql,当然我们也可以取名为New_Data.txt及任何其他的合法名字,并不一定要以后缀sql结尾):&
USE&Meet_A_G&
INSERT&INTO&Customers&(Customer_ID,&Last_Name)&VALUES(NULL,&&Block&);&
INSERT&INTO&Customers&(Customer_ID,&Last_Name)&VALUES(NULL,&&Newton&);&
INSERT&INTO&Customers&(Customer_ID,&Last_Name)&VALUES(NULL,&&Simmons&);&
注意上面的这些句子的语法都必须是正确的,并且每个句子以分号结束。&上面的USE命令选择数据库,INSERT命令插入数据。&
下面我们要把上面的文件导入到数据库中,导入之前要确认数据库已经在运行,即是mysqld进程(或者说服务,Windows&NT下面称为”服务“,unix下面为”进程“)已经在运行。&
然后运行下面的命令:&
bin/mysql&–p&&&/home/mark/New_Data.sql&
接着按提示输入密码,如果上面的文件中的语句没有错误,那么这些数据就被导入到了数据库中。&
命令行中使用LOAD&DATA&INFILE&从文件中导入数据到数据库:&
现在您可能会问自己,&究竟为什么我要输入所有的这些SQL语句到文件中,然后通过程序运行它们呢?”&这样看起来好像需要大量的工作。很好,你这样想很可能就对了。但是假如你有从所有这些命令中产生的log记录呢?现在这样就很棒,嗯,大多数数据库都会自动产生数据库中的事件记录的log。而大部分log都包含有用过的原始的SQL命令。因此,如果您不能从您现在的数据库中导出数据到新的mysql数据库中使用,那么您可以使用log和mysql的批处理特性,来快速且方便地导入您地数据。当然,这样就省去了打字的麻烦。&
LOAD&DATA&INFILE&
这是我们要介绍的最后一个导入数据到MySQL数据库中的方法。这个命令与mysqlimport非常相&#20284;,但这个方法可以在mysql命令行中使用。也就是说您可以在所有使用API的程序中使用这个命令。使用这种方法,您就可以在应用程序中导入您想要导入的数据。&使用这个命令之前,mysqld进程(服务)必须已经在运行。&
启动mysql命令行:&
bin/mysql&–p&
按提示输入密码,成功进入mysql命令行之后,输入下面的命令:&
USE&Meet_A_G&
LOAD&DATA&INFILE&&/home/mark/data.sql&&INTO&TABLE&O&
简单的讲,这样将会把文件data.sql中的内容导入到表Orders中,如mysqlimport工具一样,这个命令也有一些可以选择的参数。比如您需要把自己的电脑上的数据导入到远程的数据库服务器中,您可以使用下面的命令:&
LOAD&DATA&LOCAL&INFILE&&C:\MyDocs\SQL.txt&&INTO&TABLE&O&
上面的LOCAL参数表示文件是本地的文件,服务器是您所登陆的服务器。&这样就省去了使用ftp来上传文件到服务器,MySQL替你完成了.&您也可以设置插入语句的优先级,如果您要把它标记为低优先级(LOW_PRIORITY),那么MySQL将会等到没有其他人读这个表的时候,才把插入数据。可以使用如下的命令:&
LOAD&DATA&LOW_PRIORITY&INFILE&&/home/mark/data.sql&&INTO&TABLE&O&
您也可以指定是否在插入数据的时候,取代或者忽略文件与数据表中重复的键&#20540;。替代重复的键&#20540;的语法:&
LOAD&DATA&LOW_PRIORITY&INFILE&&/home/mark/data.sql&&REPLACE&INTO&TABLE&O&
上面的句子看起来有点笨拙,但却把关键字放在了让您的剖析器可以理解的地方。&//from&
下面的一对选项描述了文件的记录&#26684;式,这些选项也是在mysqlimport工具中可以用的。他们在这里看起来有点不同。首先,要用到FIELDS关键字,如果用到这个关键字,MySQL剖析器希望看到至少有下面的一个选项:&
TERMINATED&BY&character&
ENCLOSED&BY&character&
ESCAPED&BY&character&
这些关键字与它们的参数跟mysqlimport中的用法是一样的.&The&TERMINATED&BY&描述字段的分隔符,默认情况下是tab字符(\t)&
ENCLOSED&BY描述的是字段的括起字符。比方以引号括起每一个字段。&
ESCAPED&BY&描述的转义字符。默认的是反些杠(backslash:\&).&
下面仍然使用前面的mysqlimport命令的例子,用LOAD&DATA&INFILE语句把同样的文件导入到数据库中:&
LOAD&DATA&INFILE&&/home/mark/Orders.txt&&REPLACE&INTO&TABLE&Orders&FIELDS&TERMINATED&BY&','&ENCLOSED&BY&'&';&
LOAD&DATA&INFILE语句中有一个mysqlimport工具中没有特点:&
LOAD&DATA&INFILE&可以按指定的列把文件导入到数据库中。&当我们要把数据的一部分内容导入的时候,这个特点就很重要。比方说,我们要从Access数据库升级到MySQL数据库的时候,需要加入一些栏目(列/字段/field)到MySQL数据库中,以适应一些额外的需要。&
这个时候,我们的Access数据库中的数据仍然是可用的,但是因为这些数据的栏目(field)与MySQL中的不再匹配,因此而无法再使用mysqlimport工具。尽管如此,我们仍然可以使用LOAD&DATA&INFILE,下面的例子显示了如何向指定的栏目(field)中导入数据:&
LOAD&DATA&INFILE&&/home/Order.txt&&INTO&TABLE&Orders(Order_Number,&Order_Date,&Customer_ID);&
如您所见,我们可以指定需要的栏目(fields)。这些指定的字段依然是以括号括起,由逗号分隔的,如果您遗漏了其中任何一个,MySQL将会提醒您
导出数据的方法:Methods&of&Exporting&Data&
您可以看到MySQL有很多可以导入数据的方法,然而这些只是数据传输中的一半。另外的一般是从MySQL数据库中导出数据。有许多的原因我们需要导出数据。一个重要的原因是用于备份数据库。数据的造价常常是昂贵的,需要谨慎处理它们。经常地备份可以帮助防止宝贵数据地丢失;另外一个原因是,也许您希望导出数据来共享。&在这个信息技术不断成长的世界中,共享数据变得越来越常见。&
比方说Macmillan&USA维护护着一个将要出版的书籍的大型数据库。这个数据库在许多书店之间共享,这样他们就知道哪些书将会很快出版。医院越来越走向采用无纸病历记录,这样这些病历可以随时跟着你。世界变得越来越小,信息也被共享得越来越多。有很多中导出数据得方法,它们都跟导入数据很相&#20284;。因为,毕竟,这些都只是一种透视得方式。从数据库导出的数据就是从另一端导入的数据。这里我们并不讨论其他的数据库各种各样的导出数据的方法,您将学会如何用MySQL来实现数据导出。
使用mysqldump:&
(mysqldump命令位于mysql/bin/目录中)&
mysqldump工具很多方面类&#20284;相反作用的工具mysqlimport。它们有一些同样的选项。但mysqldump能够做更多的事情。它可以把整个数据库装载到一个单独的文本文件中。这个文件包含有所有重建您的数据库所需要的SQL命令。这个命令取得所有的模式(Schema,后面有解释)并且将其转换成DDL语法(CREATE语句,即数据库定义语句),取得所有的数据,并且从这些数据中创建INSERT语句。这个工具将您的数据库中所有的设计倒转。因为所有的东西都被包含到了一个文本文件中。这个文本文件可以用一个简单的批处理和一个合适SQL语句导回到MySQL中。这个工具令人难以置信地简单而快速。决不会有半点让人头疼地地方。&
因此,如果您像装载整个数据库Meet_A_Geek的内容到一个文件中,可以使用下面的命令:&
bin/mysqldump&–p&Meet_A_Geek&&&MeetAGeek_Dump_File.txt&
这个语句也允许您指定一个表进行dump(备份/导出/装载?)。如果您只是希望把数据库Meet_A_Geek中的表Orders中的整个内容导出到一个文件,可以使用下面的命令:&
bin/mysqldump&–p&Meet_A_Geek&Orders&&MeetAGeek_Orders.txt&
这个非常的灵活,您甚至可以使用WHERE从句来选择您需要的记录导出到文件中。要达到这样的目的,可以使用类&#20284;于下面的命令:&
bin/mysqldump&–p&–where=&Order_ID&&&2000&&Meet_A_Geek&Orders&&&Special_Dump.txt&
mysqldump工具有大量的选项,部分选项如下:&
选项/Option&作用/Action&Performed&
--add-drop-table&
这个选项将会在每一个表的前面加上DROP&TABLE&IF
EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除&
--add-locks&
这个选项会在INSERT语句中捆上一个LOCK&TABLE和UNLOCK
TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作&
-c&or&-&complete_insert&
这个选项使得mysqldump命令给每一个产生INSERT语句加上列(field)的名字。当把数据导出导另外一个数据库时这个选项很有用。&
--delayed-insert&在INSERT命令中加入DELAY选项&
-F&or&-flush-logs&使用这个选项,在执行导出之前将会刷新MySQL服务器的log.&
-f&or&-force&使用这个选项,即使有错误发生,仍然继续导出&
--full&这个选项把附加信息也加到CREATE&TABLE的语句中&
-l&or&-lock-tables&使用这个选项,导出表的时候服务器将会给表加锁。&
-t&or&-no-create-&info&
这个选项使的mysqldump命令不创建CREATE&TABLE语句,这个选项在您只需要数据而不需要DDL(数据库定义语句)时很方便。&
-d&or&-no-data&这个选项使的mysqldump命令不创建INSERT语句。&
在您只需要DDL语句时,可以使用这个选项。&
--opt&此选项将打开所有会提高文件导出速度和创造一个可以更快导入的文件的选项。&//from&
-q&or&-quick&这个选项使得MySQL不会把整个导出的内容读入内存再执行导出,而是在读到的时候就写入导文件中。&
-T&path&or&-tab&=&path&这个选项将会创建两个文件,一个文件包含DDL语句或者表创建语句,另一个文件包含数据。DDL文件被命名为table_name.sql,数据文件被命名为table_name.txt.路径名是存放这两个文件的目录。目录必须已经存在,并且命令的使用者有对文件的特权。&
-w&&WHERE&Clause&&or&-where&=&&Where&clause&&&
如前面所讲的,您可以使用这一选项来过筛选将要放到&导出文件的数据。&
假定您需要为一个表单中要用到的帐号建立一个文件,经理要看今年(2004年)所有的订单(Orders),它们并不对DDL感兴趣,并且需要文件有逗号分隔,因为这样就很容易导入到Excel中。&为了完成这个人物,您可以使用下面的句子:&
bin/mysqldump&–p&–where&&Order_Date&&=''&&
–tab&=&/home/mark&–no-create-info&–fields-terminated-by=,&Meet_A_Geek&Orders&
这将会得到您想要的结果。&
schema:模式&
The&set&of&statements,&expressed&in&data&definition&language,&that&completely&describe&the&structure&of&a&data&base.&一组以数据定义语言来表达的语句集,该语句集完整地描述了数据库的结构。&
SELECT&INTO&OUTFILE&:&
如果您觉得mysqldump工具不够酷,就使用SELECT&INTO&OUTFILE吧,&MySQL同样提供一个跟LOAD&DATA&INFILE命令有相反作用的命令,这就是SELECT&INTO&OUTFILE&命令,这两个命令有很多的相&#20284;之处。首先,它们有所有的选项几乎相同。现在您需要完成前面用mysqldump完成的功能,可以依照下面的步骤进行操作:&
<span style="color:#.&确保mysqld进程(服务)已经在运行&
<span style="color:#.&cd&/usr/local/mysql&
<span style="color:#.&bin/mysqladmin&ping&;//&如果这个句子通不过,可以用这个:mysqladmin&-u&root&-p&ping&mysqladmin&ping用于检测mysqld的状态,is&alive说明正在运行,出错则可能需要用户名和密码。&
<span style="color:#.&启动MySQL&监听程序.&
<span style="color:#.&bin/mysql&–p&Meet_A_Geek;//&进入mysql命令行,并且打开数据库Meet_A_Geek,需要输入密码&
<span style="color:#.&在命令行中,输入一下命令:&
SELECT&*&INTO&OUTFILE&'/home/mark/Orders.txt'&
TERMINATED&BY&=&','&
FROM&Orders&
WHERE&Order_Date&&=&''
在你按了Return(回车)之后,文件就创建了。这个句子就像一个规则的SELECT语句,只是把想屏幕的输出重定向到了文件中。这意味这您可以使用JOIN来实现多表的高级查询。这个特点也可以被用作一个报表产生器。&
比方说,您可以组合这一章中讨论的方法来产生一个非常有趣的查询,试试这个:&
在mysql目录建立一个名为Report_G.rpt&的文本文件,加入下面的行:&
USE&Meet_A_G&
INSERT&INTO&Customers&(Customer_ID,&Last_Name,&First_Name)&
VALUES&(NULL,&&Kinnard&,&&Vicky&);&
INSERT&INTO&Customers&(Customer_ID,&Last_Name,&First_Name)&
VALUES&(NULL,&&Kinnard&,&&Steven&);&
INSERT&INTO&Customers&(Customer_ID,&Last_Name,&First_Name)&
VALUES&(NULL,&&Brown&,&&Sam&);&
SELECT&Last_Name&INTO&OUTFILE&'/home/mark/Report.rpt'&
FROM&Customers&WHERE&Customer_ID&&&1;&
然后确认&mysql进程在运行,并且您在mysql目录中,&输入下面的命令:&
bin/mysql&&&Report_G.rpt检查您命名作为输出的文件,这个文件将会包含所有您在Customers表中输入的顾客的姓。&如您所见,您可以使用今天学到的导入/导出(import/export)的方法来帮助得到报表。&
翻译声明:&本文内容来自Sam's&Teach&Yourself&MySQL&in&21&Days一书的部分内容,by&Mark&Maslakowski&英文原文版权属原作者所有,中文的部分翻译有略有增删;原书讲的过于清楚的地方有删,讲的不清楚的地方有增;如果有翻译的不妥或者不正确的地方,请指正。&
翻译者:David&Euler,SCU.&de_euler-david@.cn&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:966338次
积分:9893
积分:9893
排名:第1332名
原创:149篇
转载:131篇
评论:89条
(1)(4)(5)(4)(2)(4)(2)(1)(3)(1)(2)(2)(7)(13)(3)(1)(2)(3)(14)(8)(23)(3)(1)(5)(19)(7)(3)(1)(2)(2)(6)(14)(13)(1)(4)(9)(10)(3)(7)(7)(20)(24)(21)

我要回帖

更多关于 java视频教程下载 的文章

 

随机推荐