当我必要问一个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呼吁之类的剧本可以靠近这个,自动完成:-)
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|