zoukankan      html  css  js  c++  java
  • Mysql命令行导入sql数据

    mysqldump  是在  操作系统命令行下运行的,不是在 MySQL 命令行下运行的。

    登陆数据库:

    登陆本地mysql : mysql -h localhost -u root -p123456

    登陆到指定的数据库  mysql -h 192.168.1.68 -u root -p123456 ppos_center

    进入MySQL目录下的bin文件夹,

    如:D:xamppmysqlin>

    一般形式:mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名

    一:数据库的导出(备份)

    0:(备份数据库即导出所有表以及数据 不加-d)

    mysqldump -h localhost -u root -p gogs> G:aagogs.sql
    
    数据库导出,前提是保存位置有写的权限
    xiao@ubuntu:/usr/local/mysql/bin$ mysqldump -uroot papaid > /data/www-data/test/papaid.sql
    xiao@ubuntu:/usr/local/mysql$ mysqldump -uroot gogs > /data/www-data/test/gogs.sql
    
    D:xamppmysqlin>mysqldump -uroot -p123456 papaid > I:aapapaid.sql
    mysql>source I:aappos_center.sql 
    

    1:(备份数据库即导出所有表结构)

    D:xamppmysqlin>mysqldump -h localhost -u root -p -d gogs> G:aagogs.sql
    
    ENTER PASSWORD:******
    
    mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
    -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
    

    2 :(导出某张表的表结构不含数据)

    mysqldump -h localhost -u root -p -d test pollution > G:arcgisworkspacezypdoc	est.sql
    

    3:(导出某张表的表结构和数据,不加-d)

    mysqldump -h 192.168.1.68 -u root -p123456 gogs user> G:aauser.sql
    

    0:备份多个数据库的语法

    D:xamppmysqlin>mysqldump -h 127.0.0.1 -u root -p --databases gogs papaid> G:aa	est.sql

    1:备份所有的数据库的语法

    D:xamppmysqlin>mysqldump -h 127.0.0.1 -u root -p --all -databases > G:aa	est.sql(暂时没有通过,不知道为什呢)
    

    二:数据库的导入(还原)

    0:导入数据库(首先得创建数据,再导入)

    D:xamppmysqlin>mysql -h localhost -u root -p(进入mysql下面)
    
    create database abc;(创建数据库)
    
    show databases;(就可看到所有已经存在的数据库,以及刚刚创建的数据库abc)
    
    use abc;(进入abc数据库下面)
    
    show tables;(产看abc数据库下面的所有表,空的)
    
    source G:aa	est.sql(导入数据库表)
    
    show tables;(查看abc数据库下面的所有表,就可以看到表了)
    
    desc pollution;(查看表结构设计)
    
    select * from pollution;
    
    exit(或者ctrl + c)退出mysql
    

    三:MYSQL如何导出文本文件  (备份为csv,txt,等,更加有用)

    0:mysql 下导出为指定格式的数据的外部任意文件类型  mysql> 

    use dbname 

    Database Changed 

    select * from pollution into outfile 'G:\arcgisworkspace\zypdoc\text.txt'; (指导出数据的,注意转义字符哦)

    select * from pollution into outfile 'G:\arcgisworkspace\zypdoc\text.csv' FIELDS TERMINATED BY '\,'; (输出格式控制)

    select * from ppos_seq into outfile 'I:\aa\ppos_seq.txt';
    select * from ppos_seq into outfile 'I:\aa\ppos_seq.csv';
    select * from ppos_seq into outfile 'I:\aa\ppos_seq2.csv' FIELDS TERMINATED BY '\,';
    

    结果为:

    1,汽车尾气,200

    2,建筑扬沙,180

    3,汽车喷漆,160

    4,燃煤,240

    5,其它,80

    知识补充:

    一般形式:select [列名称] from tablename [where] into outfile '目标文件路径' [option]

    其中option参数常用的5个选项

    FIELDS TERMINATED BY ‘字符串’:设置字符串为字段的分割符,默认值为 ;

    FIELDS ENCLOSED BY ‘字符’:设置字符串括上char varchar text等字符型字段,默认值为 无任何符号;

    FIELDS OPTIONALLY ENCLOSED BY ‘字符’:设置字符串括上字段的值,默认值为 无任何符号;

    LINES STARTING BY ‘字符串’:设置每一行开头的字符,默认值为 无任何字符;

    FIELDS ESCAPED BY ‘字符’:设置转义字符,默认值为 ;

    LINES TERMINATED BY ‘字符串’:设置每行结束符,默认值为 ;

    如:

    select * from pollution into outfile 'G:\arcgisworkspace\zypdoc\text2.csv'
    FIELDS TERMINATED BY '\,' OPTIONALLY ENCLOSED BY '"'
    LINES STARTING BY '>' TERMINATED BY '
    ';
    

    结果为:

    >1,"汽车尾气","200"
    >2,"建筑扬沙","180"
    >3,"汽车喷漆","160"
    >4,"燃煤","240"
    >5,"其它","80"

    1:mysqldump 下导出为指定格式的数据的外部任意文件类型  D:xamppmysqlin>

    mysqldump -u root -p -T G:arcgisworkspacezypdoc abc pollution "--fields-terminated-by=," (记住不要任何多余的空格,也不用转移字符;-p后面也不用写password;

    注意目标目录是文件夹,文件名是表名,后缀是txt文件)


    知识补充:

    mysqldump -u root -p -T 目标目录 dbname tablename [option]

    option 和 上面的mysql的一样,只是更改为

    "--fields-terminated-by=字符"(不要任何多余的空格,就是指fields-terminated-by紧密相连的)

    四:MYSQL如何导入文本文件  (更加有用)

    (1)mysql 下导出为指定格式的数据的外部任意文件类型  mysql> 

    第一步:创建对应字段的数据表

        create table csv_test2(  
        id int(8) primary key,  
        name varchar(64),  
        value int(32)  
        );  
    

    (2)插入:加入value的类型开始时设计错了,如何更改:ALTER table csrv_test2 MODIFY column value varchar(32);

    (3)第二步:导入外部数据

        LOAD DATA INFILE 'D:\tjdata_metro\test\mysql_infile3.csv'  
        INTO TABLE csv_test2  
        FIELDS TERMINATED BY '\,'  
        OPTIONALLY ENCLOSED BY '"'  
        LINES TERMINATED by'
    '  
        ignore 1 lines  
        (id,name,value);  
    

    上面的 lines terminated by ' ' 是 要求换行符号,为 windows的换行
    上面的 ignore 1 lines是 忽略第一行的标题行。

  • 相关阅读:
    centos : 创建交换分区
    用法记录
    mysql日志清理
    mysql 通过查看mysql 配置参数、状态来优化你的mysql
    [WPF 自定义控件]Window(窗体)的UI元素及行为
    [WPF 自定义控件]为Form和自定义Window添加FunctionBar
    [WPF 自定义控件]让Form在加载后自动获得焦点
    [WPF 自定义控件]简单的表单布局控件
    [WPF 自定义控件]以Button为例谈谈如何模仿Aero2主题
    [WPF 自定义控件]自定义控件的代码如何与ControlTemplate交互
  • 原文地址:https://www.cnblogs.com/zhuiluoyu/p/7099010.html
Copyright © 2011-2022 走看看