天道酬勤,学无止境

MySQL Workbench - Is Schema the same thing that Database? [closed]

I'm trying to set the Database name for a php code.

But I have a doubt, because in Workbench I have a MySQL schema called **. Is it equivalent to a Database or is a diferent thing? I'm asking that because I haven't found any explicit reference to DB creating in Workbench.

评论

Yes, in MySQL, schema and database are synonyms. This even extends to the syntax:

CREATE DATABASE foo;
DROP SCHEMA foo;

CREATE SCHEMA bar;
DROP DATABASE bar;

Both a schema and a database is basically a namespace for tables.

In some other implementations of SQL, the terms database and schema are used differently.

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 解密数据库模式(Decipher database schema [closed])
    问题 关闭。 此问题不符合堆栈溢出准则。 它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 6年前关闭。 改善这个问题 我最近继承了维护设计不佳的数据库的工作,并且设计人员也无法提出任何问题。 在不久的将来,我还有更多机会来。 试图在没有任何可视化辅助工具或数据库图的情况下找出表之间的关系非常困难。 我想知道为此推荐什么工具。 我了解Visio,但是我希望那里有一些不错的开源/免费软件应用程序。 我根本不需要它来更改数据库。 只需阅读并创建某种视觉辅助工具即可帮助我理解事物的布局方式,并尝试弄清楚设计者在思考数据应如何关联。 其他答案数据:SchemaSpy是我一直在寻找的那种东西,但是由于在很长一段时间内没有对命令行做太多事情,我选择使用SchemaSpyGUI。 由于我使用Java的工作量不大,因此还需要一些配置,但是最终结果是我想要的(在Visio ER图的开源替代上)。 回答1 尝试使用SchemaSpy。 我在一个相当复杂的数据库上运行它,结果令我感到非常满意,并提供了有关优化的建议。 回答2 尝试DBVis-从http://www.minq.se/products/dbvis/下载-有一个专业版(不需要)和一个开放版本就足够了。 您所要做的就是获取正确的JDBC-数据库驱动程序,该工具只需按一个按钮,就可以将表和引用以正交
  • 如何使用MySQL Workbench进行MySQL数据库备份?(How to take MySQL database backup using MySQL Workbench?)
    问题 如何使用MySQL Workbench进行数据库备份? 我们可以通过以下方式进行备份吗? 备份文件(.sql)包含“创建表”语句和“插入表”语句备份文件(.sql)仅包含“创建表”语句,而不包含所有表的“插入表”语句备份文件(.sql)仅包含插入表语句,而不包含所有表的创建表语句 回答1 对于Workbench 6.0 打开MySql工作台。 要进行数据库备份,您需要在Server Administration创建New Server Instance (如果不可用)。 创建New Server Instance步骤: 在Server Administrator选择“ New Server Instance选项。 提供连接详细信息。 创建新的服务器实例后,它将在“ Server Administration列表中可用。 双击您创建的服务器实例,或者单击“ Manage Import/Export选项,然后选择“服务器实例”。 现在,从DATA EXPORT/RESTORE选择DATA EXPORT选项,选择Schema和Schema Object进行备份。 您可以按照以下方式使用生成备份文件的方式- Q.1)备份文件(.sql)包含“创建表”语句和“插入表”语句 年: 选择开始导出选项 Q.2)备份文件(.sql)仅包含“创建表”语句,而不包含所有表的“插入表”语句 年:
  • 将MySQL服务器连接到NetBeans(connecting MySQL server to NetBeans)
    问题 我试图在Netbeans中连接MySQL数据库,并且在第一步连接数据库时就卡住了。 我的数据库在控制台上正常运行-尝试执行命令mysqladmin -u root -p ping,它说mysql id仍然有效。 我什至从控制台创建了数据库。 现在当我在Netbeans中注册它时 Server Host Name:localhost Server Port:3306 Admin user : root Admin password :<the password which works on console> 和管理属性: Path to admin tool: C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin.exe Argument : <blank> Path to start command:C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe Argument : --console <as suggested in http://forums.netbeans.org/topic12767.html> Path to stop command:C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin
  • 在MySQL数据库的每个表中的字段中搜索文本(Search text in fields in every table of a MySQL database)
    问题 我想在一个MySQL数据库的所有表的所有字段中搜索给定的字符串,可能使用如下语法: SELECT * FROM * WHERE * LIKE '%stuff%' 有可能做这样的事情吗? 回答1 您可以浏览information_schema模式。 它具有所有表和表中所有字段的列表。 然后,您可以使用从该表获得的信息来运行查询。 涉及的表是SCHEMATA,TABLES和COLUMNS。 有一些外键,使您可以准确地建立在模式中创建表的方式。 回答2 您可以对数据库(及其数据)进行SQLDump ,然后搜索该文件。 回答3 如果您安装了phpMyAdmin,请使用其“搜索”功能。 选择您的数据库确保您确实选择了一个数据库(即不是一个表,否则您将获得一个完全不同的搜索对话框) 点击“搜索”标签选择您想要的搜索词选择要搜索的表 我已经在多达250个表/ 10GB的数据库上(在快速服务器上)使用了此功能,响应时间简直令人称奇。 回答4 PHP功能: function searchAllDB($search){ global $mysqli; $out = ""; $sql = "show tables"; $rs = $mysqli->query($sql); if($rs->num_rows > 0){ while($r = $rs->fetch_array()){ $table =
  • 如何在 Mysql Workbench GUI 中查看表格内容?(How to view table contents in Mysql Workbench GUI?)
    问题 如何在 Mysql 工作台 GUI 中查看表内容? 我的意思是,不是从命令行。 回答1 首先从主屏幕打开与服务器的连接 (SQL IDE)。 然后使用架构树中的上下文菜单运行一个查询,该查询仅从所选表中选择行。 附带的 LIMIT 是为了避免意外读取太多行。 可以在首选项对话框中关闭(或调整)此限制。 然而,这种快速选择行的方法不是很灵活。 通常,您会在编辑器中使用附加条件(例如排序顺序)运行查询(文件/新查询选项卡): 回答2 选择 Database ,选择 table 并单击图标,如图所示。 回答3 在工作台内右键单击有问题的表,然后单击“选择行 - 限制 1000”。 这是弹出菜单中的第一个选项。 回答4 要在每个数据库下方的左侧面板上获得方便的表列表,您必须单击左侧面板右上角的小图标。 至少在 Win7 上的 MySQL Workbench 6.3 CE 中,这可以获取完整的表列表。 看我的截图来解释。 可悲的是,这个图标甚至没有鼠标悬停标题属性,所以我很幸运地找到了它。 回答5 上面所有的答案都很棒。 只缺少一件事,请务必拖动灰色按钮以查看表格(第 2 步): 回答6 您必须打开数据库连接,而不是带有架构的工作台文件。 它看起来有点奇怪,但当你意识到你在编辑什么时它是有道理的。 因此,转到主页选项卡,双击数据库连接(如果您还没有,请创建它)并玩得开心。 回答7
  • 如何在MySQL Workbench中获得表创建脚本?(How to get a table creation script in MySQL Workbench?)
    问题 由于无法在MySQL Workbench中找到获取表的创建脚本的快捷方式,因此我将回滚到MySQL GUI Tools的MySQL查询浏览器。 回答1 至少在Community Edition中,我也找不到这样的选项。 我想这对应于逆向工程功能,不幸的是,该功能仅在商业版中可用(引用) : 直接从MySQL服务器对数据库进行反向工程仅适用于商业版本的MySQL Workbench 。 不过,您仍然可以使用Plain-SQL获取create table指令,该指令将允许您创建表。 例如,以下查询: show create table url_alias; 在drupal数据库上执行时,在使用右键click > copy field content结果上的click > copy field content时会给出: 'CREATE TABLE `url_alias` ( `pid` int(10) unsigned NOT NULL auto_increment, `src` varchar(128) NOT NULL default '''', `dst` varchar(128) NOT NULL default '''', `language` varchar(12) NOT NULL default '''', PRIMARY KEY (`pid`), UNIQUE
  • 如何通过mysql工作台将数据导入mysql数据库?(How can I import data into mysql database via mysql workbench?)
    问题 我在mysql中创建了一个数据库。 我有一个.sql文件。 如何通过mysql工作台将其导入到数据库中? 回答1 在“主页”窗口上的“服务器管理”下,选择要将数据库还原到的服务器实例(如果是首次创建,请创建“新服务器实例” )。 单击管理导入/导出单击屏幕左侧的数据导入/还原。 选择从自包含文件导入单选按钮(屏幕右侧) 选择.sql的路径单击窗口右下角的“开始导入”按钮。 希望能帮助到你。 ---编辑答案- 关于模式的选择。 MySQL Workbench(5.2.47 CE Rev1039)尚不支持导出到用户定义的架构。 它将仅创建为其导出.sql的架构。在5.2.47中,我们看到“新建”目标架构。 但这是行不通的。 我使用MySQL Administrator(Oracle Oracle MySQL之前的旧版本)进行备份/还原。 您仍然可以从Googled可信来源下载它(搜索MySQL Administrator 1.2.17)。 回答2 对于MySQL Workbench 6.1:在主窗口中,单击服务器实例(连接)/或创建一个新的实例。 在打开的“连接”选项卡中,单击“服务器”->“数据导入”。 其余步骤与Vishy的答案相同。 回答3 开放式连接选择“管理”标签点击数据导入 上传sql文件 确保在此屡获殊荣的GUI中选择数据库: 回答4 对于MySQL
  • User cannot see databases in mysql workbench
    I'm trying to learn Spring Roo using this tutorial. So, what I did was: go to mysql workbench create a new schema called 'pizzashop' access localhost through the server administration account create a new user in 'users and privileges' with name 'pizzashop' and password 'pizzashop', and limit connectivity to hosts matching % when I tried to connect to the server using this account I noticed that it couldn't see any database I tried creating an entry in 'schema privileges' explicity allowing the 'pizzashop' user to see the 'pizzashop' schema, but it didn't work Hope you can help me here. I don
  • 重命名MySQL数据库(Rename MySQL database [duplicate])
    问题 这个问题已经在这里有了答案: 如何快速重命名MySQL数据库(更改架构名称)? (49个答案) 6年前关闭。 我创建了一个名为hrms的数据库。 现在,我需要将数据库名称更改为sunhrm 。 但是,它在MySQL工作台中被禁用。 我可以在Linux服务器本身上执行此操作吗? 回答1 我认为您无法做到这一点。 基本答案在许多情况下都会起作用,而在其他情况下则会导致数据损坏。 需要基于对数据库的启发式分析来选择策略。 这就是实施此功能然后将其删除的原因。 [文档] 您需要转储该数据库中的所有对象类型,创建新命名的对象类型,然后导入转储。 如果这是一个实时系统,则需要将其删除。 如果不能,则需要设置从该数据库到新数据库的复制。 如果您想查看可以执行此操作的命令,则@satishD包含详细信息,它传达了一些挑战,您需要围绕这些挑战来构建与目标数据库匹配的策略。 回答2 如果您需要从命令行执行此操作,只需复制,调整并粘贴以下代码段即可: mysql -e "CREATE DATABASE \`new_database\`;" for table in `mysql -B -N -e "SHOW TABLES;" old_database` do mysql -e "RENAME TABLE \`old_database\`.\`$table\` to \`new_database\`
  • 使用Laravel 4自动生成模型类(也使用带有L4的现有数据库)(Autogenerate model classes with Laravel 4 (aka using an existing database with L4))
    问题 我已经在MySQL Workbench中设计了数据库,并设置了所有外键,等等。 我想将此数据库模式与Laravel 4一起使用,但是从文档来看,没有任何能力可以使用现有数据库表集。 据我了解,其他框架(例如带有“烘焙”的Cake)使您可以基于数据库中已有的表自动生成模型类。 我到处环顾四周,对于Laravel 4根本看不到任何东西。我找到的最接近的东西是杰弗里·韦(Jeffrey Way)针对工匠的Generator软件包,但是这只会创建基本模型,并且不会检测到已建立的外键关系。 。 Laravel 4甚至可以做到这一点,还是我必须手动完成所有这些工作? 回答1 好消息是,Antonio刚刚完成了他的MySQL WorkBench至Eloquent ORM转换器。这是一个不错的解决方案,但对我来说很晚,但可能会对您有很大帮助。 更新:该链接目前无法正常工作。 该wabpage说:“我们正在重新设计东西,很快就会回来!”。 我已经向antonio发送了一封电子邮件,询问他何时可以再次使用此服务。 安东尼奥说会回来的,但是没有预计的到达时间。 我们必须等.. 回答2 cakePHP在从已经存在的数据库模式中充实整个项目方面做得很好。 Laravel目前不支持这样的功能。 次要功能之一仍然使我无法采用laravel。 回答3 嗯,我遇到了同样的问题,我自己写了一个小脚本
  • 将mysql数据库从一台计算机复制到另一台计算机(Copying mysql databases from one computer to another)
    问题 我想将我的mysql数据库从我的计算机复制到另一台计算机。 我怎样才能做到这一点? 回答1 如何使用mysqldump将Mysql数据库从一台计算机复制到另一台/备份数据库 我们可以使用mysqldump命令将MySQL数据库从一台PC转移到另一台PC。 我们必须创建数据库的转储文件才能将数据库从一台PC传输到另一台PC。 MySQL数据库不是可移植数据库,即我们无法通过复制和粘贴将它从一台PC转移到另一台PC。 我们可以使用以下方法来转移数据库。 从数据库创建转储文件/备份MySQL数据库: 打开命令提示符。 执行以下命令更改目录 >c: “press enter” >cd program files/MySQL/MySQL Server 5.1/ bin “press enter” >mysqldump -u root -p database_name > database_name.sql “press enter” Enter password: password of MySQL 复制sql文件并将其粘贴到要传输数据库的PC中。 2. Dumping sql file into database:- - Open MySQL command line client command prompt. - Execute following command to
  • 如何将csv文件导入MySQL工作台?(How to import a csv file into MySQL workbench?)
    问题 我有一个CSV文件。 它包含140万行数据,因此我无法在Excel中打开该csv文件,因为其限制约为100万行。 因此,我想在MySQL工作台中导入该文件。 此csv文件包含以下列 "Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type" 我正在尝试在MySQL工作台中创建一个名为“ dummy”的表,其中包含诸如 ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp. CSV文件名为model.csv 。 我在工作台中的代码是这样的: LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by '\n'; 但我收到model.CSV file not found的错误 回答1 我想您缺少ENCLOSED BY子句 LOAD DATA LOCAL INFILE '/path/to/your/csv/file/model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED
  • PostgreSQL 到 MySQL 的数据迁移(PostgreSQL to MySQL data migration)
    问题 我正在尝试将包含其中所有数据的 PostgreSQL 数据库移动到 MySQL 数据库,因此我正在使用 MySQL Workbench > 数据迁移工具。 在“反向工程源”步骤中,我遇到了一个奇怪的错误: ERROR: Reverse engineer selected schemata: ProgrammingError("('42P01', '[42P01] ERROR: relation "public.psqlcfg_lid_seq" does not exist;\nError while executing the query (7) (SQLExecDirectW)')"): error calling Python module function DbPostgresqlRE.reverseEngineer Failed 此错误消息出现在其末尾的完整错误日志是: Starting... Connect to source DBMS... - Connecting... Connecting to ... Opening ODBC connection to DSN=InventoryDBDS... Connected Connect to source DBMS done Reverse engineer selected schemata
  • (2059,“Authentication Plugin 'caching_sha2_password'”) when running server connected with MYSQL database on Django
    I want to configure my django project in order to connect it with database in MYSQL I created with workbench 8.0, and then I want to run the server by running python manage.py runserver from anaconda command prompt, so that I can use the Django interface to visualize and alter data. Please note that I don’t want to downgrade workbench 8.0. These are the steps I have made: From anaconda prompt: pip install mysqlclient In my project folder, in settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'schema_meta', 'USER': 'root', 'PASSWORD': '<mypassword>', 'HOST':
  • 无法以127.0.0.1:3306连接到mysql,并且用户'root'@'localhost'的用户root访问被拒绝(使用密码:是)(Failed to connect to mysql at 127.0.0.1:3306 with user root access denied for user 'root'@'localhost'(using password:YES))
    问题 我一直在尝试在工作台上创建新的数据库连接。 但是,每次我测试连接时,都会出现一条错误消息,指出 无法以127.0.0.1:3306连接到mysql,并且用户'root'@'localhost'的用户root访问被拒绝(使用密码:是) 我不知道此错误的原因。 我尝试卸载并重新安装工作台6.1和mysql服务器5.6,但该错误仍未解决。 回答1 首先检查它是工作台还是连接问题。 1)在Windows中,运行“ cmd”以打开终端 两者都尝试 2a) mysql -u root -p -h 127.0.0.1 -P 3306 2b) mysql -u root -p -h > localhost -P 3306 3)如果连接良好,则会出现密码提示,请查看是否可以使用正确的密码进行连接。 如果您的连接被拒绝,则只需授予权限 mysql >GRANT ALL ON [DatabaseName].* TO 'root'@'127.0.0.1' IDENTIFIED BY '[PASSWORD]'; 如果您的连接在这里被接受,那就像是工作台配置问题。 回答2 我有同样的问题。 我在Ubuntu上安装了全新的mysql,但我将mysql密码留空,因此我无法以任何方式连接到mysql。 最近,我发现有一个用户表,其中包含名称,主机,密码和一些插件。 因此,为我的用户root @
  • 将表从一个数据库复制到另一个数据库的最简单方法?(Easiest way to copy a table from one database to another?)
    问题 当数据库位于不同用户下时,将数据从一个数据库中的表复制到另一个数据库中的表的最佳方法是什么? 我知道我可以用 INSERT INTO database2.table2 SELECT * from database1.table1 但是这里的问题是, database1和database2都位于不同的MySQL用户下。 因此, user1只能访问database1而user2只能访问database2 。 任何想法? 回答1 如果您具有外壳程序访问权限,则可以使用mysqldump转储database1.table1的内容,并将其通过管道传输到mysql到database2 。 这里的问题是table1仍然是table1 。 mysqldump --user=user1 --password=password1 database1 table1 \ | mysql --user=user2 --password=password2 database2 也许您需要使用另一个查询将table1重命名为table2 。 另一种方法是,您可以使用sed在to管道之间将table1更改为table2。 mysqldump --user=user1 --password=password1 database1 table1 \ | sed -e 's/`table1`/`table2`/'
  • 删除要运行的前缀为test_的数据库中所有列的命令(Command to drop all columns in a database that have prefix test_ to run)
    问题 我如何在phpMyAdmin中运行命令,该命令将删除数据库中所有带有前缀test_ 。 回答1 要从表中删除列,请使用以下语法: alter table <tablename> drop column <columnname> 要查找数据库中以test_开头的表中的所有列,请执行以下操作: select column_name from INFORMATION_SCHEMA.columns where table_name = <table_name> and table_schema = <schema_name> and left(column_name, 5) = 'test_' -- not using "like" because '_' is a wildcard char 如果您是手动执行此操作,建议您运行以下查询,然后将结果粘贴到mysql查询界面中: select concat('alter table ', table_name, ' drop column ', column_name) from INFORMATION_SCHEMA.columns where table_name = <table_name> and schema_name = <schema_name> and left(column_name, 5) = 'test_'
  • 如何克服 ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)(how to overcome ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) permanently)
    问题 当我尝试通过键入 mysql 在 windows cmd 中打开 mysql 时。 发生以下错误。 ERROR 1045 (28000): Access denied for user ODBC@localhost (using password: NO) 然后通过查看类似的查询,我通过使用C:> mysql -u root -p然后输入密码以某种方式得到了一个临时解决方案, mysql正在工作。 但是当我关闭和打开时,同样的问题再次出现。 还有一件事是我创建了一个用户“管理员”。 但是当我尝试使用命令C:> mysql --user=admin --password=root打开 mysql 时,出现以下错误: C:\Users\abhay kumar>mysql --user=admin --password=root ERROR 1045 (28000): Access denied for user 'admin'@'localhost' (using password:NO) 任何帮助都会很棒 回答1 出于某种原因,即使您没有在设置时创建该用户,ODBC 用户也是 Windows 下的默认用户名。 简单地打字 mysql 不指定用户名将尝试连接不存在的 ODBC 用户名,并给出: 错误 1045 (28000):用户 'ODBC'@'localhost' 访问被拒绝
  • 使用带有INSERT语句的MySQL Workbench导出数据库(Export DataBase with MySQL Workbench with INSERT statements)
    问题 我正在尝试导出我在MySQL Workbench上拥有的数据库,但是在生成.sql文件上的INSERT语句时遇到了麻烦。 我要导出数据,我要对要导出的数据库进行逆向工程。 那我去 文件/导出/转发工程师SQL CREATE脚本 然后,在其中选择“为表生成INSERT语句”选项。 结果仅生成用于创建表的代码。 有什么方法可以为数据创建插入语句吗? 谢谢 回答1 对于旧版本: 打开MySQL Workbench>主页>管理导入/导出(右下)/选择所需的DB>高级导出选项选项卡>完全插入[选中]>开始导出。 对于6.1及更高版本,感谢ryandlf: 单击管理选项卡(在模式旁边),然后选择数据导出。 回答2 我在更新版本中找不到此选项时遇到一些问题,因此对于Mysql Workbench 6.3,请转到模式并输入您的连接: 转到工具->数据导出 点击高级选项 向下滚动并取消选中extended-inserts 然后导出所需的数据,您将看到如下结果文件: 回答3 您可以在命令行中使用mysqldump工具来执行此操作: mysqldump your_database_name > script.sql 这将创建一个带有数据库create语句和insert语句的文件。 有关mysql dump选项的更多信息:https://dev.mysql.com/doc/refman/5.7/en
  • 适用于mysql的开源ER绘图工具(Open source ER diagramming tool for mysql)
    问题 我想对我拥有的数据库的数据库定义转储进行逆向工程(导入图表形式),然后由于在此特定数据库中未定义外键,因此我希望能够手动创建表到表的键映射(使用crow脚符号)。 我看过MySQL Workbench,它能为我带来85%的效率。 好的小关系线不会出现,并且自动排列太可怕了。 快速搜索Google会发现其他几种选择,因此我可以自己评估这些选择,但是: 我能从你们那里获得一些反馈吗?在这种情况下,您最喜欢使用哪些工具? 您为什么喜欢那个(您的)特定工具? 我的预期目的是获取旧版数据库并进行培训。 数据库组织的工程师。 视觉辅助工具很漂亮。 我的后备选项是手动重新创建ER图。 250个以上的桌子不好玩。 回答1 您可能会签出DBDesigner ... 现在称为MySQL Workbench http://dev.mysql.com/downloads/workbench/5.0.html 回答2 SchemaCrawler是一个免费的开源工具,可以在GraphViz的帮助下生成ER图。 您可以使用正则表达式选择要显示的表和列。 关系是从常用的命名约定中推断出来的。 回答3 使用两个商业(但相对便宜!)工具取得了一些成功-但经过几个月的寻找,我仍然没有找到任何真正可靠的开源工具。 MyEclipseIDE是一种订阅产品,我认为它每年大约需要60美元。