2009-02-25 33 views
11

Tôi vừa tải xuống phiên bản dành cho nhà phát triển của SQL Anywhere. Làm thế nào tôi có thể nhận được một danh sách các bảng trong cơ sở dữ liệu mà tôi kết nối với ?. Ngoài ra đối với một bảng cụ thể, làm cách nào để có được siêu dữ liệu cho bảng đó (tên cột, loại, v.v ...)?Chi tiết bảng trong SQL ở bất kỳ đâu?

+0

tôi có câu trả lời cho một phần của câu hỏi của tôi liên quan đến chi tiết bảng ở đây: http://stackoverflow.com/questions/100504/what-is-the-sql-command-to-return-the -nên-tên-bàn-một-số Nhưng tôi vẫn không biết cách tìm danh sách các bảng. Tôi đã có một ý tưởng mặc dù, hãy để tôi thử :) – virtualmic

Trả lời

11

tôi đã không sử dụng SQL Anywhere trong nhiều năm tuy nhiên tuyên bố sau nên làm việc

select c.column_name 
from systabcol c 
    key join systab t on t.table_id=c.table_id 
    where t.table_name='tablename' 

này được cribbed trực tiếp từ an earlier question

1

Giả sử Windows: bắt đầu - All Programs - SQL Anywhere 11 - Sybase Trung tâm

Sau đó kết nối - Kết nối với SQL mọi lúc 11 ...

Chọn "Tên nguồn dữ liệu ODBC" và p ick "Bản trình diễn SQL Anywhere 11"

Bấm OK để xem chế độ xem dạng cây của các đối tượng khác nhau trong cơ sở dữ liệu (bảng vv).

5
select * from systable // lists all tables 
select * from syscolumn // lists all tables columns 
4

Đối với một bảng cụ thể:

describe TableName 

sẽ trở lại các cột của bảng, với một dấu hiệu của loại của cột, cho dù đó là nullable và một khóa chính

1
SELECT b.name + '.' + a.name 
    FROM sysobjects a, sysusers b 
WHERE a.type IN ('U', 'S') 
    AND a.uid = b.uid 
ORDER BY b.name, a.name 

này sẽ mang lại danh sách các bảng và người dùng có quyền truy cập vào chúng.

0

Hệ thống proc, sa_describe_query là khá hữu ích

SELECT * FROM sa_describe_query('select * from TableName')

0

Để có được danh sách của tất cả các bảng được sử dụng trong cơ sở dữ liệu:

select * from systable //without 's' 

Để có được danh sách của tất cả các cột:

select * from syscolumn //without 's' 
+0

Điều này đã được trả lời ở trên: http://stackoverflow.com/a/682626/334849 – LittleBobbyTables

-1

Để chọn một chi tiết bảng

select * from Table_Name; 

Để chọn hai bảng khác nhau và Bản đồ với id

select * from Table_1 t1,Table2 t2 where t2.id=ti.id; 
-1

chọn * từ user_tables;

desc tablename;

+0

Đó không phải là hợp lệ cho SQL bất cứ nơi nào. –

Các vấn đề liên quan