ਇਸ ਟੂਲ ਬਾਰੇ
SQL ਪੁੱਛਗਿੱਛਾਂ ਤੇਜ਼ੀ ਨਾਲ ਲੰਬੀਆਂ ਅਤੇ ਗੁੰਝਲਦਾਰ ਹੋ ਜਾਂਦੀਆਂ ਹਨ — ਬਹੁਤ ਸਾਰੀਆਂ ਟੇਬਲਾਂ, ਨੇਸਟਡ ਸਬਕਵੇਰੀਆਂ, ਬਹੁਤ ਸਾਰੀਆਂ ਸ਼ਰਤਾਂ ਦੇ ਨਾਲ ਵੱਡੀਆਂ WHERE ਧਾਰਾਵਾਂ, ਗੁੰਝਲਦਾਰ ਕੇਸ ਸਮੀਕਰਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ। ਸੰਖੇਪ SQL ਕੁਝ ਲਾਈਨਾਂ 'ਤੇ ਕ੍ਰੈਮਡ ਨਾ ਪੜ੍ਹਿਆ ਜਾ ਸਕਦਾ ਹੈ; ਇਕਸਾਰ ਪੂੰਜੀਕਰਣ ਦੇ ਨਾਲ ਸਹੀ ਢੰਗ ਨਾਲ ਇੰਡੈਂਟ ਕੀਤਾ SQL ਸਵਾਲ ਦੀ ਬਣਤਰ ਨੂੰ ਇੱਕ ਨਜ਼ਰ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਫਾਰਮੈਟਿੰਗ ਇੱਕ ਪੁੱਛਗਿੱਛ ਵਿੱਚ ਅੰਤਰ ਹੈ ਜਿਸਨੂੰ ਤੁਸੀਂ ਡੀਬੱਗ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਇੱਕ ਜੋ ਤੁਸੀਂ ਨਹੀਂ ਕਰ ਸਕਦੇ ਹੋ।
ਇਹ ਫਾਰਮੈਟ SQL ਨੂੰ ਪਾਰਸ ਕਰਦਾ ਹੈ ਅਤੇ ਇੰਡੈਂਟਡ, ਸਹੀ-ਕੇਸਡ ਆਉਟਪੁੱਟ ਨੂੰ ਛੱਡਦਾ ਹੈ। SQL ਕੀਵਰਡਸ (SELECT, FROM, WHERE, JOIN, GROUP BY) ਆਮ ਤੌਰ 'ਤੇ ਵੱਡੇ ਅੱਖਰਾਂ ਵਿੱਚ ਹੁੰਦੇ ਹਨ, ਸਾਰਣੀ ਅਤੇ ਕਾਲਮ ਦੇ ਨਾਮ ਸਰੋਤ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਹਨ, ਅਤੇ ਇੰਡੈਂਟੇਸ਼ਨ ਨੇਸਟਿੰਗ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ (ਉਨ੍ਹਾਂ ਦੇ ਮਾਤਾ-ਪਿਤਾ ਦੇ ਅੰਦਰ ਇੰਡੈਂਟ ਕੀਤੀਆਂ ਸਬਕਵੇਰੀਆਂ, CASE ਸ਼ਾਖਾਵਾਂ ਇੰਡੈਂਟ ਕੀਤੀਆਂ ਗਈਆਂ)। ਮਲਟੀਪਲ ਉਪਭਾਸ਼ਾ ਸਹਾਇਤਾ MySQL, PostgreSQL, SQL ਸਰਵਰ, Oracle, ਅਤੇ SQLite ਅੰਤਰਾਂ ਨੂੰ ਹੈਂਡਲ ਕਰਦੀ ਹੈ।
ਫਾਰਮੈਟਿੰਗ ਗੈਰ-ਵਿਨਾਸ਼ਕਾਰੀ ਹੈ — ਫਾਰਮੈਟ ਕੀਤੀ ਪੁੱਛਗਿੱਛ ਇਨਪੁਟ ਨਾਲ ਕਾਰਜਸ਼ੀਲ ਤੌਰ 'ਤੇ ਸਮਾਨ ਹੈ। ਸਿਰਫ਼ ਖਾਲੀ ਥਾਂ ਅਤੇ ਕੇਸ ਬਦਲਦੇ ਹਨ।
ਕਿਉਂ ਫਾਰਮੈਟ SQL
ਸੰਘਣੀ ਅਨਫਾਰਮੈਟਿਡ SQL ਨੂੰ ਪੜ੍ਹਨਾ ਮਾਨਸਿਕ ਤੌਰ 'ਤੇ ਟੈਕਸਿੰਗ ਹੈ। ਇਹ ਪਛਾਣਨਾ ਕਿ ਕਿਹੜੀਆਂ ਸਥਿਤੀਆਂ ਨਾਲ ਸਬੰਧਤ ਹਨ, ਕਿਹੜੀਆਂ JOINs, ਕਿੱਥੇ ਸਬਕਵੇਰੀਆਂ ਸ਼ੁਰੂ ਅਤੇ ਖਤਮ ਹੁੰਦੀਆਂ ਹਨ, ਅਤੇ CASE ਸ਼ਾਖਾਵਾਂ ਕਿਵੇਂ ਸੰਬੰਧਿਤ ਹੁੰਦੀਆਂ ਹਨ ਸਭ ਕੁਝ ਔਖਾ ਹੋ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਸਭ ਕੁਝ ਕੁਝ ਲਾਈਨਾਂ 'ਤੇ ਹੁੰਦਾ ਹੈ। ਫਾਰਮੈਟ ਕੀਤਾ SQL ਪੜ੍ਹਨ ਲਈ ਤੇਜ਼ ਹੈ ਅਤੇ ਗਲਤ ਰੀਡਿੰਗ ਢਾਂਚੇ ਤੋਂ ਬੱਗ ਘਟਾਉਂਦਾ ਹੈ।
ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਕੋਡ ਸਮੀਖਿਆ ਲਾਭ। ਸਮੀਖਿਅਕ ਤੇਜ਼ੀ ਨਾਲ ਸਮਝ ਸਕਦੇ ਹਨ ਕਿ ਜਦੋਂ ਕੋਈ ਪੁੱਛਗਿੱਛ ਫਾਰਮੈਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ ਉਹ ਕੀ ਕਰਦੀ ਹੈ; ਸਮੀਖਿਆ ਦੌਰਾਨ ਗੈਰ-ਫਾਰਮੈਟਿਡ SQL ਪੜ੍ਹਨਾ ਛੱਡਣ ਜਾਂ ਰਬੜ-ਸਟੈਂਪਿੰਗ ਨੂੰ ਉਤਸ਼ਾਹਿਤ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਸਵਾਲ ਬਦਲਦੇ ਹਨ ਤਾਂ ਫਾਰਮੈਟ ਕੀਤਾ SQL ਅਰਥਪੂਰਨ ਅੰਤਰ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਤਕਨੀਕੀ ਵੇਰਵੇ
SQL ਪਾਰਸਿੰਗ ਲਈ ਉਪਭਾਸ਼ਾ ਨੂੰ ਸਮਝਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਿਉਂਕਿ ਵੱਖ-ਵੱਖ ਡੇਟਾਬੇਸ ਵਿਆਕਰਣ ਨੂੰ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਨਾਲ ਵਧਾਉਂਦੇ ਹਨ। ਫਾਰਮੈਟਰ ਆਮ ਤੌਰ 'ਤੇ ਕੀਵਰਡਸ, ਪਛਾਣਕਰਤਾਵਾਂ, ਅੱਖਰਾਂ ਅਤੇ ਵਿਰਾਮ ਚਿੰਨ੍ਹਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਟੋਕਨਾਈਜ਼ਰ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਫਿਰ ਟੋਕਨਾਂ ਦੇ ਵਿਚਕਾਰ ਵ੍ਹਾਈਟ ਸਪੇਸ ਅਤੇ ਇੰਡੈਂਟੇਸ਼ਨ ਲਈ ਨਿਯਮਾਂ ਦੇ ਨਾਲ ਆਉਟਪੁੱਟ ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਇੰਡੈਂਟੇਸ਼ਨ ਨਿਯਮ: ਹਰੇਕ ਨੂੰ ਆਪਣੀ ਲਾਈਨ 'ਤੇ ਚੁਣੋ, ਫਰਮ, ਕਿੱਥੇ, ਸਮੂਹ ਦੁਆਰਾ, ਆਰਡਰ ਕਰੋ। FROM ਦੇ ਹੇਠਾਂ ਇੰਡੈਂਟ ਕੀਤੀਆਂ ਅਗਲੀਆਂ ਲਾਈਨਾਂ 'ਤੇ ਟੇਬਲ ਨੂੰ ਜੋੜਿਆ ਗਿਆ। ਪੜ੍ਹਨਯੋਗਤਾ ਲਈ ਵੱਖਰੀਆਂ ਲਾਈਨਾਂ 'ਤੇ WHERE ਵਿੱਚ ਸ਼ਰਤਾਂ। ਆਪਣੇ ਖੁਦ ਦੇ ਇੰਡੈਂਟਡ ਬਲਾਕਾਂ ਵਿੱਚ ਸਬਕਵੇਰੀਆਂ।
ਕੇਸ ਪਰੰਪਰਾਵਾਂ: ਕੀਵਰਡ ਵੱਡੇ ਅੱਖਰ (ਚੁਣੋ, ਤੋਂ, ਕਿੱਥੇ) ਸਭ ਤੋਂ ਆਮ ਹਨ। ਕੁਝ ਟੀਮਾਂ ਛੋਟੇ ਅੱਖਰਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੀਆਂ ਹਨ। ਪਛਾਣਕਰਤਾ (ਸਾਰਣੀ ਅਤੇ ਕਾਲਮ ਦੇ ਨਾਮ) ਸਰੋਤ ਕੇਸ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦੇ ਹਨ।
ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ
- ਕੀ ਫਾਰਮੈਟਿੰਗ ਪੁੱਛਗਿੱਛ ਵਿਹਾਰ ਨੂੰ ਬਦਲਦੀ ਹੈ?
- ਨਹੀਂ। SQL ਫਾਰਮੈਟਿੰਗ ਸਿਰਫ਼ ਖਾਲੀ ਥਾਂ, ਲਾਈਨ ਬ੍ਰੇਕ, ਅਤੇ ਕੀਵਰਡ ਕੇਸਿੰਗ ਨੂੰ ਐਡਜਸਟ ਕਰਦੀ ਹੈ। ਪੁੱਛਗਿੱਛ ਤਰਕ, ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਪਲਾਨ, ਅਤੇ ਨਤੀਜੇ ਇੱਕੋ ਜਿਹੇ ਰਹਿੰਦੇ ਹਨ। ਇਹ ਸਿਰਫ਼ ਪੜ੍ਹਨਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਹੈ।
- ਕਿਹੜੀਆਂ SQL ਉਪਭਾਸ਼ਾਵਾਂ ਸਮਰਥਿਤ ਹਨ?
- ਇਹ ਟੂਲ ਮਿਆਰੀ SQL ਅਤੇ ਖਾਸ ਉਪਭਾਸ਼ਾਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ: MySQL, PostgreSQL, SQLite, SQL ਸਰਵਰ (T-SQL), ਅਤੇ Oracle PL/SQL। ਬੋਲੀ-ਵਿਸ਼ੇਸ਼ ਕੀਵਰਡਸ ਅਤੇ ਫੰਕਸ਼ਨਾਂ ਦੀ ਸਹੀ ਪਛਾਣ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
- ਕੀ ਇਹ ਸਬਕਵੇਰੀਆਂ ਅਤੇ CTEs ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ?
- ਹਾਂ। ਕਾਮਨ ਟੇਬਲ ਐਕਸਪ੍ਰੈਸ਼ਨ (ਧਾਰਾਵਾਂ ਦੇ ਨਾਲ), ਨੇਸਟਡ ਸਬਕਵੇਰੀਆਂ, ਵਿੰਡੋ ਫੰਕਸ਼ਨ, ਅਤੇ ਜਟਿਲ JOIN ਚੇਨਾਂ ਨੂੰ ਢੁਕਵੇਂ ਇੰਡੈਂਟੇਸ਼ਨ ਪੱਧਰਾਂ ਨਾਲ ਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ ਹੈ।
- ਕੀ ਮੈਂ ਇਸਨੂੰ ਸਟੋਰ ਕੀਤੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਲਈ ਵਰਤ ਸਕਦਾ ਹਾਂ?
- ਫਾਰਮੈਟਰ ਸਿੰਗਲ SQL ਸਟੇਟਮੈਂਟਾਂ ਨੂੰ ਵਧੀਆ ਢੰਗ ਨਾਲ ਸੰਭਾਲਦਾ ਹੈ। ਮਲਟੀ-ਸਟੇਟਮੈਂਟ ਪ੍ਰਕਿਰਿਆਵਾਂ, ਟਰਿਗਰਸ, ਅਤੇ ਫੰਕਸ਼ਨ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ ਪਰ ਗੁੰਝਲਦਾਰ ਪ੍ਰਕਿਰਿਆਤਮਕ ਤਰਕ (IF/ELSE, ਲੂਪਸ) ਫਾਰਮੈਟਿੰਗ ਬੋਲੀ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ।
- ਕੀਵਰਡਸ ਵੱਡੇ ਜਾਂ ਛੋਟੇ ਅੱਖਰ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ?
- ਸੰਮੇਲਨ ਬਦਲਦਾ ਹੈ। ਵੱਡੇ ਅੱਖਰ ਕੀਵਰਡ ਰਵਾਇਤੀ ਅਤੇ ਆਮ ਹਨ। ਆਧੁਨਿਕ ਸਟਾਈਲ ਗਾਈਡਾਂ ਵਿੱਚ ਲੋਅਰਕੇਸ ਗੋਦ ਲੈ ਰਿਹਾ ਹੈ। ਇੱਕ ਚੁਣੋ ਅਤੇ ਕੋਡਬੇਸ ਦੇ ਅੰਦਰ ਇਕਸਾਰ ਰਹੋ।
- ਕੀ ਇਹ ਸਟੋਰ ਕੀਤੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਫਾਰਮੈਟ ਕਰਦਾ ਹੈ?
- ਜ਼ਿਆਦਾਤਰ ਫਾਰਮੈਟਸ ਸਟੋਰ ਕੀਤੇ ਵਿਧੀ ਸੰਟੈਕਸ ਨੂੰ ਸੰਭਾਲਦੇ ਹਨ (ਪ੍ਰਕਿਰਿਆ ਬਣਾਓ, ਸ਼ੁਰੂ/ਅੰਤ ਬਲਾਕ, ਕੰਟਰੋਲ ਪ੍ਰਵਾਹ)। ਬੋਲੀ-ਵਿਸ਼ੇਸ਼ ਐਕਸਟੈਂਸ਼ਨਾਂ ਅੰਸ਼ਕ ਤੌਰ 'ਤੇ ਸਮਰਥਿਤ ਹੋ ਸਕਦੀਆਂ ਹਨ।
- ਕੀ ਮੇਰਾ SQL ਅੱਪਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ?
- ਨਹੀਂ। ਫਾਰਮੈਟਿੰਗ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਹੁੰਦੀ ਹੈ।
- ਕੀ ਮੈਂ ਕਮਾਂਡ ਲਾਈਨ ਤੋਂ ਫਾਰਮੈਟ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਕਈ SQL ਫਾਰਮੈਟਰ CLI ਟੂਲ (sqlfluff, sql-ਫਾਰਮੈਟਰ) ਪੇਸ਼ ਕਰਦੇ ਹਨ। ਉਹਨਾਂ ਨੂੰ ਬੈਚ ਫਾਰਮੈਟਿੰਗ ਜਾਂ CI ਏਕੀਕਰਣ ਲਈ ਵਰਤੋ। ਬ੍ਰਾਊਜ਼ਰ ਫਾਰਮੇਟਰ ਐਡ-ਹਾਕ ਇੱਕ-ਬੰਦ ਵਰਤੋਂ ਲਈ ਹਨ।