Utilia

SQL-muotoilija

Muotoile SQL-kyselyt PostgreSQL-, MySQL-, SQL Server-, Oracle-, BigQuery- ja Snowflake-murteille. Valitse avainsanojen kirjainkoko ja sisennys selaimessa.

Näin muotoilet SQL-kyselyn

  1. Liitä yksi tai useampi kysely tai napsauta Avaa tiedosto ladataksesi .sql-tiedoston (enintään 10 Mt).
  2. Valitse tietokantasi Murre, esimerkiksi PostgreSQL, MySQL tai SQL Server (T-SQL).
  3. Valitse, miten Avainsanat kirjoitetaan (ISOT KIRJAIMET, pienet kirjaimet tai Säilytä kirjoitettuna), sekä Sisennys.
  4. Valitse Ei välilyöntejä operaattoreiden ympärillä, jos haluat muodon a=b+1 muodon a = b + 1 sijaan.
  5. Napsauta Muotoile SQL ja kopioi tai lataa tulos. Asetuksen muuttaminen muotoilee kyselyn uudelleen.

Kysely vain muotoillaan tekstinä. Sitä ei koskaan suoriteta eikä lähetetä tietokantaan tai palvelimelle.

Mitä muotoilija tekee

Työkalu käyttää avoimen lähdekoodin sql-formatter-kirjastoa. Se jakaa jokaisen lauseen osiin ja sijoittaa jokaisen lausekkeen avainsanan (SELECT, FROM, WHERE, GROUP BY, ORDER BY…) omalle rivilleen niin, että osan sisältö on sisennettynä sen alla. SELECT-luettelon sarakkeet sijoitetaan yksi riviä kohti, AND- ja OR-ehdot aloittavat uudet rivit, ja alikyselyt sekä CASE-lausekkeet sisennetään sisäkkäisyystason mukaan. Lyhyet sulkulausekkeet pysyvät yhdellä rivillä. Puolipisteellä erotetut useat lauseet pidetään erillään tyhjällä rivillä.

Vain tyhjät merkit ja kirjainkoko muuttuvat. Merkkijonoliteraalit, lainausmerkeillä merkityt tunnisteet ja kommentit säilyvät täsmälleen, joten muotoiltu kysely palauttaa saman tuloksen kuin alkuperäinen.

Miksi murteella on väliä

SQL-tietokannoilla on yhteinen ydinkieli, mutta ne eroavat yksityiskohdissa, ja muotoilijan on tunnettava ne lukeakseen kyselyn oikein:

  • tunnisteet merkitään lainausmerkein "kaksoislainausmerkit" standardi-SQL:ssä ja PostgreSQL:ssä, `gravis-merkit` MySQL:ssä, MariaDB:ssä ja BigQuerysta sekä [hakasulkeet] SQL Serverissä;
  • operaattorit, kuten PostgreSQL:n ->> ja ::-tyyppimuunnokset tai Snowflaken :-polkuhaku, ovat olemassa vain joissakin murteissa;
  • parametrien paikkamerkit vaihtelevat: ?, $1, :nimi tai @nimi;
  • jokaisella murteella on omat varatut sanansa ja funktionsa, joihin Avainsanat-asetus vaikuttaa.

Jos saat ilmoituksen “Kyselyä ei voitu jäsentää”, tarkista ensin, että valittu murre vastaa tietokantaasi. Virhe näyttää rivin ja sarakkeen, johon jäsennys pysähtyi. Standardi-SQL on rajoittavin vaihtoehto; valitse mahdollisuuksien mukaan todellinen tietokantasi.

Avainsanojen kirjainkoko ja tyylivinkit

Isot kirjaimet ovat yhä yleisin käytäntö avainsanoissa, koska ne erottavat kielen taulujen ja sarakkeiden nimistä yhdellä silmäyksellä. Pienet kirjaimet ovat suosittuja tiimeissä, jotka pitävät niitä helpompina lukea, ja Säilytä kirjoitettuna jättää valintasi koskemattomaksi. Taulujen, sarakkeiden ja funktioiden nimiä ei koskaan muuteta: vain varatut avainsanat noudattavat asetusta. Pitkissä tiedostoissa yhdenmukainen muotoilu helpottaa myös versioiden välisten erojen tarkastelua huomattavasti.

Usein kysytyt kysymykset

Mitä murteita tuetaan?

Standardi-SQL, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), Google BigQuery, Snowflake, Amazon Redshift, IBM Db2, Db2 for i, Apache Hive, Spark SQL, Trino/Presto, DuckDB, ClickHouse, SingleStoreDB, TiDB ja Couchbase N1QL.

Tarkistaako työkalu, että kyselyni on kelvollinen?

Ei. Se tarkistaa, että kysely voidaan lukea valitulla murteella, mutta ei sitä, että taulut tai sarakkeet ovat olemassa tai että kysely toimisi. Sen voi varmistaa vain tietokantasi.

Voiko se muotoilla tallennettuja proseduureja?

Osittain. Proseduurien sisällä olevat lauseet muotoillaan, mutta proseduurilohkot (BEGIN … END, silmukat, DECLARE) asetellaan yksinkertaisemmin kuin erillisessä kehitysympäristössä.

Lähetetäänkö kyselyni palvelimelle?

Ei. Muotoilu tapahtuu selaimessasi, joten taulujen nimiä tai dataa sisältävät kyselyt pysyvät tietokoneellasi.

Miksi kommenttini on eri paikassa?

Kommentit säilytetään, mutta rivin lopussa oleva kommentti voi siirtyä sen elementin mukana, jota se seuraa, kun elementti siirtyy uudelle riville.