`
tedadeshu
  • 浏览: 25595 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysql导出导入表及数据

 
阅读更多

在命令行下mysql的数据导出有个粉好用的工具mysqldump,它的参数有一大把,可以这样查看:
mysqldump

最常用的:
mysqldump -uroot databasefoo table1 table2 > foo.sql

这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql中,其中-uroot参数表示访问数据库的用户名是root,如果有密码还需要加上-p参数

mysql的数据导入也是相当便捷的,如:
mysql -uroot databasefoo < foo.sql

这样就可以将foo.sql的数据全部导入数据库databasefoo

 

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.MYSQL导入(执行)Sql脚本
         例如:用户名是root 密码是123 sql脚本存在C盘 名字为test.sql 数据库为test

         有两种方法可以执行脚本

         (1):打开CMD输入以下命令(不需要转换目录)
                 >mysql -u root -p123
                进入MYSQL后
                mysql>use test;
                mysql> source c:/test.sql

                ok执行完了,你可以用show tables;查看有哪写表(记得语句后有个分号)
                还可以用desc tableName;查看你的表结构

         (2):打开CMD输入以下命令(不需要转换目录)
                  >mysql -u root -p123 test < c:/test.sql
                   这样执行完了,你就会退出mysql,所以如果你没在图形界面下操作mysql就最好用第一种方法

 

一般人用 phpmyadmin 里面的数据库导入,导出功能,非常方便。但是在实际应用中,发现如下几个问题:

1 数据库超过一定尺寸,比如6M 这时使用导出一般没问题,可以正确的保存到本机硬盘上面,但是导入则不行!原因是:一般的 PHP.INI 里面设置临时文件/上传文件的大小限制为2M,而phpmyadmin使用了上传的方式,造成失败。

2 导出到硬盘的 .SQL 文件在导回时,经常出现由于某些单引号的问题引起失败,造成导入失败,只能用 mysql等应用程序导入了。

我的数据库已经超过10M,所以必须解决这个问题。我的思路:

导出: 用phpmyadmin 保存数据库/表格结构,用脚本读取数据库内容并保存到文件里面!
导入: 用phpmyadmin 恢复数据库/表格结构,用脚本读取文件,然后保存到库里面!

导出程序如下:调用方法为 ****.php?table=tablename
这个简单的程序目前一次保存一个表格!!每行为一个字段的数据!!

if($table==““)exit();
mysql_connect(“localhost“,“name“,“password“);
mysql_select_db(“database“);
$result = mysql_query(“select * from $table“);
if(mysql_num_rows($result) <= 0) exit();
echo “开始转换数据到文本...
“;
$handle = fopen(“$table.txt“,“w“);
$numfields = mysql_num_fields($result);
fputs($handle,$numfields.“\r\n“);
for($k=0;$k{
$msg = mysql_fetch_row($result);
for($i=0;$i<$numfields;$i++)
{
$msg[$i] = str_replace(“\r\n“,“&&php2000mysqlreturn&&“,$msg[$i]);
$msg[$i] = str_replace(“\n“ ,“&&php2000mysqlreturn&&“,$msg[$i]);
fputs($handle,$msg[$i].“\r\n“);
}
fputs($handle,“------- php2000 dump data program V1.0 for MySQL --------\r\n“);
}
fclose($handle);
echo “ok“;
?>

导入的程序如下:用法同上面!

if($table==““)exit();
mysql_connect(“localhost“,“name“,“password“);
mysql_select_db(“database“);
$message = fi1e(“$table.txt“);
echo $numfields = chop($message[0]);
for($k=1;$k{
$value=““;
for ($i=$k;$i<($k+$numfields-1);$i++)
{
$tmp = str_replace(“&&php2000mysqlreturn&&“,“\r\n“,chop($message[$i]));
$value .= “““.addslashes($tmp).““,“;
}
$tmp = str_replace(“&&php2000mysqlreturn&&“,“\r\n“,chop($message[$k+$numfields-1]));
$value .= “““.$tmp.“““;
$query = “insert into $table values (“.$value.“)“;
echo mysql_error();
mysql_query($query);
echo $k.“ “;
}
echo “ok“;
?>

使用方法和可能的问题!
1 导入时 fi1e()函数可能会有问题(我的10M的数据没出现问题),可以改为 fopen()然后没次读一行!!
2 导入,导出都需要用 ftp 我作,也就是导出后,用 ftp 把数据转到本机,导入时先用ftp转移数据到服务器!

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    linux下导入导出mysql数据库及其导出数据命令大汇总

    在 Linux 下,我们可以使用 mysqldump 命令来导出 MySQL 数据库中的表结构和数据。基本语法如下: ```sql mysqldump -u 用户名 -p密码 目标数据库 &gt; 导出数据库的名称 ``` 例如,要导出目标数据库 `VSMNG` 中的表...

    MySQL导出数据并通过sqlldr导入oracle

    同时代码还会生成sqlldr命令需要用到的control文件和bat文件,以及连接Oracle的配置文件,只要将MySQL导出的数据文件合到一起,执行bat文件,即可完成数据导入到Oracle的任务。所有文件都是以导入导出的那张表的表名...

    MySQL数据导入导出

    使用该语句可以从文本文件中导入数据到数据库的表中。与 SELECT INTO OUTFILE 相反,LOAD DATA INFILE 不能导入表结构,仅限于导入数据。此外,它也只能一次处理一个表,并且需要手动指定字段分隔符、行分隔符等参数...

    MySQL数据导入与导出

    ### MySQL数据导入与导出详解 在数据库管理与维护中,数据的导入与导出是一项基本而重要的操作,尤其在MySQL这种广泛使用的数据库系统中。本文将深入探讨MySQL数据导入与导出的方法,通过实际案例解析,帮助读者...

    mysql数据导入导出

    使用 `source` 命令导入数据的基本步骤如下: 1. 首先登录 MySQL: ```bash mysql -u 用户名 -p ``` 2. 选择要导入数据的数据库: ```sql USE 数据库名; ``` 3. 执行 `source` 命令: ```sql SOURCE 脚本...

    mysql数据导入导出php版 mysql数据导入导出php版

    对应于`mysqldump`,MySQL提供了`mysqlimport`工具来导入数据。在PHP中,你可以通过执行shell命令来调用它,如下所示: ```php $command = "mysqlimport --user=root --password=mypassword --local mydatabase ...

    MySql示例9:表数据的导出和导入.zip

    本示例重点讨论了如何在MySQL中进行表数据的导出和导入。 首先,我们来看数据导出。MySQL提供了多种导出数据的方式,最常用的是使用`mysqldump`工具。这个命令行实用程序可以创建SQL语句来重建整个数据库或特定的表...

    导入导出mysql数据

    知识点:MySQL 数据库的导入与导出操作及 Java 实现 在 IT 行业中,数据库的管理和维护是一项至关重要的工作。特别是在 MySQL 这样的流行关系型数据库管理系统中,数据的备份与恢复变得尤为重要。本篇文章将深入...

    MySql练习6:科目表数据的导出和导入.zip

    假设我们已经有一个名为`subject_data.sql`的文件,我们可以通过`mysql`命令行客户端来导入数据: ```bash mysql -u [username] -p[password] database_name ``` 这里的操作与导出类似,`表示从`subject_data.sql...

    mysql导入导出表结构及表数据及执行sql常用指令.pdf

    3. 导出和导入表结构及数据3.1 导出整个数据库或特定表到SQL文件: ```bash # 导出整个数据库 mysqldump -h 主机地址 -u 用户名 -p 数据库名 &gt; 数据库备份文件.sql # 导出特定表 mysqldump -h 主机地址 -u 用户名 -...

    mysql数据库大数据量导入导出多种方法

    mysql数据库大数据量导入导出多种方法,该文档详述SELECT * INTO和mysqldump导出方法。导入方法中包括导入sql,txt文件和load data三种方法

    mysql导入导出到excel

    实现将数据库与excel之间数据的导入导出

    MYSQL 数据库导入导出命令

    MYSQL 数据库导入导出命令 MySQL 数据库导入导出命令是数据库管理员和开发者经常使用的命令,用于将 MySQL 数据库导出到文件中,以便备份、还原或迁移到其他服务器。下面将详细介绍 MySQL 数据库导入导出的命令和...

    Navicat for MySQL导出表结构脚本的简单方法

    使用MySQL可视化工具Navicat导出MySQL的表结构脚本的方法。 1、右键Navicat中的数据库→数据传输(Data Transfer)。 2、左边数据库对象(Database Objects)中选择对应...以上这篇Navicat for MySQL导出表结构脚本的

    MySQL数据导入导出各类型文件

    对于由`mysqldump`生成的.sql文件,可以使用`source`命令在MySQL客户端中执行文件内容,或者使用`mysqlimport`工具导入数据。 3. 对于csv文件,可以使用`LOAD DATA INFILE`配合`FIELDS TERMINATED BY`,`ENCLOSED ...

    MySql数据导入导出

    - **REPLACE** 或 **IGNORE**:用于处理导入数据时与表中已有数据的冲突情况。 - **FIELDS** 和 **LINES**:用于定义文件中字段和行的分隔符等细节。 - **应用场景**: - **大数据量导入**:当需要导入大量数据...

    用JAVA导出MYSQL的数据

    【知识点详解】 ...同样,导入数据时也需调用`mysql`命令,并确保所有相关的环境变量和权限设置都已就绪。通过这种方式,Java可以作为强大的工具,帮助我们在应用程序中集成数据库的备份和恢复功能。

    MySQL数据导入导出.pdf

    MySQL 数据导入导出是数据库管理中的重要操作,用于数据迁移、备份、恢复或者在不同环境间同步数据。本文主要介绍两种常见的MySQL数据导入导出方法:`SELECT INTO OUTFILE`语句和`mysqldump`实用程序。 1. **使用 `...

    java调用mysql命令 导入导出数据库

    在Java编程中,调用MySQL命令来导入和导出数据库是一种常见的操作,这涉及到数据库管理、数据迁移或者备份恢复等场景。在这个过程中,Java通过JDBC(Java Database Connectivity)接口与MySQL进行交互,利用MySQL...

Global site tag (gtag.js) - Google Analytics