DROP PROCEDURE IF EXISTS Proc;

DELIMITER //
CREATE PROCEDURE Proc(database_name varchar(50),table_name_ varchar(50))
BEGIN
DROP table IF EXISTS fk_view;
DROP table IF EXISTS col_view;
CREATE  table fk_view (
SELECT
    b.TABLE_NAME 表,
    b.COLUMN_NAME AS 栏位,
    b.REFERENCED_TABLE_NAME AS 参考表,
    b.REFERENCED_COLUMN_NAME AS 参考栏位
FROM
    information_schema.KEY_COLUMN_USAGE as b
WHERE
    b.TABLE_Schema = database_name
AND b.table_name = table_name_ and  (REFERENCED_TABLE_NAME<>'' or CONSTRAINT_name='PRIMARY')
);

CREATE  table col_view (
SELECT
            table_name 表名,
            COLUMN_NAME 字段名,
            COLUMN_type 字段类型
        FROM
            information_schema.COLUMNS
        WHERE
            TABLE_Schema = database_name
        AND table_name IN (
            SELECT
                table_name
            FROM
                information_schema.TABLES
            WHERE
                table_type = 'BASE TABLE'
            AND TABLE_Schema = database_name
        )
        AND table_name = table_name_
);
select * from col_view as a LEFT JOIN fk_view as b on b.`栏位`=a.`字段名`;
DROP table IF EXISTS fk_view;
DROP table IF EXISTS col_view;
END//
DELIMITER ;

CALL Proc('hjf_jianzheng','sy_user');

mysql存储过程,获取指定数据库的某个表的字段信息的更多相关文章

  1. 查看mysql字符集、修改数据库、数据表、字段字符集

    查看所有表的字符集 SELECT table_name, table_type, engine, version, table_collation FROM information_schema.ta ...

  2. 使用sql查询mysql/oracle/sql server/gp数据库中指定表的字段信息(字段名/字段类型/字段长度/是否是主键/是否为空)

    1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip ...

  3. mysql统计指定数据库的各表的条数

    mysql统计指定数据库的各表的条数 SELECT table_schema,table_name,table_rows,CREATE_TIME FROM TABLES WHERE TABLE_SCH ...

  4. SQL获取所有数据库名、表名、储存过程以及参数列表

    SQL获取所有数据库名.表名.储存过程以及参数列表 1.获取所有用户名:SELECT name FROM Sysusers where status='2' and islogin='1'islogi ...

  5. Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。

    --获取所有数据库名: SELECT name FROM master..sysdatabases WHERE name NOT IN ( 'master', 'model', 'msdb', 'te ...

  6. Linux系统下授权MySQL账户访问指定数据库和数据库操作

    Linux系统下授权MySQL账户访问指定数据库 需求: 1.在MySQL中创建数据库mydata 2.新建MySQL账户admin密码123456 3.赋予账户admin对数据库mydata具有完全 ...

  7. mysql中通过sql语句查询指定数据表的字段信息

      mysql数据库在安装完成时,自动创建了information_schema.mysql.test这三个数据库.其中,information_schema记录了创建的所有数据库的相关信息,因此可以 ...

  8. [MySQL] INFORMATION_SCHEMA 数据库包含所有表的字段

    sql注入后可以通过该数据库获取所有表的字段信息 1. COLLATIONS表 提供有关每个字符集的排序规则的信息. COLLATIONS表包含以下列: COLLATION_NAME 排序规则名称. ...

  9. mysql查看当前所有数据库中的表大小和元信息information_schema

    查看所有mysql数据库表和索引大小 mysql查看当前所有的数据库和索引大小 ,),' mb') as data_size, concat(,),'mb') as index_size from i ...

随机推荐

  1. iterator [ɪtə'reɪtə] 遍历器

    lterator 遍历器 遍历器是一种接口,它为不同的数据结构提供了统一的访问机制. 如果一个数据结构具有遍历器接口,那么就可以依次处理该数据结构的成员. 当前 javascript 用来表示集合的数 ...

  2. linux sort 、uniq 命令

    以文件的每行为单位,从左往右依次按ascii码进行比较 sort sort.txt #默认为升序 -u:去除重复行 sort -u sort.txt -r:降序排列 sort -r sort.txt ...

  3. vcs github gitlab git名词解释

    vcs:version control system git:一个版本管理工具,从git上clone,除了代码,还会把版本信息也给你clone下来. github:一个基于git的代码管理网站,支持公 ...

  4. CSS:给 input 中 type="text" 设置CSS样式

    input[type="text"], input[type="password"] {    border: 1px solid #ccc;    paddi ...

  5. 探秘蓝牙隐藏API

    上次讲解Android的蓝牙基本用法,这次讲得深入些,探讨下蓝牙方面的隐藏API.用过Android系统设置(Setting)的人都知道蓝牙搜索之后可以建立配对和解除配对,但是这两项功能的函数没有在S ...

  6. mosquitto 启动命令

    启动命令 mosquitto [-c config file] [ -d | --daemon ] [-p port number] [-v] -c 后面跟的是启动mosquitto可以调整的参数,比 ...

  7. mysql中日期操作

    1 获取当前时间 now() select now(); +---------------------+ | now() | +---------------------+ | -- :: | +-- ...

  8. python--迭代器的实现

    #!/usr/local/python/bin/python3 """ 一个迭代器的例子 """ class exsample(object ...

  9. [转]C#如何判断操作系统位数是32位还是64位

    方法一: 对于C#来说,调用WMI是一种简单易行的方式.我们可以用Win32_Processor类里面的AddressWidth属性来表示系统的位宽.AddressWidth的值受CPU和操作系统的双 ...

  10. php调试函数

    void debug_print_backtrace ([ int $options = 0 [, int $limit = 0 ]] ) array debug_backtrace ([ int $ ...