Posted under » MySQL on 19 May 2023
When we want to see all the databases in our server
select tab.table_schema as database_schema,
tab.table_name as table_name,
col.ordinal_position as column_id,
col.column_name as column_name,
col.data_type as data_type,
case when col.numeric_precision is not null
then col.numeric_precision
else col.character_maximum_length end as max_length,
case when col.datetime_precision is not null
then col.datetime_precision
when col.numeric_scale is not null
then col.numeric_scale
else 0 end as 'precision'
from information_schema.tables as tab
inner join information_schema.columns as col
on col.table_schema = tab.table_schema
and col.table_name = tab.table_name
where tab.table_type = 'BASE TABLE'
and tab.table_schema not in ('information_schema','mysql',
'performance_schema','sys')
-- uncomment line below for current database only
-- and tab.table_schema = database()
order by tab.table_name,
col.ordinal_position;
Or if you just want to see one schema 'abc100' and less precision
select tab.table_schema as database_schema,
tab.table_name as table_name,
col.ordinal_position as column_id,
col.column_name as column_name,
col.data_type as data_type
from information_schema.tables as tab
inner join information_schema.columns as col
on col.table_schema = tab.table_schema
and col.table_name = tab.table_name
where tab.table_type = 'BASE TABLE'
and tab.table_schema not in ('information_schema','mysql',
'performance_schema','sys') and tab.table_schema = 'abc100'
-- uncomment line below for current database only
-- and tab.table_schema = database()
order by tab.table_name,
col.ordinal_position;
You can still use the good ol' describe method
mysql> DESCRIBE abc100; +---------+-------------+------+-----+---------+ | Field | Type | Null | Key | Default | +---------+-------------+------+-----+---------+ | name | varchar(20) | YES | | NULL | | owner | varchar(20) | YES | | NULL | | species | varchar(20) | YES | | NULL | | sex | char(1) | YES | | NULL | | birth | date | YES | | NULL | | death | date | YES | | NULL | +---------+-------------+------+-----+---------+
See also Basic Mysql commands