是否有DESCRIBE在幕后運行的查詢?
例如:
DESCRIBE myTableDESCRIBE myView
有什么我可以針對informational_schema運行該查詢的東西,還是僅限內部?
uj5u.com熱心網友回復:
我不認為DESCRIBE是標準的 SQL。在 MySQL 中提供它是為了與同名的 Oracle 陳述句兼容。這里有這樣的評論:https ://github.com/mysql/mysql-server/blob/8.0/sql/sql_yacc.yy#L13974-L13980
/* A Oracle compatible synonym for show */ describe_stmt: describe_command table_ident opt_describe_column
兩者SHOW COLUMNS并DESCRIBE <table>最終呼叫相同的函式 ,build_show_columns_query()在這里實作:
https://github.com/mysql/mysql-server/blob/8.0/sql/dd/info_schema/show.cc#L612-L617
它基本上是一個針對 的查詢INFORMATION_SCHEMA.COLUMNS,帶有一個WHERE子句來選擇一個特定的模式和表,以及可選的其他用戶定義的條件。您可以自己撰寫相同的查詢。
SQL 的其他實作有不同的命令來提供類似的元資料:
- PostgreSQL 使用
\d <table>客戶端命令:https ://www.eduba.com/postgresql-describe-table/ - Microsoft SQL Server 使用
exec sp_columns <table>:https ://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-columns-transact-sql?view=sql-server-ver15 - SQLite 使用
pragma table_info(<table>):https ://www.sqlitetutorial.net/sqlite-describe-table/ - Informix 使用
info columns for <table>:https ://www.ibm.com/docs/en/informix-servers/14.10?topic=statements-info-statement
如果您想知道任何其他品牌的等價物,也許您可??以在 Google 上搜索“在 <brand> 中描述表”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/464312.html
