从MYSQL格式化视图的sql的好方法是什么

时间:2010-08-09 00:34:23

标签: sql mysql format code-formatting

正如大多数人所知,当你在MYSQL中保存一个视图然后稍后检索它时,它都是原生的MYSQL,看起来很糟糕 - 没有行间距,缩进,大量的UTF编码标签散落在你的代码周围看起来像sql汤。

有没有人有一个程序或推荐一个netbeans插件,我可以用来格式化这个SQL。这是我的观点,如果您愿意,可以将其格式化并作为示例重新发布:)

    /* ALGORITHM=UNDEFINED */ SELECT `e`.`Australia` AS `audit_anps`,`e`.`audit_end_date` AS `audit_auditenddate`,`e`.`BumperIssueDates` AS `audit_bumperissuedates`,`e`.`BumperIssuesLinked` AS `audit_bumperissuelinked`,`e`.`BumperIssues` AS `audit_bumperissues`,`e`.`bundledSales` AS `audit_bundledsales`,`e`.`CoverPrice` AS `audit_coverprice`,`e`.`CoverPrice2` AS `audit_coverprice2`,`e`.`CoverPrice2Day` AS `audit_coverprice2day`,`e`.`CoverPrice3` AS `audit_coverprice3`,`e`.`CoverPrice3Day` AS `audit_coverprice3day`,`e`.`CoverPrice4` AS `audit_coverprice4`,`e`.`CoverPrice4Day` AS `audit_coverprice4day`,`e`.`CoverPriceDay` AS `audit_coverpriceday`,`e`.`timestamp` AS `audit_datecreated`,`e`.`weeksbetween` AS `audit_daysbetween`,_utf8'' AS `audit_dayspublished`,`e`.`AustraliaDigital` AS `audit_digital_anps`,`e`.`BumperIssueDatesD` AS `audit_digital_bumperissuedates`,`e`.`BumperIssuesD` AS `audit_digital_bumperissues`,`e`.`BumperIssuesLinkedD` AS `audit_digital_bumperissueslinked`,`e`.`bundledSalesDigital` AS `audit_digital_bundledsalesdigital`,`e`.`CoverPriceD` AS `audit_digital_coverprice`,`e`.`CoverPrice2D` AS `audit_digital_coverprice2`,`e`.`CoverPrice2DayD` AS `audit_digital_coverprice2day`,`e`.`CoverPrice3D` AS `audit_digital_coverprice3`,`e`.`CoverPrice3DayD` AS `audit_digital_coverprice3day`,`e`.`CoverPrice4D` AS `audit_digital_coverprice4`,`e`.`CoverPrice4DayD` AS `audit_digital_coverprice4day`,`e`.`CoverPriceDayD` AS `audit_digital_coverpriceday`,`e`.`ExcludedDatesD` AS `audit_digital_excludeddates`,`e`.`inclAccomAirlinesSalesDigital` AS `audit_digital_inclaccomairlinesales`,`e`.`inclEducationalSalesDigital` AS `audit_digital_incleducationalsales`,`e`.`inclEventSalesDigital` AS `audit_digital_incleventsales`,`e`.`inclMultiplePublicationSalesDigital` AS `audit_digital_inclmultiplepublicationsales`,`e`.`IssuesD` AS `audit_digital_issues`,`e`.`IssuesAuditedD` AS `audit_digital_issuesaudited`,`e`.`NonPublishingDatesD` AS `audit_digital_nonpublishingdates`,`e`.`RemarksD` AS `audit_digital_remarks`,`e`.`exclAustraliaOther` AS `audit_exclaustraliaother`,`e`.`exclInExcess` AS `audit_exclinexcess`,`e`.`ExcludedDates` AS `audit_excludeddates`,`e`.`Exclusions` AS `audit_exclusions`,`e`.`FrequencyID` AS `audit_frequencyid`,`e`.`inclAccomAirlineSales` AS `audit_inclaccomairlinesales`,`e`.`inclEducationalSales` AS `audit_incleducationalsales`,`e`.`inclEventSales` AS `audit_incleventsales`,`e`.`inclMultiplePublicationSales` AS `audit_inclmultiplepublicationsales`,`e`.`InExcess` AS `audit_inexcess`,`e`.`Issues` AS `audit_issues`,`e`.`IssuesAudited` AS `audit_issuesaudited`,`e`.`NimsAvCopiesDelivered` AS `audit_nimaveragecopiesdelivered`,`e`.`NimsAvCopiesMailed` AS `audit_nimaveragecopiesmailed`,`e`.`NimsAvCopiesPrinted` AS `audit_nimaveragecopiesprinted`,`e`.`NIMCopiesDelivered` AS `audit_nimcopiesdelivered`,`e`.`NIMCopiesMailed` AS `audit_nimcopiesmailed`,`e`.`NIMCopiesPrinted` AS `audit_nimcopiesprinted`,`e`.`NonPublishingDates` AS `audit_nonpublishingdates`,`e`.`NZInExcess` AS `audit_nzinexcess`,`e`.`NewZealand` AS `audit_nznps`,`e`.`OCInExcess` AS `audit_ocinexcess`,`e`.`OSMoney` AS `audit_osmoney`,`e`.`OtherCountries` AS `audit_othercountries`,_utf8'' AS `audit_parentpublication`,`e`.`AuditPeriod` AS `audit_period`,`e`.`periodAdjustment` AS `audit_periodadjustment`,`e`.`periodAdjustmentValue` AS `audit_periodadjustmentvalue`,_utf8'' AS `audit_periodenddate`,_utf8'' AS `audit_periodstartdate`,`e`.`PubID` AS `audit_pubid`,`e`.`comments` AS `audit_remarks`,`e`.`SpecialPublishingDay` AS `audit_specialpublishingday`,`e`.`stageid` AS `audit_stageid`,`e`.`totalIssuesAudited` AS `audit_totalissuesaudited`,`e`.`lAuditType` AS `audit_type`,`e`.`iYear` AS `audit_year`,`e`.`AuditorEmail` AS `deprecated_AuditorEmail`,`e`.`AuditorName` AS `deprecated_AuditorName`,`e`.`dateAuditorApproved` AS `deprecated_dateAuditorApproved`,`e`.`dateSignatoryApproved` AS `deprecated_dateSignatoryApproved`,`e`.`dateSubmitted` AS `deprecated_dateSubmitted`,`e`.`DayPublished` AS `deprecated_dayspublished`,`e`.`FirstSignatoryEmail` AS `deprecated_FirstSignatoryEmail`,`e`.`FirstSignatoryName` AS `deprecated_FirstSignatoryName`,`e`.`FormStatus` AS `deprecated_FormStatus`,`e`.`lodgementstatus` AS `deprecated_lodgementstatus`,`e`.`lodgementtype` AS `deprecated_lodgementtype`,`e`.`nPeriod` AS `deprecated_nPeriod`,`e`.`nYear` AS `deprecated_nYear`,`e`.`s2complete` AS `deprecated_s2complete`,`e`.`s3complete` AS `deprecated_s3complete`,`e`.`SecondSignatoryEmail` AS `deprecated_SecondSignatoryEmail`,`e`.`SecondSignatoryName` AS `deprecated_SecondSignatoryName`
