一般导出MySQL表结构有几种方式
使用工具
如Navicat、DBeaver等,不过往往需要进行配置,而且不同版本使用方式可能不一样
命令行
使用mysqldump命令,命令如下:
mysqldump -uroot -p123456 -d dbname > dbname.sql
使用这种方式需要看是否有足够的权限,否则无法使用
脚本
这里提供一份PHP脚本供大家使用,只需要有读权限就可导出所有表结构
<?php
$mysql_server_name = '服务器地址:端口号'; //改成自己的mysql数据库服务器
$mysql_username = '用户名'; //改成自己的mysql数据库用户名
$mysql_password = '密码'; //改成自己的mysql数据库密码
$mysql_database = '数据库名'; //改成自己的mysql数据库名
$conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); //连接数据库
//连接数据库错误提示
if (mysqli_connect_errno($conn)) {
die("连接 MySQL 失败: " . mysqli_connect_error());
}
//查询代码
$sql = "show tables";
$query = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($query)){
$sql = "show create table $row[0] ;";
//var_dump($sql);
$create = mysqli_query($conn,$sql);
$creatDesc = mysqli_fetch_array($create);
echo $creatDesc[1]."\n\n\n";
}
// 关闭链接
mysqli_close($conn);
执行方式 php test.php > test.sql
最后
大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)
我的个人博客为:https://shidawuhen.github.io/
往期文章回顾:
技术
- Go设计模式(3)-设计原则
- Go设计模式(2)-面向对象分析与设计
- 支付接入常规问题
- HTTP2.0基础教程
- Go设计模式(1)-语法
- MySQL开发规范
- HTTPS配置实战
- Go通道实现原理
- Go定时器实现原理
- HTTPS连接过程
- 限流实现2
- 秒杀系统
- 分布式系统与一致性协议
- 微服务之服务框架和注册中心
- Beego框架使用
- 浅谈微服务
- TCP性能优化
- 限流实现1
- Redis实现分布式锁
- Golang源码BUG追查
- 事务原子性、一致性、持久性的实现原理
- CDN请求过程详解
- 常用缓存技巧
- 如何高效对接第三方支付
- Gin框架简洁版
- InnoDB锁与事务简析
- 算法总结
读书笔记
思考