oracle、sqlserver、mysql、postgresql获取所有表名
时间: 2023-12-07 14:03:10 浏览: 93
不同的数据库管理系统(DBMS)对应的SQL语句略有不同:
- Oracle:`SELECT table_name FROM all_tables;`
- SQL Server:`SELECT name FROM sys.tables;`
- MySQL:`SELECT table_name FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_schema='database_name';`
- PostgreSQL:`SELECT table_name FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_schema='schema_name';`
这些查询语句中的关键是`information_schema`,它是一个标准的SQL元数据信息视图,提供了关于数据库对象的信息。查询结果中可能包含系统表和视图,可以通过添加适当的过滤条件来排除这些对象。注意,这些查询语句都是区分大小写的。如果你想要查询某个特定模式下的所有表,可以在查询语句中添加模式名或者数据库名。
相关问题
oracle、sqlserver、mysql、postgresql根据表名获取创建表的DDL
不同的数据库管理系统(DBMS)对应的SQL语句略有不同:
- Oracle:`SELECT dbms_metadata.get_ddl('TABLE', 'table_name') FROM dual;`
- SQL Server:`SELECT definition FROM sys.sql_modules WHERE object_id = object_id('table_name');`
- MySQL:`SHOW CREATE TABLE table_name;`
- PostgreSQL:`SELECT pg_get_tabledef('table_name')`
注意,这些查询语句都是区分大小写的。另外,MySQL和PostgreSQL的查询语句返回的是一个包含表DDL的字符串,而Oracle和SQL Server的查询语句返回的是一个包含DDL的结果集。
oracle、sqlserver、mysql、postgresql根据视图名获取视图的DDL
不同的数据库管理系统(DBMS)对应的SQL语句略有不同:
- Oracle:`SELECT dbms_metadata.get_ddl('VIEW', 'view_name') FROM dual;`
- SQL Server:`SELECT definition FROM sys.sql_modules WHERE object_id = object_id('view_name');`
- MySQL:`SHOW CREATE VIEW view_name;`
- PostgreSQL:`SELECT pg_get_viewdef('view_name', true);`
注意,这些查询语句都是区分大小写的。另外,MySQL和PostgreSQL的查询语句返回的是一个包含视图DDL的字符串,而Oracle和SQL Server的查询语句返回的是一个包含DDL的结果集。
阅读全文