获取mysql列名以及复制mysql的表记要

获取mysql列名以及复制mysql的表记录

    因为调试程序分页效果需要快速的添加一些记录,复制当然是最方便的方法:

insert into table1(f1,f2) select f1,f2 from table1 where id < 10;

    但是几个字段的话还好说,要是有几十个字段,那不就有点…..

    也许有更巧妙的复制记录的方法,但如果参照以上方法的话,下一步工作就是快速方便的获取到“列名”。 当然通过JAVA或PHP程序进行处理的话也是可以的,但是sql语句本身也有一些有趣的办法可以得到。

    假定我这里的表名是“hugetable”,首先熟悉的获取表信息的方法有:

SHOW COLUMNS FROM hugetable;
DESCRIBE hugetable;

    但是他们得到的结果是类似以下:

+------------+----------+------+-----+---------+----------------+
| Field      | Type     | Null | Key | Default | Extra          |
+------------+----------+------+-----+---------+----------------+
| Id         | int(11)  | NO   | PRI | NULL    | auto_increment |
| Name       | char(35) | NO   |     |         |                |
| Country    | char(3)  | NO   | UNI |         |                |

    而我暂时想要的仅仅是column name而已。

   

    于是找到下面的一个语句,可以实现这个要求:

select column_name from information_schema.columns where table_name='hugetable';  

    当然将这些结果集的field values拷贝出来后,还需要一些正则替换,

    将 单引号 ’  替换为 空白

    将 回车符 \n 替换为 逗号,

    现在得到的字串就满足需求了 🙂

    抛块砖,希望遇见更好的方法 🙂

获取mysql列名以及复制mysql的表记要

相关文章:

你感兴趣的文章:

标签云: