mysql建表语句 numeric_mysql-查看表结构、建表语句和与oracle的比较(转)

本文介绍了如何在MySQL和Oracle中查看表结构、建表语句以及两者之间的数据字典比较。包括查看表的字段、类型、索引、注释等详细信息,并提供了相应的SQL查询语句。
摘要由CSDN通过智能技术生成

1、查看表结构

desc tableName;

show columns from tableName;

describe tableName;

这三个显示的结果都是一样的,显示表中filed,type,null,key,default及extra。

--TABLE_SCHEMA表示数据库名称

select * from information_schema.COLUMNS where TABLE_SCHEMA='gm' and TABLE_NAME='t_role';

这个显示的结果就比较全了。

2、查看建表语句

show create table tableName;

3、接下来,来点更全的sql,这个是用来同步mysql和orac数据字典的所有sql。

mysql部分:

## 查看所有的库

SELECT

lower(schema_name) schema_name

FROM

information_schema.schemata

WHERE

schema_name NOT IN (

'mysql',

'information_schema',

'test',

'search',

'tbsearch',

'sbtest',

'dev_ddl'

)

## 产看某一个库中的所有表

SELECT

table_name,

create_time updated_at,

table_type,

ENGINE,

table_rows num_rows,

table_comment,

ceil(data_length / 1024 / 1024) store_capacity

FROM

information_schema.TABLES

WHERE

table_schema = 'employees'

AND table_name NOT LIKE 'tmp#_%' ESCAPE '#'

##查看某一个库下某一个表的所有字段

SELECT

lower(column_name) column_name,

ordinal_position position,

column_default dafault_value,

substring(is_nullable, 1, 1) nullable,

column_type data_type,

column_comment,

character_maximum_length data_length,

numeric_precision data_precision,

numeric_scale data_scale

FROM

information_schema.COLUMNS

WHERE

table_schema = 'employees'

AND table_name = 'employees';

## 查看某一个库下某一张表的索引

SELECT DISTINCT

lower(index_name) index_name,

lower(index_type) type

FROM

information_schema.statistics

WHERE

table_schema = 'employees'

AND table_name = 'employees';

## 查看某一个库下某一张表的某一个索引

SELECT

lower(column_name) column_name,

seq_in_index column_position

FROM

information_schema.statistics

WHERE

table_schema = 'employees'

AND table_name = 'employees'

AND index_name = 'primary';

## 查看某一个库下某一个表的注释

SELECT

table_comment comments

FROM

information_schema.TABLES

WHERE

table_schema = 'employees'

AND table_name = 'employees';

## 查看某一个库下某一个表的列的注释

SELECT

lower(column_name) column_name,

column_comment comments

FROM

COLUMNS

WHERE

table_schema = 'employees'

AND table_name = 'employees';

oracle部分:

#table structure:

SELECT

lower(table_name) table_name,

TEMPORARY,

tablespace_name,

num_rows,

duration,

'ORACLE' table_type,

partitioned,

(

SELECT

ceil(sum(bytes) / 1024 / 1024)

FROM

dba_segments b

WHERE

a. OWNER = b. OWNER

AND a.table_name = b.segment_name

) AS store_capacity

FROM

dba_tables a

WHERE

OWNER = ?

AND table_name NOT LIKE 'TMP%';

SELECT

lower(column_name) column_name,

column_id position,

data_type,

data_length,

data_precision,

data_scale,

nullable,

data_default default_value,

default_length

FROM

dba_tab_columns

WHERE

OWNER = ?

AND table_name = ?;

# index

SELECT

lower(index_name) index_name,

index_type type

FROM

dba_indexes

WHERE

OWNER = ?

AND table_name = ?

AND index_name NOT LIKE 'SYS_IL%';

SELECT

lower(column_name) column_name,

column_position,

descend

FROM

dba_ind_columns

WHERE

table_owner = ?

AND table_name = ?

AND index_name = ?;

#collect description

SELECT

comments

FROM

dba_tab_comments

WHERE

OWNER = ?

AND table_name = ?;

SELECT

lower(column_name) column_name,

comments

FROM

dba_col_comments

WHERE

OWNER = ?

AND table_name = ?;

#database

SELECT

lower(username) username

FROM

dba_users

WHERE

username NOT IN (

'STDBYPERF',

'READONLY',

'APPQOSSYS',

'ANYSQL',

'DBFLASH',

'SYS',

'SYSTEM',

'MONITOR',

'TBSEARCH',

'MANAGER',

'SYSMAN',

'EXFSYS',

'WMSYS',

'DIP',

'TSMSYS',

'ORACLE_OCM',

'OUTLN',

'DBSNMP',

'PERFSTAT',

'SEARCH',

'TOOLS',

'TBDUMP',

'DMSYS',

'XDB',

'ANONYMOUS',

'DEV_DDL'

);

#segsize

SELECT

round(sum(bytes) / 1024 / 1024, 0) mbytes

FROM

dba_segments

WHERE

OWNER = ?

AND segment_name = ?;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值