oracle、sqlserver、mysql、postgresql获取所有表名
时间: 2023-12-07 17:03:10 浏览: 35
不同的数据库管理系统(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、mysql、sqlserver、postgresql查询所有函数名称
以下是各个数据库查询所有函数名称的SQL语句:
Oracle:
```
SELECT object_name
FROM user_objects
WHERE object_type = 'FUNCTION';
```
MySQL:
```
SELECT name
FROM mysql.proc
WHERE type = 'FUNCTION';
```
SQL Server:
```
SELECT name
FROM sys.objects
WHERE type_desc = 'SQL_SCALAR_FUNCTION'
OR type_desc = 'SQL_TABLE_VALUED_FUNCTION';
```
PostgreSQL:
```
SELECT routine_name
FROM information_schema.routines
WHERE routine_type = 'FUNCTION'
AND specific_schema = 'public';
```