自动生成 Insert、Update SQL(MySQL)

SELECT
    CONCAT(
        'INSERT INTO ',
        CONCAT( '`', table_name, '`' ),
        ' (',
        GROUP_CONCAT( CONCAT( '`', COLUMN_NAME, '`' ) ),
        ') VALUE (',
        GROUP_CONCAT( CONCAT( '@', COLUMN_NAME ) ),
        ');' 
    ) 
FROM
    information_schema.COLUMNS 
WHERE
    table_schema = 'tsc_small' 
    AND table_name = 'users' 
    AND column_key != 'PRI'
SELECT
    CONCAT( 'UPDATE ', CONCAT( '`', table_name, '`' ), GROUP_CONCAT( CONCAT( ' SET `', COLUMN_NAME, '` = @', COLUMN_NAME ) ), ' WHERE ...;' ) 
FROM
    information_schema.COLUMNS 
WHERE
    table_schema = 'tsc_small' 
    AND table_name = 'users' 
    AND column_key != 'PRI'
SELECT
  CONCAT(
    CONCAT(
      'INSERT INTO ',
      CONCAT( '`', table_name, '`' ),
      ' (',
      GROUP_CONCAT( CONCAT( '`', COLUMN_NAME, '`' ) ),
      ') VALUE (',
      GROUP_CONCAT( CONCAT( '@', COLUMN_NAME ) ),
      ')' 
    ),
    ' ON DUPLICATE KEY UPDATE ',
    CONCAT(
    GROUP_CONCAT( CONCAT( '`', COLUMN_NAME, '`=@', COLUMN_NAME ) )) 
  ) 
FROM
  information_schema.COLUMNS 
WHERE
  table_schema = 'cross_over_repurchase' 
  AND table_name = 'user'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容