初学,有几个问题请教,分不多了,就放在一起问了,见谅
1.一个database里有table1,table2,在程序里读取文件的数据插入到了table1,table2,再次执行了这个操作,数据就被重复插入了table1和table2里,有没有什么建表语句可以让再次执行的时候默认覆盖原表的,一定要先删除原表再重新插入么2,怎么获得database里的表名呢?3,能不能连续遍历table1,table2,获得记录

解决方案 »

  1.   

    1.一个database里有table1,table2,在程序里读取文件的数据插入到了table1,table2,再次执行了这个操作,数据就被重复插入了table1和table2里,有没有什么建表语句可以让再次执行的时候默认覆盖原表的,一定要先删除原表再重新插入么
     Mysql 中有一个语句 REPLACE 或者 insert into ... on duplicate update ...
    2,怎么获得database里的表名呢?
    show tables;
    或者
    select * from INFORMATION_SCHEMA.TABLES3,能不能连续遍历table1,table2,获得记录
    select * from table1 union all select * from table2
      

  2.   

    具体语法细节你可以参考MYSQL的手册。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  3.   

    1.你的需求看下这里的链接就都明白了 一清二楚
    http://bbs.51cto.com/viewthread.php?tid=717981&pid=3660800&page=1&extra=page%3D1#pid36608002.use 库名;
    show tables;或者直接 show tables from 库名;3不明白什么叫连续遍历 是一L的意思么?
      

  4.   

    select * from INFORMATION_SCHEMA.TABLES
      

  5.   

    是database确定,获取database里未知数量的表名,还有获取所有这些表的记录?
      

  6.   

    贴出你的
    select * from INFORMATION_SCHEMA.TABLES结果
      

  7.   


    那么再 
    desc INFORMATION_SCHEMA.TABLES;看看表中有哪些字段,这些字段都是什么意思。另外建议参考一下文档。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html