服务器中sql如何查主键

fiy 其他 61

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在服务器中,可以通过以下几种方式查找表中的主键。

    1. 使用SHOW命令:可以使用SHOW命令来查看指定表的主键信息。语法如下:
    SHOW KEYS FROM 表名 WHERE Key_name = 'PRIMARY';
    

    其中,'表名'为需要查询的表的名称,'PRIMARY'为主键的名称。

    1. 查看INFORMATION_SCHEMA:INFORMATION_SCHEMA是一个存储了数据库的元数据(metadata)的数据库。可以使用以下SELECT语句来查询主键信息:
    SELECT COLUMN_NAME 
    FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
    WHERE TABLE_SCHEMA = '数据库名称' 
    AND TABLE_NAME = '表名' 
    AND CONSTRAINT_NAME = 'PRIMARY';
    

    其中,'数据库名称'为需要查询的数据库的名称,'表名'为需要查询的表的名称。

    1. 使用DESCRIBE命令:可以使用DESCRIBE命令来显示表的结构信息,包括主键。语法如下:
    DESCRIBE 表名;
    

    执行该命令后,会显示表的列信息,主键列会有一个 'PRI' 的标记。

    通过以上几种方式,你可以轻松查找到服务器中表的主键信息。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在服务器中,可以使用SQL查询主键的方法取决于所使用的数据库管理系统(DBMS)。以下是一些常用的DBMS及其查询主键的方法:

    1. MySQL/MariaDB:

      • 使用DESCRIBE命令查看表结构,并找到主键列,例如:
        DESCRIBE table_name;
        
      • 使用SHOW CREATE TABLE命令查看表结构,主键将以KEY/PRIMARY KEY关键字标识,例如:
        SHOW CREATE TABLE table_name;
        
    2. Oracle:

      • 查询表结构并找到主键列,例如:
        SELECT *
        FROM all_constraints
        WHERE constraint_type = 'P'
        AND table_name = 'table_name';
        
      • 查询主键列的详细信息,例如:
        SELECT *
        FROM all_cons_columns
        WHERE constraint_name = 'constraint_name';
        
    3. SQL Server:

      • 查询表结构并找到主键列,例如:
        SELECT *
        FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
        WHERE CONSTRAINT_NAME LIKE 'PK%'
        AND TABLE_NAME = 'table_name';
        
      • 查询主键列的详细信息,例如:
        SELECT *
        FROM sys.key_constraints
        WHERE name = 'constraint_name';
        
    4. PostgreSQL:

      • 查询表结构并找到主键列,例如:
        SELECT *
        FROM information_schema.key_column_usage
        WHERE constraint_name LIKE 'pk%'
        AND table_name = 'table_name';
        
      • 查询主键列的详细信息,例如:
        SELECT *
        FROM information_schema.table_constraints
        WHERE constraint_name = 'constraint_name';
        

    无论使用哪种方法,都可以在结果集中找到具有PRIMARY KEY关键字的列或所有在主键约束下的列。这些列将是表中的主键列。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在服务器中,通过SQL语句可以查询主键信息。以下是一种常见的查询主键的方法:

    1. 获取表信息
      使用 DESCRIBESHOW COLUMNS FROM 命令,可以获取表的结构信息,包括字段名、类型、主键等。

    示例:

    DESCRIBE `table_name`;
    

    SHOW COLUMNS FROM `table_name`;
    
    1. 查询主键
      根据表的结构信息,查找主键字段即可。通常主键字段会有特殊的属性标记,如 PRIPRIMARY KEY,可以根据这个特性进行判断。

    示例:

    SELECT COLUMN_NAME
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_SCHEMA = 'database_name'  -- 数据库名
      AND TABLE_NAME = 'table_name'      -- 表名
      AND COLUMN_KEY = 'PRI';             -- 主键标记
    

    另外,不同的数据库系统可能有不同的查询方法和语法。下面是几个常见的数据库系统中查询主键的方法:

    • MySQL/MariaDB
    SELECT COLUMN_NAME
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_SCHEMA = 'database_name'
      AND TABLE_NAME = 'table_name'
      AND COLUMN_KEY = 'PRI';
    
    • PostgreSQL
    SELECT a.attname AS column_name
    FROM pg_index i
    JOIN pg_attribute a ON a.attrelid = i.indrelid
    WHERE i.indrelid = 'table_name'::regclass
      AND a.attnum = ANY(i.indkey)
      AND i.indisprimary;
    
    • SQL Server
    SELECT COLUMN_NAME
    FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS TC
      JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KU
        ON TC.CONSTRAINT_TYPE = 'PRIMARY KEY'
        AND TC.CONSTRAINT_NAME = KU.CONSTRAINT_NAME
        AND KU.TABLE_NAME = 'table_name'
        AND KU.TABLE_SCHEMA = 'database_name';
    
    • Oracle
    SELECT COLS.TABLE_NAME, COLS.COLUMN_NAME
    FROM ALL_CONSTRAINTS CONS, ALL_CONS_COLUMNS COLS
    WHERE COLS.TABLE_NAME = 'table_name'
      AND COLS.OWNER = 'database_name'
      AND CONS.CONSTRAINT_TYPE = 'P'
      AND COLS.CONSTRAINT_NAME = CONS.CONSTRAINT_NAME
      AND COLS.OWNER = CONS.OWNER;
    

    根据具体的数据库系统,使用相应的SQL语句来查询主键字段。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部