加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

从mySQL导出数据库模式为ASCII,以是我可以在SO上宣布它

发布时间:2021-04-02 14:29:32 所属栏目:编程 来源:网络整理
导读:当我必要问一个mySQL数据库模式题目时 我实行“写出”我的表模式 但它很长. 以是我搜查了SO 但我找不到谜底:有没有步伐自动从mySQL(或phpmyadmin)自动天生ASCII样式数据库模式? 即我想自动获得这样的对象: +----------+---------+-----------------------

当我必要问一个mySQL数据库模式题目时 – 我实行“写出”我的表模式 – 但它很长.

以是我搜查了SO – 但我找不到谜底:有没有步伐自动从mySQL(或phpmyadmin)自动天生ASCII样式数据库模式?

即我想自动获得这样的对象:

+----------+---------+----------------------------+
|  user_ID | user    |   roles                    |
+----------+---------+----------------------------+
|        1 |   Smith |    1                       |
+----------+---------+----------------------------+
|        2 |   Jones |    1                       |
+----------+---------+----------------------------+

人们怎样做到这一点?什么是最好的要领? 最佳谜底 我不确定phpMyAdmin可以做你想要的,但你可以通过行使mysql提醒获得这个.这是怎样做:

假设您只必要表my_table的模式.

打开终端并运行mysql转达用户名(-u)和暗码(-p)(假如必要).在Windows上,您也许但愿确保mysql bin目次位于路径上(假如您在Windows上事变,则也许还必要拥有mysql on the PATH).

一旦你有一个mysql终端;

您也许想要查察哪些数据库可用:

show databases;

选摘要行使的数据库:

use this_database;

您也许还但愿查察哪些表可用(在此数据库中):

show tables;

此刻,要查察表的架构/界说,譬喻my_table,请运行以下呼吁:

describe my_table;

这应该会获得像这样的ASCII大度打印输出,譬喻:

+--------------------+--------------+------+-----+---------+----------------+
| Field              | Type         | Null | Key | Default | Extra          |
+--------------------+--------------+------+-----+---------+----------------+
| id                 | int(11)      | NO   | PRI | NULL    | auto_increment |
| name               | varchar(50)  | NO   |     | NULL    |                |
| location_id        | int(11)      | NO   | MUL | NULL    |                |
| manager_id         | int(11)      | NO   | MUL | NULL    |                |
| other              | varchar(100) | YES  |     | NULL    |                |
| creation_timestamp | datetime     | NO   |     | NULL    |                |
| is_active          | tinyint(1)   | NO   |     | NULL    |                |
+--------------------+--------------+------+-----+---------+----------------+

假如它是您想要的架构数据,那么您也许正在行使SELECT查询来确定列名称以及您想要的任何行.譬喻这样的工作:

SELECT * FROM stores LIMIT 2;

将给出以下内容:

+----+------------+-------------+------------+-------+---------------------+-----------+
| id | name       | location_id | manager_id | other | creation_timestamp  | is_active |
+----+------------+-------------+------------+-------+---------------------+-----------+
|  1 | Good Store |           1 |          1 |       | 2012-06-17 19:14:15 |         1 |
|  2 | Neu Store  |           2 |          1 |       | 2012-06-29 05:14:24 |         1 |
+----+------------+-------------+------------+-------+---------------------+-----------+

留意:在上面的全部例子中,mysql必定会获得我表现的输出(除非分页或偏向改变),可是你要将这个输出复制并粘贴到SO上,你必要复制并粘贴从终端/节制台;在尺度的linux / unix终端上,您可以行使鼠标选择输出,然后行使Control Shift C将其复制到剪贴板上,然后将其粘贴到SO上.在Windows上,用鼠标选择后,我想您可以右键单击并选择复制,可能您必要从节制台窗口中选择标志,然后选择输出,之后它应自动在剪贴板上可供您粘贴在SO上.

另外,当您将输出粘贴到SO上的文本框中时,请不要健忘,为了将其表现为代码,您必要选择内容,然后单击{}将其名目化为代码.可能,只需左键缩进,每行有4个空格.

但愿这可以办理你的题目,固然它不像你想要的那样自动,但我信托行使xclip和mysql呼吁之类的剧本可以靠近这个,自动完成:-)

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读