FROM (`auau7859_aba`.`el_abc_stage` `e` LEFT JOIN `auau7859_aba`.`el_abc_status` `s` ON((`s`.`stageid` = `e`.`stageid`)))
WHERE ((`s`.`statusid` = (SELECT `h`.`statusid` AS `statusid`
FROM `auau7859_aba`.`el_abc_status` `h` WHERE (`h`.`stageid` = `s`.`stageid`) ORDER BY `h`.`statusid` DESC
LIMIT 1)) AND (`s`.`currentstatus` = _latin1'complete'))

丑陋,对吗? 每当我在Netbeans或Heidi SQL中使用代码格式时,它都会将每个部分(FROM / WHERE / LIMIT / SELECT)放在一个新行上。这不好,因为我的select语句太长​​了。我需要的东西至少会将每个选择字段放在一个新行上。

可以帮助我吗?

谢谢。

3 个答案:

答案 0 :(得分:3)

创建存储过程以重新创建视图。这样可以保留您的格式,并允许您添加注释以帮助记录视图。我将我的名字命名为sp_create_viewname

答案 1 :(得分:0)

我使用squirrel SQL。

应用程序本身对我使用heidi sql有点困难(我发誓)但是heidi的sql格式化功能缺乏松鼠的优势

http://squirrel-sql.sourceforge.net/

