SQL ਫਾਰਮੈਟਿੰਗ ਕਿਵੇਂ ਕੰਮ ਕਰਦੀ ਹੈ
SQL ਫਾਰਮੈਟਿੰਗ ਇੱਕ ਲੈਕਸਰ-ਚਾਲਿਤ ਮੁੜ-ਲਿਖਾਈ ਹੈ ਜੋ ਕਿਊਰੀ ਵਿੱਚ ਹਰ ਟੋਕਨ 'ਤੇ ਚੱਲਦੀ ਹੈ ਅਤੇ ਚੁਣੇ ਗਏ ਡਾਇਲੈਕਟ ਦੇ ਨਿਯਮਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਇਸਦੇ ਆਲੇ-ਦੁਆਲੇ ਵਾਈਟਸਪੇਸ ਦੁਬਾਰਾ ਜਾਰੀ ਕਰਦੀ ਹੈ। ਕਿਊਰੀ ਸਿਮੈਂਟਿਕਸ ਕਦੇ ਨਹੀਂ ਬਦਲਦੇ, ਕੇਵਲ ਲੇਆਉਟ।
- ਡਾਇਲੈਕਟ ਚੁਣੋ. MySQL ਬੈਕਟਿੱਕਸ, PostgreSQL
::ਕਾਸਟ, BigQuery ਡੌਟਡ ਟੇਬਲ ਪਾਥ, ਅਤੇ T-SQL ਸਕੁਐਰ-ਬ੍ਰੈਕਟ ਆਈਡੈਂਟੀਫਾਇਰ ਹਰ ਇੱਕ ਨੂੰ ਇੱਕ ਟੋਕੇਨਾਈਜ਼ਰ ਦੀ ਲੋੜ ਹੈ ਜੋ ਉਹਨਾਂ ਬਾਰੇ ਜਾਣਦਾ ਹੈ। ਡਾਇਲੈਕਟ ਸਿਲੈਕਟਰ ਕਿਹੜੀ ਗ੍ਰਾਮਰ ਲਾਗੂ ਕਰਨੀ ਹੈ ਚੁਣਦਾ ਹੈ। - ਇਨਪੁੱਟ ਟੋਕੇਨਾਈਜ਼ ਕਰੋ. ਫਾਰਮੈਟਰ ਕਿਊਰੀ ਨੂੰ ਟੋਕਨਾਂ ਦੀ ਸਟ੍ਰੀਮ ਵਿੱਚ ਵੰਡਦਾ ਹੈ: ਕੀਵਰਡ (
SELECT,JOIN), ਆਈਡੈਂਟੀਫਾਇਰ, ਲਿਟਰਲ, ਆਪਰੇਟਰ, ਬਰੈਕਟ ਅਤੇ ਟਿੱਪਣੀਆਂ। ਸਤਰ ਲਿਟਰਲ ਅਤੇ ਕੋਟ ਕੀਤੇ ਆਈਡੈਂਟੀਫਾਇਰ ਬਿਨਾਂ ਛੋਹੇ ਲੰਘਾਏ ਜਾਂਦੇ ਹਨ। - ਲੇਆਉਟ ਨਿਯਮ ਲਾਗੂ ਕਰੋ. ਉੱਚ-ਪੱਧਰੀ ਧਾਰਾਵਾਂ (
SELECT,FROM,WHERE,GROUP BY,ORDER BY) ਆਪਣੀ ਖੁਦ ਦੀ ਲਾਈਨ 'ਤੇ ਸ਼ੁਰੂ ਹੁੰਦੀਆਂ ਹਨ। ਸਿਲੈਕਟ ਸੂਚੀ ਅਤੇ ਕਾਲਮ ਸੂਚੀਆਂ ਵਿੱਚ ਕੌਮਾ-ਵੱਖਰੇ ਸਮੀਕਰਨਾਂ ਨੂੰ ਹਰ ਇੱਕ ਇੱਕ ਲਾਈਨ ਮਿਲਦੀ ਹੈ। - ਕੀਵਰਡ ਕੇਸ ਲਾਗੂ ਕਰੋ. ਕੀਵਰਡ-ਕੇਸ ਟੌਗਲ ਪਛਾਣੇ SQL ਕੀਵਰਡਾਂ ਨੂੰ ਵੱਡੇ, ਛੋਟੇ ਅੱਖਰਾਂ ਵਿੱਚ ਮੁੜ ਲਿਖਦਾ ਹੈ, ਜਾਂ ਇਨਪੁੱਟ ਕੇਸਿੰਗ ਜਿਉਂ ਦੀ ਤਿਉਂ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ। ਆਈਡੈਂਟੀਫਾਇਰ ਕਦੇ ਨਹੀਂ ਛੋਹੇ ਜਾਂਦੇ।
- ਫਾਰਮੈਟ ਕੀਤੀ ਸਤਰ ਜਾਰੀ ਕਰੋ. ਟੋਕਨ ਸਟ੍ਰੀਮ ਇੰਡੈਂਟ ਅੱਖਰ (2 ਸਪੇਸ, 4 ਸਪੇਸ, ਜਾਂ ਟੈਬ) ਅਤੇ ਕੌਂਫਿਗਰ ਕੀਤੇ ਲਾਈਨਬ੍ਰੇਕ ਨਿਯਮ ਨਾਲ ਵਾਪਸ ਇੱਕ ਸਤਰ ਵਿੱਚ ਜੋੜੀ ਜਾਂਦੀ ਹੈ। ਲਾਈਵ ਮੋਡ ਟਾਈਪ ਕਰਦੇ ਸਮੇਂ 200 ms ਡੀਬਾਊਂਸ 'ਤੇ ਪੂਰੀ ਪਾਈਪਲਾਈਨ ਦੁਬਾਰਾ ਚਲਾਉਂਦਾ ਹੈ।
SQL ਸੁੰਦਰ-ਪ੍ਰਿੰਟ ਕਿਉਂ ਕਰੋ
- ਪੁੱਲ-ਰਿਕੁਐਸਟ ਡਿੱਫ ਪੜ੍ਹਨਯੋਗਤਾ. 200-ਲਾਈਨ CTE ਨੂੰ ਇੱਕ ਲਾਈਨ ਵਜੋਂ ਮੁੜ ਲਿਖਣ ਨਾਲ ਕੋਡ ਸਮੀਖਿਆ ਅੰਦਾਜ਼ਾ ਲਗਾਉਣ ਦੀ ਖੇਡ ਬਣ ਜਾਂਦੀ ਹੈ। ਇਕਸਾਰ ਫਾਰਮੈਟਿੰਗ ਡਿੱਫ ਨੂੰ ਅਸਲ ਬਦਲਾਵ ਤੱਕ ਸੀਮਤ ਰੱਖਦੀ ਹੈ — ਇੱਕ ਨਵਾਂ ਕਾਲਮ, ਇੱਕ ਵਾਧੂ
JOIN, ਇੱਕ ਵੱਖਰੀWHEREਸ਼ਰਤ। - ਆਸਾਨ ਡੀਬੱਗਿੰਗ. ਜਦੋਂ ਕੋਈ ਕਿਊਰੀ ਗਲਤ ਕਤਾਰ ਗਿਣਤੀ ਵਾਪਸ ਕਰਦੀ ਹੈ, ਤਾਂ ਪਹਿਲੀ ਗੱਲ ਜੋ ਤੁਸੀਂ ਕਰਦੇ ਹੋ ਉਹ ਇਸ ਨੂੰ ਲਾਈਨ ਦਰ ਲਾਈਨ ਪੜ੍ਹਨਾ ਹੈ। ਫਾਰਮੈਟ ਕੀਤਾ SQL ਹਰ
JOINਨੂੰ ਆਪਣੀ ਖੁਦ ਦੀ ਲਾਈਨ ਉੱਤੇ ਰੱਖਦਾ ਹੈ ਅਤੇWHEREਸ਼ਰਤਾਂ ਨੂੰ ਕਤਾਰਬੱਧ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਇੱਕ ਗੁੰਮANDਜਾਂ ਇੱਕ ਭਟਕਿਆORਇੱਕ ਨਜ਼ਰ ਵਿੱਚ ਦਿਖ ਜਾਵੇ। - ਇਕਸਾਰ ਟੀਮ ਸ਼ੈਲੀ. ਜ਼ਿਆਦਾਤਰ ਟੀਮਾਂ SQL ਸ਼ੈਲੀ ਗਾਈਡ ਅਪਣਾਉਂਦੀਆਂ ਹਨ ਅਤੇ ਚਾਹੁੰਦੀਆਂ ਹਨ ਕਿ ਹਰ ਕਮਿੱਟ ਕੀਤੀ ਕਿਊਰੀ ਇਸਦੀ ਪਾਲਣਾ ਕਰੇ। ਕਮਿੱਟ ਤੋਂ ਪਹਿਲਾਂ ਫਾਰਮੈਟਰ ਚਲਾਉਣ ਨਾਲ ਸਮੀਖਿਆ ਤੋਂ ਸ਼ੈਲੀ ਦੀ ਦਲੀਲ ਹਟਦੀ ਹੈ।
- ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ SQL ਸਾਂਝਾ ਕਰਨਾ. ਰਨਬੁੱਕ, ਘਟਨਾ ਰੀਟ੍ਰੋ ਅਤੇ ਦਸਤਾਵੇਜ਼ ਸਭ SQL ਤੋਂ ਲਾਭ ਉਠਾਉਂਦੇ ਹਨ ਜੋ ਉੱਪਰ ਤੋਂ ਹੇਠਾਂ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ। ਫਾਰਮੈਟ ਕੀਤਾ SQL ਕੋਡ ਬਲਾਕ ਵਿੱਚ ਸਾਫ਼ ਪੇਸਟ ਹੁੰਦਾ ਹੈ।
ਆਮ ਵਰਤੋਂ
SQL ਫਾਰਮੈਟਿੰਗ ਐਨਾਲਿਟਿਕਸ ਇੰਜੀਨੀਅਰਿੰਗ, ਬੈਕਐਂਡ ਡਿਵੈਲਪਮੈਂਟ ਅਤੇ ਓਪਰੇਸ਼ਨਾਂ ਕੰਮ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ।
- ਐਨਾਲਿਟਿਕਸ ਇੰਜੀਨੀਅਰਿੰਗ: dbt ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ pre-commit ਹੁੱਕ ਜੋ ਹਰ ਮਾਡਲ ਫ਼ਾਈਲ ਮੁੜ ਫਾਰਮੈਟ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ PR ਡਿੱਫ ਕੇਵਲ ਤਰਕ ਬਦਲਾਵਾਂ ਤੱਕ ਸੀਮਤ ਰਹੇ।
- ਡੇਟਾਬੇਸ ਪ੍ਰਬੰਧਕੀ: ਇੱਕ-ਲਾਈਨ ਸਲੋ-ਕਿਊਰੀ ਲਾਗ ਐਂਟਰੀ ਪੇਸਟ ਕਰੋ, ਫਾਰਮੈਟ ਕਰੋ, ਅਤੇ ਘਟਨਾ ਰੀਟ੍ਰੋ ਲਿਖਦੇ ਸਮੇਂ ਜੁਆਇਨ ਆਰਡਰ ਦੇਖੋ।
- ਦਸਤਾਵੇਜ਼ੀਕਰਨ: Looker ਜਾਂ Tableau ਤੋਂ ਕਿਊਰੀ ਲਓ, ਰਨਬੁੱਕ ਲਈ ਫਾਰਮੈਟ ਕਰੋ, ਅਤੇ ਆਨ-ਕਾਲ ਰੋਟੇਸ਼ਨ ਲਈ ਕਾਪੀ-ਪੇਸਟਯੋਗ ਉਦਾਹਰਨ ਵਜੋਂ ਏਮਬੈੱਡ ਕਰੋ।
ਇੱਕ ਕੰਮ ਕੀਤਾ ਉਦਾਹਰਨ
SELECT u.id,u.email,COUNT(o.id) FROM users u LEFT JOIN orders o ON o.user_id=u.id WHERE u.created_at > '2024-01-01' GROUP BY u.id,u.email ORDER BY u.id; ਨੂੰ ਇਨਪੁੱਟ ਪੈਨ ਵਿੱਚ ਪੇਸਟ ਕਰੋ ਜਿਸ ਵਿੱਚ ਡਾਇਲੈਕਟ PostgreSQL ਉੱਤੇ ਸੈੱਟ ਹੋਵੇ, ਇੰਡੈਂਟ 2 ਸਪੇਸ, ਅਤੇ ਕੀਵਰਡ ਕੇਸ UPPER ਹੋਵੇ। ਆਉਟਪੁੱਟ SELECT, FROM, LEFT JOIN, WHERE, GROUP BY, ਅਤੇ ORDER BY ਨੂੰ ਉਨ੍ਹਾਂ ਦੀਆਂ ਆਪੋ-ਆਪਣੀਆਂ ਲਾਈਨਾਂ ਉੱਤੇ ਰੱਖਦਾ ਹੈ; ਸਿਲੈਕਟ ਸੂਚੀ ਅਤੇ ਗਰੁੱਪ-ਬਾਈ ਸੂਚੀ ਵਿੱਚ ਹਰ ਕਾਲਮ ਨੂੰ ਆਪਣੀ ਖੁਦ ਦੀ ਇੰਡੈਂਟ ਕੀਤੀ ਲਾਈਨ ਮਿਲਦੀ ਹੈ; ਅਤੇ ON ਸ਼ਰਤ ਉਸ JOIN ਕੀਵਰਡ ਨਾਲੋਂ ਜਿਸ ਨਾਲ ਇਹ ਸੰਬੰਧਿਤ ਹੈ ਇੱਕ ਇੰਡੈਂਟ ਡੂੰਘੀ ਬੈਠਦੀ ਹੈ। ਇਹੀ ਕਿਊਰੀ BigQuery ਡਾਇਲੈਕਟ ਰਾਹੀਂ ਇਸ ਮਾਮਲੇ ਲਈ ਇੱਕੋ ਜਿਹਾ ਆਉਟਪੁੱਟ ਪੈਦਾ ਕਰਦੀ ਹੈ ਪਰ ਜੇ ਕੋਈ ਮੌਜੂਦ ਹੁੰਦੇ ਤਾਂ ਬੈਕਟਿਕ-ਕੋਟ ਕੀਤੇ ਆਈਡੈਂਟੀਫਾਇਰਾਂ ਨੂੰ ਰੱਖ ਲੈਂਦੀ।
FAQ
ਕਿਹੜੇ SQL ਡਾਇਲੈਕਟ ਸਮਰਥਿਤ ਹਨ?
ਡਾਇਲੈਕਟ ਡ੍ਰੌਪਡਾਊਨ ਮਿਆਰੀ SQL, MySQL, PostgreSQL, SQLite, MariaDB, Transact-SQL (SQL Server / Azure SQL), BigQuery, Snowflake ਅਤੇ Redshift ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ। ਆਧਾਰ sql-formatter ਲਾਇਬ੍ਰੇਰੀ DuckDB, Spark SQL, Hive, Trino, Db2, N1QL, PL/SQL, ClickHouse, TiDB ਅਤੇ SingleStoreDB ਵੀ ਪਛਾਣਦੀ ਹੈ। ਆਈਡੈਂਟੀਫਾਇਰ, ਸਤਰ ਲਿਟਰਲ ਅਤੇ ਡਾਇਲੈਕਟ-ਵਿਸ਼ੇਸ਼ ਆਪਰੇਟਰ (PostgreSQL @>, BigQuery SAFE. ਅਗੇਤਰ) ਜਿਉਂ ਦੇ ਤਿਉਂ ਸੁਰੱਖਿਅਤ ਰੱਖੇ ਜਾਂਦੇ ਹਨ।
ਕੀ ਇਹ ਮੇਰਾ SQL ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ?
ਨਹੀਂ। ਫਾਰਮੈਟਰ ਇੱਕ ਲੈਕਸੀਕਲ ਮੁੜ-ਲਿਖਾਰੀ ਹੈ, ਪਾਰਸਰ ਨਹੀਂ। ਇਹ ਇਨਪੁੱਟ ਟੋਕੇਨਾਈਜ਼ ਕਰਦਾ ਹੈ, ਲੇਆਉਟ ਨਿਯਮ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਅਤੇ ਨਤੀਜਾ ਜਾਰੀ ਕਰਦਾ ਹੈ; ਇਹ ਜਾਂਚ ਨਹੀਂ ਕਰਦਾ ਕਿ ਕਿਊਰੀ ਸਿਮੈਂਟਿਕ ਤੌਰ 'ਤੇ ਵੈਧ ਹੈ ਜਾਂ ਨਹੀਂ। ਅਸਲ ਸ਼ੁੱਧਤਾ ਜਾਂਚ ਲਈ ਫਾਰਮੈਟ ਕੀਤੇ ਆਉਟਪੁੱਟ ਨੂੰ ਅਸਲ ਡੇਟਾਬੇਸ ਵਿੱਚੋਂ ਚਲਾਓ।
ਮੇਰੇ ਕੀਵਰਡ ਵੱਡੇ ਅੱਖਰਾਂ ਵਿੱਚ ਕਿਉਂ ਹੋ ਰਹੇ ਹਨ?
ਕੀਵਰਡ ਕੇਸ ਡ੍ਰੌਪਡਾਊਨ ਡਿਫੌਲਟ UPPER ਹੈ, ਜੋ ਜ਼ਿਆਦਾਤਰ ਪ੍ਰਕਾਸ਼ਿਤ SQL ਸ਼ੈਲੀ ਗਾਈਡਾਂ ਵਿੱਚ ਸੰਮੇਲਨ ਹੈ। ਜੇ ਤੁਹਾਡੀ ਟੀਮ select / from ਛੋਟੇ ਅੱਖਰਾਂ ਵਿੱਚ ਲਿਖਦੀ ਹੈ ਤਾਂ lower ਚੁਣੋ, ਜਾਂ ਜੇ ਤੁਸੀਂ ਜੋ ਟਾਈਪ ਕੀਤਾ ਉਹੀ ਰੱਖਣਾ ਹੋਵੇ ਤਾਂ Preserve।
ਕੀ ਮੇਰੀ ਕਿਊਰੀ ਕਿਤੇ ਅਪਲੋਡ ਹੁੰਦੀ ਹੈ?
ਨਹੀਂ। ਵੈਂਡਰ ਕੀਤੀ sql-formatter ਲਾਇਬ੍ਰੇਰੀ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦੀ ਹੈ, ਫਾਰਮੈਟਿੰਗ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਉੱਤੇ ਸਥਾਨਕ ਤੌਰ ਉੱਤੇ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਕਿਊਰੀ ਟੈਕਸਟ ਕਦੇ ਨੈੱਟਵਰਕ ਨੂੰ ਪਾਰ ਨਹੀਂ ਕਰਦਾ। ਇਹ ਪੰਨਾ ਜੋ ਇੱਕੋ-ਇੱਕ ਬਾਹਰ ਜਾਣ ਵਾਲੀਆਂ ਬੇਨਤੀਆਂ ਕਰਦਾ ਹੈ ਉਹ ਉਹੀ ਸਾਂਝੀਆਂ ਐਨਾਲਿਟਿਕਸ ਅਤੇ ਐਡਜ਼ ਬੇਨਤੀਆਂ ਹਨ ਜੋ tools.ultim8soft.com ਉੱਤੇ ਹਰ ਪੰਨਾ ਕਰਦਾ ਹੈ; SQL ਟੈਕਸਟ ਖੁਦ ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਦਾ ਹਿੱਸਾ ਨਹੀਂ ਹੈ।
ਸੁੰਦਰ-ਪ੍ਰਿੰਟ ਕੀਤਾ SQL ਇੱਕ ਵਾਰ ਫਾਰਮੈਟਰ ਸੰਭਾਲ ਲੈਣ ਤੋਂ ਬਾਅਦ ਸ਼ੈਲੀ ਦੀ ਦਲੀਲ ਨਹੀਂ ਰਿਹਾ। ਸੰਦ ਪੂਰੀ ਤਰ੍ਹਾਂ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ, ਕਿਊਰੀ ਕਦੇ ਪੇਜ ਤੋਂ ਨਹੀਂ ਜਾਂਦੀ।