mysql表文件
头儿要我给项目弄一个启动就检索表存在这么一个功能.
挺简单的,借用从朋友那里偷来的sql语句
select t.table_name from information_schema.TABLES t where t.TABLE_SCHEMA ="数据库" and t.TABLE_NAME ="表名";
java代码也很简单 吧检索的代码丢启动类就行
但是我测试发现问题
我这里习惯去直接将数据库文件丢到另一mysql 这里测试 我就直接吧mysql表文件给移出data文件夹 而不是用sql语句删除
这里正规一点的开发环境都不带这么弄的,我这儿特殊一些。
我发现使用这语句查询 information_schema.TABLES,我已经删除掉了表文件,但是记录依旧是存在的,查这个表名数据觉对是有的。
查看这个删除表文件的记录
正常的记录是create update都有的
所以我稍微改一下 改为差update时间这列,完美解决。
正规一点的环境完全不需要考虑这些,直接验证表名就ok。
这里说下表文件
表存储引擎默认innodb
当你创建一张表 并插入数据后
mysql目录data文件夹下会生成表名为名的frm和ibd文件
ibd是表数据文件 frm是表结构文件
当你使用myisam时
.frm文件保存表的定义,但是这个文件并不是MyISAM引擎的一部分,而是服务器的一部分;.MYD保存表的数据;.MYI是表的索引文件。
这脸存储引擎的区别主要在于对事务的支持。。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!