038   1073  2008122100010805      6.90     17.00      0.00      0.0001      6.9
038   1073  2008122100020832     77.90     17.00      0.00      0.0001     77.9
038   1073  2008122100030842    238.00     17.00      0.00      0.0001    238.0以上是数据文件的部分数据
格式大致如上
该文件可以用写字板打开,排列整齐
但如果用记事本打开排列不整齐,不会自动分段
一共有8列,我已在mysql 中建好数据表字段, 表名为 tb,字段暂定为 A B C D E F G H I 
请问在linux 下 ,要入何导入到mysql数据库中,能否写个shell

解决方案 »

  1.   

    http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#load-data12.2.5. LOAD DATA INFILE Syntax
    LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
        [REPLACE | IGNORE]
        INTO TABLE tbl_name
        [CHARACTER SET charset_name]
        [FIELDS
            [TERMINATED BY 'string']
            [[OPTIONALLY] ENCLOSED BY 'char']
            [ESCAPED BY 'char']
        ]
        [LINES
            [STARTING BY 'string']
            [TERMINATED BY 'string']
        ]
        [IGNORE number LINES]
        [(col_name_or_user_var,...)]
        [SET col_name = expr,...]LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test
      FIELDS TERMINATED BY ','  LINES STARTING BY 'xxx';
      

  2.   

    insert  tb
    select '038',1073,2008122100010805,6.90,17.00,0.00,0.0001,6.9 union all
    select '038',1073,2008122100020832,77.90,17.00,0.00,0.0001,77.9 union all
    select '038',1073,2008122100030842,238.00,17.00,0.00,0.0001,238.0可以直接进入mysql命令行,输入以上语句。也可以把以上语句保存到一个文件,如test.sql,然后在shell里输入mysql mysql < test.sql 
    (第二个mysql是数据库名称)