`

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

阅读更多

原文地址:http://my.oschina.net/zimingforever/blog/64145

 

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 = ?;

 

 

分享到:
评论

相关推荐

    oracle到mysql建表语句迁移

    oracle向mysql建表语句的迁移。 直接表结构的生成sql脚本

    Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql

    当需要将MySQL的表结构迁移到Oracle数据库时,必须进行适当的语法转换。标题提到的"‘Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql’"是一个处理这种转换的工具或过程。 首先,让我们理解这个过程的一般...

    Mysql转oracle工具

    MySQL与Oracle的索引类型和约束定义(如主键、外键)也有所不同,转换时需要注意。 6. **存储过程和函数**: MySQL和Oracle的存储过程和函数语法有较大差异,需要逐个转换。例如,Oracle支持PL/SQL,而MySQL支持...

    sybase库中导出全部表的oracle、mysql和sybase的建表语句

    本主题聚焦于从Sybase数据库中导出全部表的建表语句,并转换为Oracle、MySQL和Sybase自身的格式。这样的操作对于跨平台的数据迁移、数据库结构比对以及系统兼容性测试具有很高的实用价值。 首先,让我们深入了解`...

    Oracle的表结构转成Mysql的表结构

    这将返回一个完整的MySQL创建表语句,用于创建指定表的等效MySQL表结构。 #### 总结 本文介绍的`fnc_table_to_mysql`函数能够有效地帮助用户从Oracle迁移到MySQL时,快速地生成对应的表结构。尽管存在一定的局限性...

    Oracle练习用表(DEPT、EMP、BONUS、SALGRADE)的建表语句

    Oracle数据库安装完毕,自带有很实用的练习用表:DEPT、EMP、BONUS、SALGRADE。很方便练习。 但是MySQL数据库安装完毕,却没有练习用表...特此,把Oracle这4个练习用表的建表语句,分别用Oracle语句和MySQL语句写出来。

    Java实现的一个idea插件,用于实体转Mysql、oracle建表语句和json请求体的工具

    Java实现的一个idea插件,用于实体转Mysql、oracle建表语句和json请求体的工具 使用 1、安装 下载发行版,打开idea:settings->plugins->intall plugin from disk 2、使用 打开实体类,右键选择ToMysql/ToOracle/To...

    Oracle Sql语句转换成Mysql Sql语句

    OracleSqlConvert4MysqlSqlTool.java这个源码工具,根据描述,应该是实现了自动读取Oracle SQL语句,分析其结构,并根据MySQL的语法规则进行转换,然后将转换后的SQL语句保存到指定的目标文件中。这个工具简化了手动...

    oracle 到mysql转换工具

    Oracle到MySQL转换工具是一款专为数据库迁移设计的实用软件,主要功能是将Oracle数据库中的数据结构和SQL语句转换成MySQL兼容的格式,方便用户在不同的数据库系统间进行数据迁移。这款工具通常适用于那些需要从...

    excel自动生成MySQL与oracle创建表语句

    支持Mysql与oracle自动在excel中生成创建sql语句,非常强大,如果想使用sqlserver看我上一资源

    quartz各种数据库的建表语句

    例如,"mysql.sql", "postgresql.sql", "oracle.sql", "mssql.sql"分别包含这些数据库的建表语句。运行相应的SQL文件后,确保检查表是否成功创建,并且没有语法错误。 在使用Quartz时,还需要注意以下几点: - 配置...

    python自动生成sql建表语句

    从标题"python自动生成sql建表语句"我们可以了解到,我们要讨论的是如何用Python编写程序,以读取某种数据源(例如Excel文件),然后根据数据结构自动生成适用于不同数据库系统的SQL创建表的语句,如Oracle、MySQL和...

    sql同步自动生成hive建表语句及注释

    基于oracle或者mysql生成自动建表同步源数据表结构及注释

    quartz建表语句

    例如,MySQL 的建表语句可能使用`INT AUTO_INCREMENT PRIMARY KEY`来创建主键,而Oracle可能使用`NUMBER(9) PRIMARY KEY`,DB2 则可能使用`BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY`。 3. **配置 ...

    excel根据宏指令生成MySQL、oracle、sqlserver数据库的SQL语句

    在excel中编写表结构后,可以在首页生成对应数据库脚本,包括MySQL、oracle、sqlserver,然后把该脚本在数据库中运行就可以了,还包括首页生成目录结构,有助于数据库表文档的编写

    Convert Mysql to Oracle 4.0.zip

    描述中提到,该工具能够快速地将MySQL中的表结构(建表语句)转化为Oracle兼容的建表语句。在数据库迁移过程中,这样的转换工具至关重要,因为MySQL和Oracle的SQL语法存在差异,例如数据类型、约束条件、索引创建等...

    mysql转化成sql server sql转化成mysql工具

    这时,可以使用如`mss2sql.rar`这样的工具,它通常能帮助用户自动化地将MySQL的表结构、数据、视图、存储过程等对象转换为SQL Server兼容的脚本,从而实现迁移。 转换过程一般包括以下步骤: 1. 数据库对象分析:...

    flowable-6.7.2数据库建表sql脚本(mysql+oracle).zip

    这个文件包含了Flowable在MySQL数据库中的所有表结构创建语句。MySQL是一种广泛使用的开源关系型数据库管理系统,以其高并发性、稳定性以及易用性而受到欢迎。在Flowable中,这些表主要分为以下几类: 1. **流程...

    建表语句建表脚本

    在数据库管理中,建表语句(CREATE TABLE statement)是SQL语言的核心部分,用于定义数据库中的新表结构。它允许我们指定表的列、数据类型、约束条件等关键元素,从而构建符合业务需求的数据存储模型。以下是关于...

    数据库转换工具MySQL 转为SqlServer 脚本

    - **分析和转换**:SSMA会扫描MySQL数据库,识别其结构,并尝试将其转换为SQL Server的语法。 - **评估和修复**:转换后,工具会提供一份报告,指出可能存在的不兼容问题。开发者需要根据报告修复问题,例如调整...

Global site tag (gtag.js) - Google Analytics