列出 syBase 数据库中的所有表

list all tables from a database in syBase

我在 sql 服务器 2012 中使用

USE myDatabase;
GO
SELECT  *
FROM    sys.objects
WHERE   type = 'U';

是否可以在 syBase 中做同样的事情?

为了获得当前数据库中所有 table 的列表,您可以按类型 = ‘U’ 过滤系统对象 table 例如:

select convert(varchar(30),o.name) AS table_name
from sysobjects o
where type = 'U'
order by table_name

进一步Reference

这里是获取 MSSQLSQL Server database 中所有 table 名称的示例:

USE test; //SELECT DATABASE
SELECT table_name FROM information_schema.tables WHERE table_type = 'base table'

或者您可以使用 sys.tables 从所选数据库中获取所有 table 名称,如以下 SQL 查询

所示
USE test; //SELECT DATABASE
SELECT * FROM sys.tables

这就是如何从 SQL 服务器的数据库中查找所有 table 名称的全部内容。

对于 SQL Anywhere 16,此查询工作正常。

select * from sys.SYSTABLE

它给出了 table_names 的列表以及 table id、table 页数等信息

为了列出所有 table 和行数,可以使用以下查询。

select convert(varchar(30),o.name) AS table_name,
row_count(db_id(), o.id) AS row_count
from sysobjects o
where type = 'U'
order by table_name

为了获得 table 的列表,其中 table 的名称类似于,请使用以下查询。

这里的table_name需要替换成你想要的名字。

select convert(varchar(30),o.name) AS table_name,
row_count(db_id(), o.id) AS row_count
from sysobjects o
where type = 'U' and o.name like '%table_name%'
order by table_name