首页 > 编程技术 > php

MySQL数据的导出和导入

发布时间:2016-11-25 17:41

来源 : CCU的新闻组 | 整理修改:Hunte | 收录日期 : 2000-08-21
导出要用到MySQL的mysqldump工具,基本用法是:
shell> mysqldump [OPTIONS] database [tables]
如果你不给定任何表,整个数据库将被导出。
通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。
注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。
mysqldump支持下列选项:
--add-locks
在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。
--add-drop-table
在每个create语句之前增加一个drop table。
--allow-keywords
允许创建是关键词的列名字。这由表名前缀于每个列名做到。
-c, --complete-insert
使用完整的insert语句(用列名字)。
-C, --compress
如果客户和服务器均支持压缩,压缩两者间所有的信息。
--delayed
用INSERT DELAYED命令插入行。
-e, --extended-insert
使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)
-#, --debug[=option_string]
跟踪程序的使用(为了调试)。
--help
显示一条帮助消息并且退出。
--fields-terminated-by=...
  --fields-enclosed-by=...
  --fields-optionally-enclosed-by=...
  --fields-escaped-by=...
  --fields-terminated-by=...
这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。
LOAD DATA INFILE语法。
-F, --flush-logs
在开始导出前,洗掉在MySQL服务器中的日志文件。
-f, --force,
即使我们在一个表导出期间得到一个SQL错误,继续。
-h, --host=..
从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。
-l, --lock-tables.
为开始导出锁定所有表。
-t, --no-create-info
不写入表创建信息(CREATE TABLE语句)
-d, --no-data
不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!
--opt
同--quick --add-drop-table --add-locks --extended-insert --lock-tables。
应该给你为读入一个MySQL服务器的尽可能最快的导出。
-pyour_pass, --password[=your_pass] 与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。
1 PHP与ASP
ASP实际上不算是语言,它只是Active Server Pages的缩写,在ASP中使用的语法实际上是Visual Basic的script版本而已。最大的缺陷是ASP是出生于微软的Internet Information Server (IIS) 上的,导致其只能在Win32平台的服务器上运行。有一些特别的要让ASP在其它的WEB服务器环境上运行;如Halcyon开发的商业版的InstantASP、Chili!Soft开发的商业版的Chili!Soft ASP from及 ActiveScripting.org开发的免费的OpenASP。ASP比PHP慢又笨重,连稳定性也不好。一些专业人士因为熟悉Visual Basic而对VBScript的ASP出了问题比较好处理。ASP是IIS内建的软件,取得方便且容易运行。
 2 有ASP转化为PHP的程序吗?
有,asp2php是最常用的软件。
 3 PHP与Cold Fusion
对一些新的构想或复杂的程序而言,PHP是普遍被认为能较快处理的选择。
 PHP通常比较稳定,同时使用的资源比较少。Cold Fusion比起PHP4有不错的错误处理、抽象数据库及数据的剖析处理能力。其它方面,Cold Fusion拥有一个强有力的搜索引擎,但其它的WEB功能则很少被提起。PHP几乎支持所有的系统平台;而Cold Fusion只支持Win32、Solaris、Linux及HP/UX。
 Cold Fusion有不错的IDE开发环境,也比较容易上手;PHP则需要较多的程序设计经验。
有一份不错的摘要,是由Michael J Sheldon在PHP邮件论坛中所写的主题。按下这里可以看到。
 4 PHP与PERL
PHP比起PERL最大的优势在与PHP是专为WEB服务器所设计的程序语言,而PERL除了在WEB上使用之外,有着更复杂的功能。在弹性/复杂性方面,PERL起步较早有较多的功能,也造成了其他作者和开发者读取的困难。PHP较单纯且较严谨又不失弹性的结构。PHP比PERL 更好地和HTML语法融合。无论在结构、语法还是其它方面,PHP比起全功能的PERL是小而美的结构。PERL是花了很长时间才能成为真正的语言,而PHP则快速地发展到成熟。
1.配置php.ini,修改session.save_path
如:session.save_path = d:/developer/php/temp 或 /tmp
2.程序
1.php
<?
session_start();
$var1 = "test";
session_register("var1");
?>
2.php
<?
session_start();
echo $var1;
?>
首先运行1.php,然后运行2.php,页面应该出现test
session "headers already sent" 错误问题
错误提示:Cannot send session cookie - headers already sent by ...
出现该错误是页面中session_start();语句前存在输出语句
如下例:
<html>
<?
session_start();
$var1 = "test";
session_register("var1");
?>
<body>
</body>
</html>
将<html>放到后面即可
文件上载
修改php.ini
upload_tmp_dir=d:/temp 或 /tmp
upload.php
====================================
<html>
<head>
<title>PHP Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<?
if ($upload){
$real_path = $userfile_name;
if (file_exists($real_path)){
unlink($real_path);
}
if (!@copy($userfile,$real_path))
$upload_flag = false;
else
$upload_flag = true;
}
?>
<form name="frmUpload" action="upload.php" enctype="multipart/form-data" method="post">
<table border=0 cellspacing=0 cellpadding=4>
<tr><td>
<input type="hidden" name="MAX_FILE_SIZE" value="1048576">
<td>
<input type="file" name="userfile" size="40">
<input type="submit" name="upload" value=" 上载 ">
</td></tr>
</table>
</form>
</body>
</html>

最好的方法是建立一个新的页面,使用<?phpinfo()?>,并在浏览器中载入。它会显示所有的PHP参数信息、环境变量、WEB服务器的特定变量、HTTP的相关变量...等等。没有将完整的变量值放在文件中的主要原因是它会随着服务器的不同而有所差异。
当送出一个表单时,它可能使用image当成提交按钮,如下面所示:
<input SRC="image.gif" NAME="foo"> 当用户按下图片的任一点时,伴随表单传回服务器还包含了二个附加变量 foo.x 与 foo.y。
因为foo.x 与 foo.y在PHP中是有问题的名称,它们自动转成变量 $foo_x 与 $foo_y。在PHP处理期间就被转换掉了。
标签:[!--infotagslink--]

您可能感兴趣的文章: