各位大侠,本人正在写一个程序,要求从已有的MYSQL数据库文件中读取数据,不能通过MYSQL系统接口,所以想从分析MYSQL数据库文件入手,但不知MYSQL的 *.frm, *.myd,*.myi的文件格式是什么样的。
  请高手多多指点!!

解决方案 »

  1.   

    这个是 myisam的存储引擎表的文件.frm 表定义文件。.myd 数据文件, .myi 索引文件。你需要下载一下 myisam 的源代码看一下。
      

  2.   

      谢谢1楼的回答,我看过MYSQL的手册,上面说MYSQL的各种数据引擎所使用的数据字典都是*.frm文件,我想只要知道了其中对数据库和表的定义,就能从文件*.MYD和*.MYI中读取数据了。我现在的困难是无法获得*.frm文件定义的资料。
      

  3.   

    有一本书,叫做Mysql internals,里边有相关的章节介绍.frm以及.myd相关格式。不过, 变长格式的.myd结构相当复杂,需要相当时日才能搞得比较透彻。
      

  4.   

    我想只要知道了其中对数据库和表的定义,就能从文件*.MYD和*.MYI中读取数据了。我现在的困难是无法获得*.frm文件定义的资料。----------------------------------------上面2句话是两个很复杂的过程。 》》我想只要知道了其中对数据库和表的定义,就能从文件*.MYD和*.MYI中读取数据了
    即使知道了表的定义,再从myd文件中读取数据也是很复杂的。 你可以自己弄个测试表,试试!
    》》》我现在的困难是无法获得*.frm文件定义的资料。分析frm获取表的创建语法也是很麻烦的,我以上试图分析,比较复杂。
      

  5.   

        我是一名大二的学生,想把这个程序作为我的数据库系统的课程设计,不需要很复杂的功能,只要能解析Select语句,从已有的数据库文件中读取数据就行!谢谢指教!
      

  6.   

    不是我低估大学生的水平。 前些日子给公司的初级员工讲关系型数据库基础。 基本上是应届生。 
    sql语句水平真的不敢恭维。 你们大二都要求数据库实现了,这个在斯坦福好像也是本科四年级或者研究生的课程。
      

  7.   

    不是我低估大学生的水平。 前些日子给公司的初级员工讲关系型数据库基础。 基本上是应届生。 
    sql语句水平真的不敢恭维。 你们大二都要求数据库实现了,这个在斯坦福好像也是本科四年级或者研究生的课程。厉害!