MySQL Model SQL

发布时间 2023-12-01 17:22:37作者: jonney_wang
USE INFORMATION_SCHEMA;
SELECT
    CONCAT(
        '/// <summary>\r\n/// ',
        COLUMN_COMMENT,
        '\r\n/// </summary>\r\npublic ',
        CASE DATA_TYPE
        WHEN 'bigint' THEN
        IF(IS_NULLABLE='YES','int?','int')
        WHEN 'int' THEN
        IF(IS_NULLABLE='YES','int?','int')
        WHEN 'smallint' THEN
        IF(IS_NULLABLE='YES','int?','int')
        WHEN 'tinyint' THEN
        IF(IS_NULLABLE='YES','int?','int')
        WHEN 'varchar' THEN
        'string'
        WHEN 'varbinary' THEN
        'string'
        WHEN 'text' THEN
        'string'
        WHEN 'char' THEN
        'string'
        WHEN 'datetime' THEN
         IF(IS_NULLABLE='YES','DateTime?','DateTime')
        WHEN 'date' THEN
         IF(IS_NULLABLE='YES','DateTime?','DateTime')
        WHEN 'timestamp' THEN
         IF(IS_NULLABLE='YES','DateTime?','DateTime')
        WHEN 'time' THEN
         IF(IS_NULLABLE='YES','DateTime?','DateTime')
        WHEN 'bit' THEN
         IF(IS_NULLABLE='YES','bool?','bool')
        WHEN 'decimal' THEN
         IF(IS_NULLABLE='YES','decimal?','decimal')
        ELSE DATA_TYPE
        END,
        ' ',
        COLUMN_NAME,
        ' {get;set;}\r\n'
    )
FROM COLUMNS
WHERE  TABLE_SCHEMA = 'test' AND TABLE_NAME = 'test';