Как просмотреть структуру таблиц DB2 - PullRequest
41 голосов
/ 04 июня 2010

Как просмотреть структуру таблицы в базе данных DB2

Ответы [ 19 ]

1 голос
/ 26 ноября 2013

Центр управления уже получил такую ​​возможность. Это чуть ниже списка таблиц.

enter image description here

1 голос
/ 04 июня 2010

для получения всех таблиц: (Вы можете ограничить схему своей схемой)

select * from syscat.tables

чтобы получить все столбцы: (где tabname = your_tabname)

select * from syscat.columns
1 голос
/ 12 июня 2015

если вы используете Aqua Data studio, просто напишите select * from table_name и вместо нажатия execute нажмите Ctrl + D.

Вы сможете увидеть описание для таблицы

0 голосов
/ 02 июля 2014

Самый простой способ, о котором уже говорили многие, - это описать таблицу

.

Однако вы также можете получить некоторую такую ​​же + дополнительную информацию от

db2> SELECT * SYSCAT.TABLES

db2> SELECT * FROM SYSCAT.COLUMNS

Я обычно использую SYSCAT.COLUMNS, чтобы найти связанные таблицы в базе данных, где я уже знаю имя столбца:)

Другой хороший способ, если вы хотите получить DDL для конкретной таблицы или всей базы данных, - это использовать db2look

# db2look -d *dbname* -t *tablename* > tablestructure.out

Это создаст для вас файл «.out», который будет содержать скрипт DDL конкретной таблицы.

# db2look -d *dbname* -e > dbstructure.out

Это сгенерирует DDL всей базы данных в виде одного файла сценария, это обычно используется для репликации базы данных, «-e» означает, что требуется экспортировать подходящий DDL, воссоздать точно такую ​​же настройку в новой базе данных.

Надеюсь, что это может помочь кому-то, ищущему такие ответы:)

0 голосов
/ 12 октября 2016

В OP не упоминается, обсуждается ли это DB2 / 400, но я обнаружил, что единственный способ получить структуру таблицы, включая описания имен столбцов, - использовать DSPFFD.

DSPFFD FILE(TBNAME) OUTPUT(*OUTFILE) OUTFILE(SOMELIB/TBDESC)

Это помещает описание TBNAME в таблицу TBDESC в библиотеке SOMELIB. Затем вы можете запросить это с помощью:

select * from SOMELIB/TBDESC

0 голосов
/ 14 июня 2010

Выполните следующие простые шаги:

  1. Выберите окно Браузеры.
  2. Извлечь (развернуть) его.
  3. Выберите и распакуйте (разверните) список таблиц.
  4. Выберите нужную таблицу и извлеките (разверните) ее.
  5. При двойном щелчке на опции кода открывается структура таблицы.
0 голосов
/ 15 января 2016

Я использую Aquadata Studio 12.0.23, что является несколькими версиями, кроме самых новых. Так что ваш опыт может быть лучше, чем мой. Я обнаружил, что лучший способ получить обзор - это использовать генератор ERD. Это заняло пару часов, поскольку нормализация не была концепцией, использовавшейся при разработке этой базы данных почти 30 лет назад. Мне удалось получить определения для всех объектов за несколько часов, с файлом для каждого.

0 голосов
/ 12 сентября 2015
drop view lawmod9t.vdesc

create view lawmod9t.vDesc as select 
       upper(t.table_cat) as Catalog, 
       upper(t.table_schem) as Schema, 
       upper(t.table_name) as table, 
       t.table_text as tableDesc, 
       c.system_column_name as colname_short, 
       c.column_name as colname_long, 
       c.column_text as coldesc, 
       c.Type_Name as type, 
       c.column_Size as size
from sysibm.SQLColumns c
inner join sysibm.sqltables t
on c.table_schem = t.table_schem
and c.table_name = t.table_name

select * from vdesc where table = 'YPPPOPL'
0 голосов
/ 08 февраля 2015

Я использую DB2 / LINUXX8664 10.5.3, и describe select * from schema_name.table_name работает для меня.

Однако describe table schema_name.table_name завершается с ошибкой:

SQL0100W No row was found for FETCH, UPDATE or DELETE; or the result of a query is an empty table. SQLSTATE=02000

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...