它可以完美无误地格式化视图的可怕代码。

答案 2 :(得分:0)

只需点击free online SQLFormatter

即可完成
/* ALGORITHM=UNDEFINED */

选择

     `e`.`Australia`                          AS `audit_anps`
    ,`e`.`audit_end_date`                      AS `audit_auditenddate`
    ,`e`.`BumperIssueDates`                    AS `audit_bumperissuedates`
    ,`e`.`BumperIssuesLinked`                  AS `audit_bumperissuelinked`
    ,`e`.`BumperIssues`                        AS `audit_bumperissues`
    ,`e`.`bundledSales`                        AS `audit_bundledsales`
    ,`e`.`CoverPrice`                          AS `audit_coverprice`
    ,`e`.`CoverPrice2`                         AS `audit_coverprice2`
    ,`e`.`CoverPrice2Day`                      AS `audit_coverprice2day`
    ,`e`.`CoverPrice3`                         AS `audit_coverprice3`
    ,`e`.`CoverPrice3Day`                      AS `audit_coverprice3day`
    ,`e`.`CoverPrice4`                         AS `audit_coverprice4`
    ,`e`.`CoverPrice4Day`                      AS `audit_coverprice4day`
    ,`e`.`CoverPriceDay`                       AS `audit_coverpriceday`
    ,`e`.`timestamp`                           AS `audit_datecreated`
    ,`e`.`weeksbetween`                        AS `audit_daysbetween`
    , _utf8''                                  AS `audit_dayspublished`
    ,`e`.`AustraliaDigital`                    AS `audit_digital_anps`
    ,`e`.`BumperIssueDatesD`                   AS `audit_digital_bumperissuedates`
    ,`e`.`BumperIssuesD`                       AS `audit_digital_bumperissues`
    ,`e`.`BumperIssuesLinkedD`                 AS `audit_digital_bumperissueslinked`
    ,`e`.`bundledSalesDigital`                 AS `audit_digital_bundledsalesdigital`
    ,`e`.`CoverPriceD`                         AS `audit_digital_coverprice`
    ,`e`.`CoverPrice2D`                        AS `audit_digital_coverprice2`
    ,`e`.`CoverPrice2DayD`                     AS `audit_digital_coverprice2day`
    ,`e`.`CoverPrice3D`                        AS `audit_digital_coverprice3`
    ,`e`.`CoverPrice3DayD`                     AS `audit_digital_coverprice3day`
    ,`e`.`CoverPrice4D`                        AS `audit_digital_coverprice4`
    ,`e`.`CoverPrice4DayD`                     AS `audit_digital_coverprice4day`
    ,`e`.`CoverPriceDayD`                      AS `audit_digital_coverpriceday`
    ,`e`.`ExcludedDatesD`                      AS `audit_digital_excludeddates`
    ,`e`.`inclAccomAirlinesSalesDigital`       AS `audit_digital_inclaccomairlinesales`
    ,`e`.`inclEducationalSalesDigital`         AS `audit_digital_incleducationalsales`
    ,`e`.`inclEventSalesDigital`               AS `audit_digital_incleventsales`
    ,`e`.`inclMultiplePublicationSalesDigital` AS `audit_digital_inclmultiplepublicationsales`
    ,`e`.`IssuesD`                             AS `audit_digital_issues`
    ,`e`.`IssuesAuditedD`                      AS `audit_digital_issuesaudited`
    ,`e`.`NonPublishingDatesD`                 AS `audit_digital_nonpublishingdates`
    ,`e`.`RemarksD`                            AS `audit_digital_remarks`
    ,`e`.`exclAustraliaOther`                  AS `audit_exclaustraliaother`
    ,`e`.`exclInExcess`                        AS `audit_exclinexcess`
    ,`e`.`ExcludedDates`                       AS `audit_excludeddates`
    ,`e`.`Exclusions`                          AS `audit_exclusions`
    ,`e`.`FrequencyID`                         AS `audit_frequencyid`
    ,`e`.`inclAccomAirlineSales`               AS `audit_inclaccomairlinesales`
    ,`e`.`inclEducationalSales`                AS `audit_incleducationalsales`
    ,`e`.`inclEventSales`                      AS `audit_incleventsales`
    ,`e`.`inclMultiplePublicationSales`        AS `audit_inclmultiplepublicationsales`
    ,`e`.`InExcess`                            AS `audit_inexcess`
    ,`e`.`Issues`                              AS `audit_issues`
    ,`e`.`IssuesAudited`                       AS `audit_issuesaudited`
    ,`e`.`NimsAvCopiesDelivered`               AS `audit_nimaveragecopiesdelivered`
    ,`e`.`NimsAvCopiesMailed`                  AS `audit_nimaveragecopiesmailed`
    ,`e`.`NimsAvCopiesPrinted`                 AS `audit_nimaveragecopiesprinted`
    ,`e`.`NIMCopiesDelivered`                  AS `audit_nimcopiesdelivered`
    ,`e`.`NIMCopiesMailed`                     AS `audit_nimcopiesmailed`
    ,`e`.`NIMCopiesPrinted`                    AS `audit_nimcopiesprinted`
    ,`e`.`NonPublishingDates`                  AS `audit_nonpublishingdates`
    ,`e`.`NZInExcess`                          AS `audit_nzinexcess`
    ,`e`.`NewZealand`                          AS `audit_nznps`
    ,`e`.`OCInExcess`                          AS `audit_ocinexcess`
    ,`e`.`OSMoney`                             AS `audit_osmoney`
    ,`e`.`OtherCountries`                      AS `audit_othercountries`
    , _utf8''                                  AS `audit_parentpublication`
    ,`e`.`AuditPeriod`                         AS `audit_period`
    ,`e`.`periodAdjustment`                    AS `audit_periodadjustment`
    ,`e`.`periodAdjustmentValue`               AS `audit_periodadjustmentvalue`
    , _utf8''                                  AS `audit_periodenddate`
    , _utf8''                                  AS `audit_periodstartdate`
    ,`e`.`PubID`                               AS `audit_pubid`
    ,`e`.`comments`                            AS `audit_remarks`
    ,`e`.`SpecialPublishingDay`                AS `audit_specialpublishingday`
    ,`e`.`stageid`                             AS `audit_stageid`
    ,`e`.`totalIssuesAudited`                  AS `audit_totalissuesaudited`
    ,`e`.`lAuditType`                          AS `audit_type`
    ,`e`.`iYear`                               AS `audit_year`
    ,`e`.`AuditorEmail`                        AS `deprecated_AuditorEmail`
    ,`e`.`AuditorName`                         AS `deprecated_AuditorName`
    ,`e`.`dateAuditorApproved`                 AS `deprecated_dateAuditorApproved`
    ,`e`.`dateSignatoryApproved`               AS `deprecated_dateSignatoryApproved`
    ,`e`.`dateSubmitted`                       AS `deprecated_dateSubmitted`
    ,`e`.`DayPublished`                        AS `deprecated_dayspublished`
    ,`e`.`FirstSignatoryEmail`                 AS `deprecated_FirstSignatoryEmail`
    ,`e`.`FirstSignatoryName`                  AS `deprecated_FirstSignatoryName`
    ,`e`.`FormStatus`                          AS `deprecated_FormStatus`
    ,`e`.`lodgementstatus`                     AS `deprecated_lodgementstatus`
    ,`e`.`lodgementtype`                       AS `deprecated_lodgementtype`
    ,`e`.`nPeriod`                             AS `deprecated_nPeriod`
    ,`e`.`nYear`                               AS `deprecated_nYear`
    ,`e`.`s2complete`                          AS `deprecated_s2complete`
    ,`e`.`s3complete`                          AS `deprecated_s3complete`
    ,`e`.`SecondSignatoryEmail`                AS `deprecated_SecondSignatoryEmail`
    ,`e`.`SecondSignatoryName`                 AS `deprecated_SecondSignatoryName`

...