Käyttöohje
- Liitä yksi tai useampi SQL-lause tai paina ”Kokeile esimerkkiä”.
- Valitse tietokantasi murre, jotta sen avainsanat, lainausmerkit ja operaattorit tunnistetaan.
- Aseta avainsanojen kirjainkoko ja sisennys. Muotoiltu kysely näkyy oikealla kirjoittaessasi.
- Paina Minify saadaksesi yksirivisen version ja kopioi tulos tai lataa se .sql-tiedostona.
Näin se toimii
Muotoilu käyttää avoimen lähdekoodin sql-formatter-kirjastoa. Se pilkkoo kyselyn tokeneiksi valitsemasi murteen sääntöjen mukaan, sijoittaa jokaisen tärkeimmän lausekkeen (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY…) omalle rivilleen, sisentää sarakeluettelot ja ehdot sekä käyttää avainsanoille valitsemaasi kirjainkokoa. Se muuttaa tyhjiä merkkejä ja pyydettäessä avainsanojen kirjainkokoa; tunnisteet, merkkijonoliteraalit ja kommentit säilytetään. Oikean murteen valinta on tärkeää: esimerkiksi MySQL:ssä nimet rajataan takakenoviivoilla, SQL Serverissä hakasulkeilla ja PostgreSQL:ssä $$ aloittaa funktion rungon.
Muotoilija on asettelutyökalu eikä tietokanta. Se ei tarkista, ovatko taulut tai sarakkeet olemassa, eikä validoi koko kielioppia, joten osa virheellisestä SQL:stä muotoillaan valittamatta. Kun se ei pysty tulkitsemaan syötettä, esimerkiksi sulkumerkki on sulkematta, se ilmoittaa rivin ja sarakkeen, johon se pysähtyi.
Minifiointi toimii eri tavalla: se säilyttää jokaisen tokenin ja vain tiivistää jokaisen peräkkäisten välilyöntien jakson yhdeksi välilyönniksi ja poistaa kommentit (optimoijan vihjeet kuten /*+ INDEX(t) */ ja MySQL:n /*! … */ -kommentit säilytetään, koska ne muuttavat toimintaa). Merkkijonot, lainausmerkein rajatut tunnisteet ja dollarilainatut rungot kopioidaan muuttumattomina. Jos lainausmerkki tai kommentti jää sulkematta, minifiointi pysähtyy virheeseen eikä yritä arvata.
Esimerkit
Kyselyn lukeminen lokista
Hitaiden kyselyiden loki näyttää yhden 400 merkin rivin. MySQL-murteella ja isoilla avainsanoilla siitä tulee luettava lohko, jossa jokainen JOIN- ja WHERE-ehto on omalla rivillään, jolloin puuttuva indeksi on helppo havaita.
Yhdenmukainen tyyli koodikatselmointiin
Tiimi muotoilee jokaisen migraation PostgreSQL-murteella, pienillä avainsanoilla ja 4 välilyönnin sisennyksellä ennen commitointia, jolloin diffit näyttävät vain todelliset muutokset.
SQL:n upottaminen koodiin
Minify muuttaa kommentoidun, monirivisen raporttikyselyn yhdeksi riviksi, esimerkiksi SELECT id, name FROM users WHERE active = 1 ORDER BY name, valmiiksi liitettäväksi merkkijonoon skriptissä.
Usein kysytyt kysymykset
Mitkä tietokannat ovat tuettuja?
Standard SQL, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle PL/SQL, BigQuery, Snowflake, Redshift, Spark SQL, Hive, Trino/Presto, DuckDB, IBM Db2, SingleStoreDB, TiDB ja Couchbase N1QL.
Muuttaako muotoilu kyselyni toimintaa?
Ei pitäisi: vain tyhjät merkit ja, jos valittuna, avainsanojen kirjainkoko muuttuvat. Avainsanojen kirjainkoolla ei ole SQL:ssä merkitystä. Tarkista silti luotu tulos ennen ajamista tuotantodatalla, etenkin jos murteessa on epätavallisia ominaisuuksia.
Miksi sain ilmoituksen ”ei voitu muotoilla”?
Tokenizer törmäsi johonkin, jota se ei pystynyt sijoittamaan – usein sulkemattomaan sulkeeseen tai lainausmerkkiin tai toisen murteen syntaksiin. Tarkista viestissä ilmoitettu rivi ja sarake ja varmista, että valittu murre vastaa tietokantaasi.
Validoiko se SQL:ni?
Ei. Se ei ole yhteydessä tietokantaan eikä tunne skeemaasi. Kysely voi olla muotoiltu mutta silti epäonnistua ajettaessa.
Tietosuoja
SQL-koodisi muotoillaan selaimessasi JavaScriptillä. Sitä ei lähetetä, tallenneta tai sisällytetä analytiikkaan, eikä työkalu koskaan ota yhteyttä tietokantaan.