ਐਸਕਿਊਐਲ ਫਾਰਮੈਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ: ਐਸਕਿਊਐਲ ਸਿੰਟੈਕਸ ਨੂੰ ਸਾਫ, ਫਾਰਮੈਟ ਅਤੇ ਚੈੱਕ ਕਰੋ
ਐਸਕਿਊਐਲ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਸਹੀ ਇੰਡੈਂਟੇਸ਼ਨ ਅਤੇ ਪੈਸੇਕਰਨ ਨਾਲ ਫਾਰਮੈਟ ਕਰੋ ਜਦੋਂ ਕਿ ਸਿੰਟੈਕਸ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹੋ। ਤੁਹਾਡੇ ਡੇਟਾਬੇਸ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਤੁਰੰਤ ਪੜ੍ਹਨਯੋਗ ਅਤੇ ਗਲਤੀ-ਮੁਕਤ ਬਣਾਉਂਦਾ ਹੈ।
ਐੱਸਕਿਊਐੱਲ ਫਾਰਮੈਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ
ਤੁਹਾਡੇ ਐੱਸਕਿਊਐੱਲ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਸਹੀ ਇੰਡੀਟੇਸ਼ਨ ਅਤੇ ਵਿਆਕਰਨ ਜਾਂਚ ਨਾਲ ਫਾਰਮੈਟ ਅਤੇ ਵੈਲੀਡੇਟ ਕਰਨ ਲਈ ਇੱਕ ਸਧਾਰਣ ਟੂਲ।
ਦਸਤਾਵੇਜ਼
SQL ਫਾਰਮੈਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ
ਜਾਣ-ਪਛਾਣ
SQL ਫਾਰਮੈਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਪਰੰਤੂ ਉਪਯੋਗਕਰਤਾ-ਮਿੱਤਰ ਆਨਲਾਈਨ ਟੂਲ ਹੈ ਜੋ ਵਿਕਾਸਕਾਂ, ਡੇਟਾਬੇਸ ਪ੍ਰਬੰਧਕਾਂ ਅਤੇ SQL ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਆਪਣੇ SQL ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਫਾਰਮੈਟ ਅਤੇ ਵੈਲੀਡੇਟ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਮੁਫ਼ਤ ਟੂਲ ਆਟੋਮੈਟਿਕ ਤੌਰ 'ਤੇ SQL ਆਦੇਸ਼ਾਂ ਨੂੰ ਸਹੀ ਇੰਡੇਟੇਸ਼ਨ, ਪੈਰਾਵਾਰ ਅਤੇ ਖ਼ਾਲੀ ਥਾਵਾਂ ਨਾਲ ਫਾਰਮੈਟ ਕਰਦਾ ਹੈ ਜੋ ਮਿਆਰੀ SQL ਵਿਆਖਿਆ ਦੇ ਨਿਯਮਾਂ ਅਨੁਸਾਰ ਹੁੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਤੁਹਾਡੇ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਪੜ੍ਹਨ ਯੋਗ ਅਤੇ ਰੱਖ-ਰਖਾਅ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ। ਇਸ ਦੇ ਨਾਲ, ਇਹ ਵੈਲੀਡੇਸ਼ਨ ਚੈਕ ਵੀ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣੇ ਡੇਟਾਬੇਸ ਦੇ ਖਿਲਾਫ਼ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਆਮ ਵਿਆਕਰਨ ਦੀਆਂ ਗਲਤੀਆਂ ਦੀ ਪਛਾਣ ਕਰ ਸਕੋ, ਜੋ ਕਿ ਡੀਬੱਗਿੰਗ ਸਮੇਂ ਵਿੱਚ ਘੰਟਿਆਂ ਦੀ ਬਚਤ ਕਰ ਸਕਦਾ ਹੈ। ਚਾਹੇ ਤੁਸੀਂ ਜਟਿਲ ਡੇਟਾਬੇਸ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਲਿਖ ਰਹੇ ਹੋ, SQL ਸਿੱਖ ਰਹੇ ਹੋ, ਜਾਂ ਸਿਰਫ ਗੰਦੇ SQL ਕੋਡ ਨੂੰ ਸਾਫ਼ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਇਹ ਫਾਰਮੈਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਤੁਹਾਡੇ SQL ਕਾਰਜ ਨੂੰ ਤੁਰੰਤ ਸੁਧਾਰਨ ਲਈ ਇੱਕ ਸਮਝਦਾਰ ਇੰਟਰਫੇਸ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
ਇਸ ਟੂਲ ਨੂੰ ਵਰਤਣ ਦਾ ਤਰੀਕਾ
SQL ਫਾਰਮੈਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਨੂੰ ਵਰਤਣਾ ਸਿੱਧਾ ਹੈ:
- ਆਪਣਾ SQL ਪੁੱਛਗਿੱਛ ਦਾਖਲ ਕਰੋ: ਆਪਣੇ SQL ਪੁੱਛਗਿੱਛ ਨੂੰ ਇਨਪੁਟ ਟੈਕਸਟ ਖੇਤਰ ਵਿੱਚ ਟਾਈਪ ਜਾਂ ਪੇਸਟ ਕਰੋ।
- ਆਟੋਮੈਟਿਕ ਫਾਰਮੈਟਿੰਗ: ਟੂਲ ਰਿਅਲ-ਟਾਈਮ ਵਿੱਚ ਤੁਹਾਡੇ SQL ਨੂੰ ਆਟੋਮੈਟਿਕ ਤੌਰ 'ਤੇ ਫਾਰਮੈਟ ਕਰਦਾ ਹੈ, ਨਤੀਜੇ ਨੂੰ ਆਉਟਪੁੱਟ ਖੇਤਰ ਵਿੱਚ ਦਿਖਾਉਂਦਾ ਹੈ।
- ਵੈਲੀਡੇਸ਼ਨ: ਟੂਲ ਤੁਹਾਡੇ SQL ਲਈ ਵਿਆਕਰਨ ਦੀਆਂ ਗਲਤੀਆਂ ਦੀ ਆਟੋਮੈਟਿਕ ਤੌਰ 'ਤੇ ਜਾਂਚ ਕਰਦਾ ਹੈ ਅਤੇ ਪਾਈਆਂ ਗਲਤੀਆਂ ਨੂੰ ਦਿਖਾਉਂਦਾ ਹੈ।
- ਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ SQL ਕਾਪੀ ਕਰੋ: ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਜਾਂ ਡੇਟਾਬੇਸ ਟੂਲਾਂ ਵਿੱਚ ਵਰਤਣ ਲਈ ਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ SQL ਕਾਪੀ ਕਰਨ ਲਈ "ਕਾਪੀ" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
ਇੰਟਰਫੇਸ ਨੂੰ ਸਮਝਣਯੋਗ ਅਤੇ ਪ੍ਰਤਿਕਿਰਿਆਸ਼ੀਲ ਬਣਾਉਣ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਕਿ ਡੈਸਕਟਾਪ ਅਤੇ ਮੋਬਾਈਲ ਡਿਵਾਈਸਾਂ 'ਤੇ ਬਿਨਾਂ ਕਿਸੇ ਰੁਕਾਵਟ ਦੇ ਕੰਮ ਕਰਦਾ ਹੈ।
SQL ਫਾਰਮੈਟਿੰਗ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
ਆਟੋਮੈਟਿਕ ਕੀਵਰਡ ਕੈਪੀਟਲਾਈਜ਼ੇਸ਼ਨ
ਫਾਰਮੈਟਰ ਆਟੋਮੈਟਿਕ ਤੌਰ 'ਤੇ SQL ਕੀਵਰਡਾਂ ਜਿਵੇਂ SELECT, FROM, WHERE, JOIN, ਆਦਿ ਨੂੰ ਕੈਪੀਟਲਾਈਜ਼ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਉਹ ਟੇਬਲ ਅਤੇ ਕਾਲਮ ਨਾਮਾਂ ਤੋਂ ਵੱਖਰੇ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ। ਇਹ ਪੜ੍ਹਨਯੋਗਤਾ ਨੂੰ ਸੁਧਾਰਦਾ ਹੈ ਅਤੇ ਮਿਆਰੀ SQL ਸ਼ੈਲੀ ਦੇ ਰੀਤੀ-ਰਿਵਾਜਾਂ ਦਾ ਪਾਲਣ ਕਰਦਾ ਹੈ।
ਸਹੀ ਇੰਡੇਟੇਸ਼ਨ
SQL ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਉਨ੍ਹਾਂ ਦੀ ਤਰਕਸ਼ੀਲ ਸੰਰਚਨਾ ਦੇ ਅਨੁਸਾਰ ਇੰਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ:
- ਮੁੱਖ ਕਲਾਜ (SELECT, FROM, WHERE, ਆਦਿ.) ਖੱਬੇ ਮਾਰਜਿਨ 'ਤੇ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ
- JOIN ਕਲਾਜ FROM ਦੇ ਅਧੀਨ ਇੰਡੇਟ ਕੀਤੇ ਜਾਂਦੇ ਹਨ
- SELECT ਬਿਆਨ ਵਿੱਚ ਕਾਲਮ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਸਤਰਬੱਧ ਕੀਤੇ ਜਾਂਦੇ ਹਨ
- ਨੈਸਟ ਕੀਤੀਆਂ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਵਧੀਕ ਇੰਡੇਟੇਸ਼ਨ ਪੱਧਰ ਮਿਲਦੇ ਹਨ
- WHERE ਕਲਾਜਾਂ ਵਿੱਚ ਸ਼ਰਤਾਂ ਨੂੰ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਸਤਰਬੱਧ ਕੀਤਾ ਜਾਂਦਾ ਹੈ
ਲਾਈਨ ਬ੍ਰੇਕ ਅਤੇ ਖ਼ਾਲੀ ਥਾਵਾਂ
ਫਾਰਮੈਟਰ ਤੁਹਾਡੇ ਪੁੱਛਗਿੱਛ ਵਿੱਚ ਤਰਕਸ਼ੀਲ ਬਿੰਦੂਆਂ 'ਤੇ ਲਾਈਨ ਬ੍ਰੇਕ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ:
- ਹਰ ਮੁੱਖ ਕਲਾਜ (SELECT, FROM, WHERE, ਆਦਿ.) ਤੋਂ ਬਾਅਦ
- ਕਾਮਾ-ਵਿਚਕਾਰ ਸੂਚੀ ਵਿੱਚ ਆਈਟਮਾਂ ਦੇ ਵਿਚਕਾਰ
- ਉਪ-ਪੁੱਛਗਿੱਛਾਂ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ
- CASE ਬਿਆਨ ਦੇ ਭਾਗਾਂ ਦੇ ਵਿਚਕਾਰ
ਪੜ੍ਹਨਯੋਗਤਾ ਨੂੰ ਵਧਾਉਣ ਲਈ ਸੰਚਾਲਕਾਂ, ਕੋਸ਼ਾਂ ਅਤੇ ਕਲਾਜਾਂ ਦੇ ਵਿਚਕਾਰ ਵੀ ਸਹੀ ਖ਼ਾਲੀ ਥਾਵਾਂ ਸ਼ਾਮਲ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।
SQL ਵੈਲੀਡੇਸ਼ਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ
ਵੈਲੀਡੇਟਰ ਆਮ SQL ਵਿਆਕਰਨ ਦੀਆਂ ਗਲਤੀਆਂ ਅਤੇ ਸਾਫ਼ ਸੁਧਾਰਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਅਤੇ ਸਾਫ਼ ਫੀਡਬੈਕ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:
ਵਿਆਕਰਨ ਦੀ ਗਲਤੀ ਦੀ ਪਛਾਣ
- ਅਸੰਤੁਲਿਤ ਕੋਸ਼: ਗੁੰਝਲਦਾਰ ਜਾਂ ਬੰਦ ਕੋਸ਼ਾਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ
- ਬੰਦ ਨਿਸ਼ਾਨਾਂ: ਬੰਦ ਸਤਰ ਲਿਟਰਲ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ
- ਗੁਣਨ ਚਿੰਨ੍ਹ: ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਬਿਆਨ ਗੁਣਨ ਚਿੰਨ੍ਹਾਂ ਨਾਲ ਖਤਮ ਹੁੰਦੇ ਹਨ
- ਕਲਾਜ ਦਾ ਆਰਡਰ: ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ SQL ਕਲਾਜ ਸਹੀ ਆਰਡਰ ਵਿੱਚ ਹਨ
ਆਮ SQL ਗਲਤੀਆਂ
ਵੈਲੀਡੇਟਰ ਆਮ ਤਰਕਸ਼ੀਲ ਗਲਤੀਆਂ ਦੀ ਵੀ ਪਛਾਣ ਕਰਦਾ ਹੈ:
- JOIN ਬਿਨਾਂ ON ਸ਼ਰਤ: JOIN ਕਲਾਜਾਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ ਜੋ ਆਪਣੇ ON ਸ਼ਰਤਾਂ ਨੂੰ ਗੁੰਝਲਦਾਰ ਕਰਦੇ ਹਨ
- ਅਧੂਰੀ WHERE ਸ਼ਰਤਾਂ: WHERE ਕਲਾਜਾਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ ਜੋ ਅਧੂਰੇ ਪ੍ਰਿਡਿਕੇਟਾਂ ਨਾਲ ਹਨ
- HAVING ਬਿਨਾਂ GROUP BY: HAVING ਕਲਾਜਾਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ ਜੋ ਸਬੰਧਤ GROUP BY ਦੇ ਬਿਨਾਂ ਵਰਤੀ ਜਾਂਦੀ ਹੈ
- ਖਾਲੀ ਕਲਾਜ: ਖਾਲੀ GROUP BY, ORDER BY ਜਾਂ ਹੋਰ ਕਲਾਜਾਂ ਦੀ ਪਛਾਣ ਕਰਦਾ ਹੈ
ਵੈਲੀਡੇਸ਼ਨ ਫੀਡਬੈਕ
ਜਦੋਂ ਗਲਤੀਆਂ ਪਛਾਣ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਉਹ ਇੱਕ ਸਾਫ਼, ਉਪਯੋਗਕਰਤਾ-ਮਿੱਤਰ ਫਾਰਮੈਟ ਵਿੱਚ ਦਿਖਾਈ ਜਾਂਦੀਆਂ ਹਨ:
- ਹਰ ਗਲਤੀ ਇੱਕ ਵਰਣਨਾਤਮਕ ਸੁਨੇਹੇ ਨਾਲ ਸੂਚੀਬੱਧ ਕੀਤੀ ਜਾਂਦੀ ਹੈ
- ਗਲਤੀ ਦੀ ਕਿਸਮ ਦੀ ਪਛਾਣ ਕੀਤੀ ਜਾਂਦੀ ਹੈ
- ਗਲਤੀ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਸੁਝਾਅ ਪ੍ਰਦਾਨ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ
SQL ਫਾਰਮੈਟਿੰਗ ਨਿਯਮ
SQL ਫਾਰਮੈਟਰ ਇਹਨਾਂ ਵਿਸ਼ੇਸ਼ ਨਿਯਮਾਂ ਦਾ ਪਾਲਣ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਇਕਸਾਰ, ਪੜ੍ਹਨਯੋਗ SQL ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ:
ਕੀਵਰਡ ਕੈਪੀਟਲਾਈਜ਼ੇਸ਼ਨ
ਸਾਰੇ SQL ਕੀਵਰਡਾਂ ਨੂੰ ਕੈਪੀਟਲਾਈਜ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- ਬਿਆਨ ਦੀਆਂ ਕਿਸਮਾਂ: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP
- ਕਲਾਜ: FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT
- ਜੋੜ: JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
- ਸੰਚਾਲਕ: AND, OR, NOT, IN, BETWEEN, LIKE, IS NULL
- ਫੰਕਸ਼ਨ: COUNT, SUM, AVG, MAX, MIN, CASE, WHEN, THEN, ELSE, END
ਇੰਡੇਟੇਸ਼ਨ ਅਤੇ ਲਾਈਨ ਬ੍ਰੇਕ
- ਮੁੱਖ ਕਲਾਜ ਨਵੀਂ ਲਾਈਨ 'ਤੇ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ
- ਉਪ-ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਦੋ ਖਾਲੀ ਥਾਵਾਂ ਦੇ ਨਾਲ ਇੰਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ
- ਕਾਮਾ-ਵਿਚਕਾਰ ਸੂਚੀ ਦੇ ਹਰ ਆਈਟਮ ਨੂੰ ਨਵੀਂ ਲਾਈਨ 'ਤੇ ਸਹੀ ਇੰਡੇਟੇਸ਼ਨ ਨਾਲ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ
- JOIN ਕਲਾਜਾਂ ਨੂੰ FROM ਕਲਾਜ ਦੇ ਅਧੀਨ ਇੰਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ
- WHERE ਕਲਾਜਾਂ ਵਿੱਚ ਸ਼ਰਤਾਂ ਪੜ੍ਹਨਯੋਗਤਾ ਲਈ ਸਤਰਬੱਧ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ
ਉਦਾਹਰਨ: ਫਾਰਮੈਟਿੰਗ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ
ਫਾਰਮੈਟਿੰਗ ਤੋਂ ਪਹਿਲਾਂ:
1select u.id, u.name, o.order_date from users u join orders o on u.id = o.user_id where o.status = "completed" group by u.id order by u.name;
2
ਫਾਰਮੈਟਿੰਗ ਤੋਂ ਬਾਅਦ:
1SELECT
2 u.id,
3 u.name,
4 o.order_date
5FROM users u
6 JOIN orders o ON u.id = o.user_id
7WHERE
8 o.status = "completed"
9GROUP BY
10 u.id
11ORDER BY
12 u.name;
13
SQL ਵੈਲੀਡੇਸ਼ਨ ਨਿਯਮ
ਵੈਲੀਡੇਟਰ ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਸਮੱਸਿਆਵਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ:
ਢਾਂਚਾਗਤ ਵੈਲੀਡੇਸ਼ਨ
- ਸੰਤੁਲਿਤ ਕੋਸ਼: ਹਰ ਖੋਲ੍ਹੇ ਕੋਸ਼ ਦਾ ਇੱਕ ਮਿਲਦਾ ਜੁਲਦਾ ਬੰਦ ਕੋਸ਼ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
- ਨਿਸ਼ਾਨਬੱਧ ਸਤਰ: ਸਾਰੇ ਨਿਸ਼ਾਨ (ਇੱਕਲ ਜਾਂ ਦੋਹਰ) ਨੂੰ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਬੰਦ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ
- ਬਿਆਨ ਦਾ ਅੰਤ: SQL ਬਿਆਨ ਸਿਮੋਲਾਂ ਨਾਲ ਖਤਮ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
- ਕਲਾਜ ਦਾ ਆਰਡਰ: ਕਲਾਜਾਂ ਨੂੰ ਸਹੀ ਆਰਡਰ ਵਿੱਚ ਆਉਣਾ ਚਾਹੀਦਾ ਹੈ (FROM SELECT ਤੋਂ ਬਾਅਦ, WHERE GROUP BY ਤੋਂ ਪਹਿਲਾਂ, ਆਦਿ)
ਸਮਰਥਨ ਵੈਲੀਡੇਸ਼ਨ
- JOIN ਸ਼ਰਤਾਂ: ਹਰ JOIN ਨੂੰ ਇੱਕ ON ਜਾਂ USING ਸ਼ਰਤ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ
- WHERE ਸ਼ਰਤਾਂ: WHERE ਕਲਾਜਾਂ ਵਿੱਚ ਪੂਰੀਆਂ ਸ਼ਰਤਾਂ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ
- GROUP BY ਦੀ ਲੋੜ: HAVING ਕਲਾਜਾਂ ਨੂੰ ਇੱਕ GROUP BY ਕਲਾਜ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ
- ਕਾਲਮ ਦੀ ਹਵਾਲਾ: SELECT ਵਿੱਚ ਹਵਾਲਾ ਦਿੱਤੇ ਗਏ ਕਾਲਮ ਨੂੰ GROUP BY ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਜਦੋਂ ਕਿ ਸੰਘਣਾਈ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ
ਉਦਾਹਰਨ: ਵੈਲੀਡੇਸ਼ਨ ਦੀਆਂ ਗਲਤੀਆਂ
ਗਲਤ SQL ਨਾਲ ਗਲਤੀਆਂ:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6
ਵੈਲੀਡੇਸ਼ਨ ਦੀਆਂ ਗਲਤੀਆਂ:
- JOIN ਸ਼ਰਤ ਗੁੰਝਲਦਾਰ ਹੈ
- ਅਧੂਰੀ WHERE ਸ਼ਰਤ
- ਖਾਲੀ GROUP BY ਕਲਾਜ
- HAVING ਕਲਾਜ ਅਣਜਾਣ ਕਾਲਮ ਨੂੰ ਹਵਾਲਾ ਦੇ ਰਿਹਾ ਹੈ
ਵਰਤੋਂ ਦੇ ਕੇਸ
SQL ਫਾਰਮੈਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਕਈ ਸਥਿਤੀਆਂ ਵਿੱਚ ਕੀਮਤੀ ਹੈ:
ਡੇਟਾਬੇਸ ਵਿਕਾਸ
- ਕੋਡ ਸਮੀਖਿਆ: ਪੜ੍ਹਨਯੋਗਤਾ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕੋਡ ਸਮੀਖਿਆ ਤੋਂ ਪਹਿਲਾਂ SQL ਫਾਰਮੈਟ ਕਰੋ
- ਡੀਬੱਗਿੰਗ: ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਵਿਆਕਰਨ ਦੀਆਂ ਗਲਤੀਆਂ ਦੀ ਪਛਾਣ ਕਰੋ
- ਦਸਤਾਵੇਜ਼ੀਕਰਨ: ਤਕਨੀਕੀ ਦਸਤਾਵੇਜ਼ ਲਈ ਚੰਗੀ ਤਰ੍ਹਾਂ ਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ SQL ਤਿਆਰ ਕਰੋ
- ਪੁਰਾਣੇ ਕੋਡ ਦੀ ਰੱਖ-ਰਖਾਵ: ਪੁਰਾਣੇ SQL ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਸਾਫ਼ ਅਤੇ ਮਿਆਰੀ ਬਣਾਓ
ਸਿੱਖਿਆ ਅਤੇ ਸਿੱਖਣਾ
- SQL ਟ੍ਰੇਨਿੰਗ: ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਸਹੀ SQL ਫਾਰਮੈਟਿੰਗ ਰਿਵਾਜਾਂ ਸਿੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰੋ
- ਆਤਮ-ਅਧਿਐਨ: ਡੇਟਾਬੇਸ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਸਿੱਖਣ ਦੇ ਦੌਰਾਨ SQL ਵਿਆਕਰਨ ਦੀ ਵੈਲੀਡੇਸ਼ਨ ਕਰੋ
- ਸਿਖਾਉਣਾ: ਸਿੱਖਿਆ ਦੇ ਸਥਾਨਾਂ ਵਿੱਚ ਸਹੀ SQL ਸੰਰਚਨਾ ਅਤੇ ਫਾਰਮੈਟਿੰਗ ਨੂੰ ਦਰਸਾਉਣਾ
- ਕੌਸ਼ਲ ਵਿਕਾਸ: ਵਿਆਕਰਨਿਕ ਤੌਰ 'ਤੇ ਸਹੀ SQL ਪੁੱਛਗਿੱਛਾਂ ਲਿਖਣ ਦੀ ਅਭਿਆਸ ਕਰੋ
ਟੀਮ ਸਹਿਯੋਗ
- ਮਿਆਰੀਕਰਨ: ਵਿਕਾਸ ਟੀਮ ਵਿੱਚ SQL ਫਾਰਮੈਟਿੰਗ ਨੂੰ ਇਕਸਾਰ ਬਣਾਓ
- ਗਿਆਨ ਸਾਂਝਾ ਕਰਨਾ: ਟੀਮ ਦੇ ਮੈਂਬਰਾਂ ਲਈ ਜਟਿਲ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਸਮਝਣਾ ਆਸਾਨ ਬਣਾਓ
- ਕੋਡ ਗੁਣਵੱਤਾ: ਸਾਂਝੇ ਕੋਡਬੇਸ ਵਿੱਚ ਕੁੱਲ SQL ਕੋਡ ਦੀ ਗੁਣਵੱਤਾ ਨੂੰ ਸੁਧਾਰੋ
- ਨਵੇਂ ਮੈਂਬਰਾਂ ਦੀ ਭਰਤੀ: ਮੌਜੂਦਾ SQL ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਸਮਝਣ ਵਿੱਚ ਨਵੇਂ ਟੀਮ ਮੈਂਬਰਾਂ ਦੀ ਮਦਦ ਕਰੋ
ਡੇਟਾਬੇਸ ਪ੍ਰਬੰਧਨ
- ਪੁੱਛਗਿੱਛਾਂ ਦੀ ਸੁਧਾਰ: ਸੁਧਾਰ ਤੋਂ ਪਹਿਲਾਂ ਜਟਿਲ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਫਾਰਮੈਟ ਕਰੋ
- ਸਕ੍ਰਿਪਟ ਪ੍ਰਬੰਧਨ: ਪੜ੍ਹਨਯੋਗ ਡੇਟਾਬੇਸ ਰੱਖ-ਰਖਾਵ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਰੱਖੋ
- ਮਾਈਗ੍ਰੇਸ਼ਨ ਸਕ੍ਰਿਪਟ: ਡੇਟਾਬੇਸ ਮਾਈਗ੍ਰੇਸ਼ਨ SQL ਦੀ ਸਹੀਤਾ ਯਕੀਨੀ ਬਣਾਓ
- ਆਡਿਟ ਤਿਆਰੀ: ਅਨੁਕੂਲਤਾ ਆਡਿਟਾਂ ਲਈ SQL ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਸਾਫ਼ ਕਰੋ
ਵਿਕਲਪ
ਜਦੋਂ ਕਿ ਸਾਡਾ SQL ਫਾਰਮੈਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਅਹਮ ਫੰਕਸ਼ਨਲਿਟੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਕੁਝ ਵਿਕਲਪਾਂ 'ਤੇ ਵੀ ਵਿਚਾਰ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:
ਇੰਟੀਗ੍ਰੇਟਿਡ ਡਿਵੈਲਪਮੈਂਟ ਐਨਵਾਇਰਮੈਂਟ (IDE)
- SQL-ਖਾਸ IDE: DataGrip, SQL Server Management Studio ਜਾਂ MySQL Workbench ਵਰਗੇ ਟੂਲਾਂ ਵਿੱਚ ਬਿਲਟ-ਇਨ ਫਾਰਮੈਟਿੰਗ ਅਤੇ ਵੈਲੀਡੇਸ਼ਨ ਹੁੰਦੀ ਹੈ
- ਫਾਇਦੇ: ਡੇਟਾਬੇਸ ਕਨੈਕਸ਼ਨਾਂ, ਚਲਾਉਣ ਅਤੇ ਹੋਰ ਫੀਚਰਾਂ ਨਾਲ ਇੰਟੀਗ੍ਰੇਟ ਕੀਤਾ ਗਿਆ
- ਨੁਕਸਾਨ: ਅਕਸਰ ਇੰਸਟਾਲੇਸ਼ਨ ਦੀ ਲੋੜ, ਮਹਿੰਗੇ ਹੋ ਸਕਦੇ ਹਨ, ਅਤੇ ਸਰੋਤਾਂ ਨੂੰ ਭਾਰੀ ਬਣਾਉਂਦੇ ਹਨ
ਡੇਟਾਬੇਸ-ਖਾਸ ਟੂਲ
- PostgreSQL: pgFormatter, psql ਨਾਲ \e ਆਦੇਸ਼
- MySQL: MySQL Workbench ਫਾਰਮੈਟਰ
- SQL Server: SSMS ਫਾਰਮੈਟਿੰਗ ਵਿਕਲਪ
- ਫਾਇਦੇ: ਖਾਸ SQL ਡਾਇਲੈਕਟਾਂ ਲਈ ਅਨੁਕੂਲਿਤ
- ਨੁਕਸਾਨ: ਵੱਖ-ਵੱਖ ਡੇਟਾਬੇਸ ਸਿਸਟਮਾਂ ਵਿੱਚ ਪੋਰਟੇਬਲ ਨਹੀਂ ਹਨ
ਕੋਡ ਸੰਪਾਦਕ ਐਕਸਟੈਂਸ਼ਨ
- VS ਕੋਡ ਐਕਸਟੈਂਸ਼ਨ: SQL Beautify, SQL Formatter
- Sublime Text ਪੈਕੇਜ: SqlBeautifier
- ਫਾਇਦੇ: ਤੁਹਾਡੇ ਵਿਕਾਸ ਦੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਇੰਟੀਗ੍ਰੇਟ ਕੀਤਾ ਗਿਆ
- ਨੁਕਸਾਨ: ਸੰਰਚਨਾ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ, ਆਨਲਾਈਨ ਉਪਲਬਧ ਨਹੀਂ ਹੋ ਸਕਦੇ
ਕਮਾਂਡ-ਲਾਈਨ ਟੂਲ
- sqlformat: Python-ਅਧਾਰਿਤ SQL ਫਾਰਮੈਟਿੰਗ ਟੂਲ
- sql-formatter-cli: Node.js-ਅਧਾਰਿਤ ਫਾਰਮੈਟਰ
- ਫਾਇਦੇ: CI/CD ਪਾਈਪਲਾਈਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ
- ਨੁਕਸਾਨ: ਇੰਸਟਾਲੇਸ਼ਨ ਅਤੇ ਕਮਾਂਡ-ਲਾਈਨ ਗਿਆਨ ਦੀ ਲੋੜ
SQL ਫਾਰਮੈਟਿੰਗ ਅਤੇ ਵੈਲੀਡੇਸ਼ਨ ਦਾ ਇਤਿਹਾਸ
SQL ਮਿਆਰਾਂ ਦਾ ਵਿਕਾਸ
SQL (ਸਟ੍ਰਕਚਰਡ ਕੁਐਰੀ ਲੈਂਗਵੇਜ) 1970 ਦੇ ਦਹਾਕੇ ਵਿੱਚ IBM ਵਿੱਚ ਵਿਕਸਿਤ ਕੀਤਾ ਗਿਆ, ਪਹਿਲਾ ਵਪਾਰਕ ਕਾਰਜ 1979 ਵਿੱਚ ਰਿਲੀਜ਼ ਕੀਤਾ ਗਿਆ। ਅਮਰੀਕੀ ਨੈਸ਼ਨਲ ਸਟੈਂਡਰਡ ਇੰਸਟਿਟਿਊਟ (ANSI) ਨੇ 1986 ਵਿੱਚ ਪਹਿਲਾ SQL ਮਿਆਰ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤਾ, ਜਿਸ ਤੋਂ ਬਾਅਦ ਅੰਤਰਰਾਸ਼ਟਰ ਸੰਗਠਨ ਲਈ ਮਿਆਰੀकरण (ISO) ਨੇ 1987 ਵਿੱਚ ਕੀਤਾ।
ਜਿਵੇਂ SQL ਕਈ ਮਿਆਰਾਂ (SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2011, SQL:2016, ਅਤੇ SQL:2019) ਦੁਆਰਾ ਵਿਕਸਿਤ ਹੋਇਆ, ਫਾਰਮੈਟਿੰਗ ਦੇ ਅਭਿਆਸ ਵੀ ਵਿਕਸਿਤ ਹੋਏ ਤਾਂ ਜੋ ਕੋਡ ਦੀ ਪੜ੍ਹਨਯੋਗਤਾ ਅਤੇ ਰੱਖ-ਰਖਾਅ ਵਿੱਚ ਸੁਧਾਰ ਹੋ ਸਕੇ।
SQL ਫਾਰਮੈਟਿੰਗ ਦੇ ਰਿਵਾਜਾਂ ਦਾ ਵਿਕਾਸ
SQL ਦੇ ਪਹਿਲੇ ਦਿਨਾਂ ਵਿੱਚ, ਫਾਰਮੈਟਿੰਗ ਅਸੰਗਠਿਤ ਸੀ ਅਤੇ ਮੁੱਖ ਤੌਰ 'ਤੇ ਵਿਅਕਤੀਗਤ ਪਸੰਦਾਂ 'ਤੇ ਅਧਾਰਿਤ ਸੀ। ਜਿਵੇਂ ਜਿਵੇਂ ਡੇਟਾਬੇਸ ਸਿਸਟਮ ਵਧੇਰੇ ਜਟਿਲ ਹੋਏ ਅਤੇ ਟੀਮ ਅਧਾਰਿਤ ਵਿਕਾਸ ਆਮ ਹੋਇਆ, ਮਿਆਰੀਕਰਨ ਦੀ ਲੋੜ ਵਧੀ।
SQL ਫਾਰਮੈਟਿੰਗ ਦੇ ਇਤਿਹਾਸ ਵਿੱਚ ਕੁਝ ਮੁੱਖ ਮੀਲ ਪੱਥਰ:
- 1990 ਦੇ ਦਹਾਕੇ: ਸੰਗਠਨਾਂ ਵਿੱਚ ਪਹਿਲੇ SQL ਸ਼ੈਲੀ ਗਾਈਡ ਆਉਣ ਲੱਗੇ
- 2000 ਦੇ ਸ਼ੁਰੂ: ਵਸਤੂ-ਸੰਬੰਧੀ ਨਕਸ਼ਾ (ORM) ਟੂਲਾਂ ਦੀ ਉੱਥੇ ਗਤੀਵਿਧੀ ਨੇ SQL ਪੈਦਾਵਾਰ ਅਤੇ ਫਾਰਮੈਟਿੰਗ ਵਿੱਚ ਦਿਲਚਸਪੀ ਵਧਾਈ
- 2010 ਦੇ ਦਹਾਕੇ: ਆਨਲਾਈਨ SQL ਫਾਰਮੈਟਿੰਗ ਟੂਲਾਂ ਦੀ ਪ੍ਰਸਿੱਧੀ ਵਧੀ ਜਦੋਂ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦਾ ਵਿਕਾਸ ਹੋਇਆ
- ਵਰਤਮਾਨ: ਆਟੋਮੈਟਿਕ ਫਾਰਮੈਟਿੰਗ ਹੁਣ ਡੇਟਾਬੇਸ ਵਿਕਾਸ ਵਿੱਚ ਇੱਕ ਚੰਗੀ ਅਭਿਆਸ ਮੰਨੀ ਜਾਂਦੀ ਹੈ
SQL ਵੈਲੀਡੇਸ਼ਨ ਦਾ ਵਿਕਾਸ
SQL ਵੈਲੀਡੇਸ਼ਨ ਸਧਾਰਨ ਵਿਆਕਰਨ ਦੀ ਜਾਂਚ ਤੋਂ ਲੈ ਕੇ ਵਧੇਰੇ ਸੁਧਾਰਿਤ ਵਿਸ਼ਲੇਸ਼ਣ ਤੱਕ ਵਿਕਸਿਤ ਹੋਇਆ:
- ਪਹਿਲੇ ਡੇਟਾਬੇਸ ਸਿਸਟਮ: ਵਿਆਕਰਨ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਲਈ ਆਧਾਰਿਕ ਗਲਤੀ ਸੁਨੇਹੇ ਪ੍ਰਦਾਨ ਕੀਤੇ
- 1990 ਦੇ ਦਹਾਕੇ-2000 ਦੇ ਦਹਾਕੇ: ਸਮਰਪਿਤ SQL ਪਾਰਸਰਾਂ ਅਤੇ ਵੈਲੀਡੇਟਰਾਂ ਦਾ ਵਿਕਾਸ
- 2010 ਦੇ ਦਹਾਕੇ: ਵਿਕਾਸ ਦੇ ਕਾਰਜਾਂ ਅਤੇ CI/CD ਪਾਈਪਲਾਈਨਾਂ ਵਿੱਚ SQL ਵੈਲੀਡੇਸ਼ਨ ਦੀ ਇੰਟੀਗ੍ਰੇਸ਼ਨ
- ਵਰਤਮਾਨ: AI-ਸਹਾਇਤ SQL ਵੈਲੀਡੇਸ਼ਨ ਜੋ ਸੁਧਾਰਾਂ ਦੀ ਸੁਝਾਅ ਦੇ ਸਕਦੀ ਹੈ ਅਤੇ ਸੰਭਾਵਿਤ ਕਾਰਗੁਜ਼ਾਰੀ ਸਮੱਸਿਆਵਾਂ ਦੀ ਪਛਾਣ ਕਰ ਸਕਦੀ ਹੈ
ਕੋਡ ਉਦਾਹਰਨਾਂ
ਉਦਾਹਰਨ 1: ਬੁਨਿਆਦੀ SELECT ਪੁੱਛਗਿੱਛ
ਅਣਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ:
1select id, first_name, last_name, email from customers where status = 'active' order by last_name, first_name;
2
ਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ:
1SELECT
2 id,
3 first_name,
4 last_name,
5 email
6FROM
7 customers
8WHERE
9 status = 'active'
10ORDER BY
11 last_name,
12 first_name;
13
ਉਦਾਹਰਨ 2: JOIN ਪੁੱਛਗਿੱਛ
ਅਣਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ:
1select c.id, c.name, o.order_date, o.total_amount from customers c left join orders o on c.id = o.customer_id where o.order_date >= '2023-01-01' and o.status != 'cancelled' order by o.order_date desc;
2
ਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ:
1SELECT
2 c.id,
3 c.name,
4 o.order_date,
5 o.total_amount
6FROM
7 customers c
8 LEFT JOIN orders o ON c.id = o.customer_id
9WHERE
10 o.order_date >= '2023-01-01'
11 AND o.status != 'cancelled'
12ORDER BY
13 o.order_date DESC;
14
ਉਦਾਹਰਨ 3: ਜਟਿਲ ਪੁੱਛਗਿੱਛ ਨਾਲ ਉਪ-ਪੁੱਛਗਿੱਛ
ਅਣਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ:
1select d.department_name, (select count(*) from employees e where e.department_id = d.id) as employee_count, (select avg(salary) from employees e where e.department_id = d.id) as avg_salary from departments d where d.active = true having employee_count > 0 order by avg_salary desc;
2
ਫਾਰਮੈਟ ਕੀਤਾ ਗਿਆ:
1SELECT
2 d.department_name,
3 (
4 SELECT
5 COUNT(*)
6 FROM
7 employees e
8 WHERE
9 e.department_id = d.id
10 ) AS employee_count,
11 (
12 SELECT
13 AVG(salary)
14 FROM
15 employees e
16 WHERE
17 e.department_id = d.id
18 ) AS avg_salary
19FROM
20 departments d
21WHERE
22 d.active = TRUE
23HAVING
24 employee_count > 0
25ORDER BY
26 avg_salary DESC;
27
ਪ੍ਰੋਗਰਾਮੈਟਿਕ SQL ਫਾਰਮੈਟਿੰਗ
ਇੱਥੇ ਵੱਖ-ਵੱਖ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ SQL ਫਾਰਮੈਟਿੰਗ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੇ ਉਦਾਹਰਨ ਹਨ:
1// JavaScript SQL ਫਾਰਮੈਟਿੰਗ ਉਦਾਹਰਨ sql-formatter ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ
2const sqlFormatter = require('sql-formatter');
3
4function formatSQL(sql) {
5 return sqlFormatter.format(sql, {
6 language: 'sql',
7 uppercase: true,
8 linesBetweenQueries: 2,
9 indentStyle: 'standard'
10 });
11}
12
13const rawSQL = "select id, name from users where status='active'";
14const formattedSQL = formatSQL(rawSQL);
15console.log(formattedSQL);
16
1# Python SQL ਫਾਰਮੈਟਿੰਗ ਉਦਾਹਰਨ sqlparse ਦੀ ਵਰਤੋਂ ਕਰਕੇ
2import sqlparse
3
4def format_sql(sql):
5 return sqlparse.format(
6 sql,
7 reindent=True,
8 keyword_case='upper',
9 identifier_case='lower',
10 indent_width=2
11 )
12
13raw_sql = "select id, name from users where status='active'"
14formatted_sql = format_sql(raw_sql)
15print(formatted_sql)
16
1// Java SQL ਫਾਰਮੈਟਿੰਗ ਉਦਾਹਰਨ JSqlParser ਦੀ ਵਰਤੋਂ ਕਰਕੇ
2import net.sf.jsqlparser.parser.CCJSqlParserUtil;
3import net.sf.jsqlparser.statement.Statement;
4
5public class SQLFormatter {
6 public static String formatSQL(String sql) throws Exception {
7 Statement statement = CCJSqlParserUtil.parse(sql);
8 return statement.toString()
9 .replaceAll("(?i)SELECT", "\nSELECT")
10 .replaceAll("(?i)FROM", "\nFROM")
11 .replaceAll("(?i)WHERE", "\nWHERE")
12 .replaceAll("(?i)ORDER BY", "\nORDER BY");
13 }
14
15 public static void main(String[] args) throws Exception {
16 String rawSQL = "select id, name from users where status='active'";
17 String formattedSQL = formatSQL(rawSQL);
18 System.out.println(formattedSQL);
19 }
20}
21
1<?php
2// PHP SQL ਫਾਰਮੈਟਿੰਗ ਉਦਾਹਰਨ
3function formatSQL($sql) {
4 // ਕੀਵਰਡਾਂ ਨੂੰ ਉੱਪਰਲੇ ਵਰਜਨਾਂ ਨਾਲ ਬਦਲੋ
5 $keywords = ['SELECT', 'FROM', 'WHERE', 'JOIN', 'LEFT JOIN', 'RIGHT JOIN',
6 'INNER JOIN', 'GROUP BY', 'ORDER BY', 'HAVING', 'LIMIT'];
7
8 $formattedSQL = $sql;
9 foreach ($keywords as $keyword) {
10 $formattedSQL = preg_replace('/\b' . preg_quote($keyword, '/') . '\b/i', "\n$keyword", $formattedSQL);
11 }
12
13 // ਇੰਡੇਟੇਸ਼ਨ ਸ਼ਾਮਲ ਕਰੋ
14 $lines = explode("\n", $formattedSQL);
15 $result = '';
16 $indentLevel = 0;
17
18 foreach ($lines as $line) {
19 $trimmedLine = trim($line);
20 if (!empty($trimmedLine)) {
21 $result .= str_repeat(" ", $indentLevel) . $trimmedLine . "\n";
22 }
23 }
24
25 return $result;
26}
27
28$rawSQL = "select id, name from users where status='active'";
29$formattedSQL = formatSQL($rawSQL);
30echo $formattedSQL;
31?>
32
ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ
SQL ਫਾਰਮੈਟਿੰਗ ਕੀ ਹੈ?
SQL ਫਾਰਮੈਟਿੰਗ ਉਹ ਪ੍ਰਕਿਰਿਆ ਹੈ ਜਿਸ ਵਿੱਚ SQL ਕੋਡ ਨੂੰ ਸਹੀ ਇੰਡੇਟੇਸ਼ਨ, ਲਾਈਨ ਬ੍ਰੇਕ ਅਤੇ ਕੈਪੀਟਲਾਈਜ਼ੇਸ਼ਨ ਨਾਲ ਢਾਂਚਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਇਹ ਪੜ੍ਹਨਯੋਗ ਅਤੇ ਰੱਖ-ਰਖਾਅ ਯੋਗ ਬਣੇ। ਚੰਗੀ SQL ਫਾਰਮੈਟਿੰਗ ਮਿਆਰੀ ਰਿਵਾਜਾਂ ਦਾ ਪਾਲਣ ਕਰਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਕੀਵਰਡਾਂ ਨੂੰ ਕੈਪੀਟਲਾਈਜ਼ ਕਰਨਾ, ਕਲਾਜਾਂ ਨੂੰ ਵੱਖਰੇ ਲਾਈਨਾਂ 'ਤੇ ਰੱਖਣਾ ਅਤੇ ਨੈਸਟ ਕੀਤੀਆਂ ਸੰਰਚਨਾਵਾਂ ਲਈ ਇਕਸਾਰ ਇੰਡੇਟੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ।
ਮੈਨੂੰ ਆਪਣੀਆਂ SQL ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਫਾਰਮੈਟ ਕਰਨ ਦੀ ਲੋੜ ਕਿਉਂ ਹੈ?
SQL ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਫਾਰਮੈਟ ਕਰਨ ਦੇ ਕਈ ਫਾਇਦੇ ਹਨ:
- ਪੜ੍ਹਨਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ ਜਿਸ ਨਾਲ ਜਟਿਲ ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਸਮਝਣਾ ਆਸਾਨ ਬਣਦਾ ਹੈ
- ਡੀਬੱਗਿੰਗ ਅਤੇ ਰੱਖ-ਰਖਾਅ ਨੂੰ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ
- ਟੀਮ ਦੇ ਮੈਂਬਰਾਂ ਨਾਲ ਬਿਹਤਰ ਸਹਿਯੋਗ
- ਵਿਆਕਰਨ ਦੀਆਂ ਗਲਤੀਆਂ ਦੇ ਹੋਣ ਦੀ ਸੰਭਾਵਨਾ ਘਟਾਉਂਦਾ ਹੈ
- ਪ੍ਰੋਫੈਸ਼ਨਲ ਦਿਸ਼ਾ ਵਿੱਚ ਦਸਤਾਵੇਜ਼ੀकरण ਅਤੇ ਪ੍ਰਸਤੁਤੀਆਂ ਵਿੱਚ ਇਕਸਾਰ ਕੋਡ ਸ਼ੈਲੀ
- ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਇਕਸਾਰ ਕੋਡ ਸ਼ੈਲੀ
ਇਸ ਫਾਰਮੈਟਰ ਨੂੰ ਕਿਹੜੇ SQL ਡਾਇਲੈਕਟਾਂ ਦੀ ਸਮਰਥਨ ਹੈ?
ਇਹ SQL ਫਾਰਮੈਟਰ ਮਿਆਰੀ SQL ਵਿਆਖਿਆ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਜੋ ਕਿ ਜ਼ਿਆਦਾਤਰ ਮੁੱਖ ਡੇਟਾਬੇਸ ਸਿਸਟਮਾਂ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- MySQL
- PostgreSQL
- SQL Server (T-SQL)
- Oracle
- SQLite
- MariaDB
ਜਦੋਂ ਕਿ ਫਾਰਮੈਟਰ ਮਿਆਰੀ SQL ਨੂੰ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਭਾਲਦਾ ਹੈ, ਕੁਝ ਡਾਇਲੈਕਟ-ਖਾਸ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸ਼ਾਇਦ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਫਾਰਮੈਟ ਨਾ ਕੀਤਾ ਜਾਵੇ।
ਕੀ ਵੈਲੀਡੇਟਰ ਸਾਰੇ ਸੰਭਵ SQL ਗਲਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ?
ਵੈਲੀਡੇਟਰ ਆਮ ਵਿਆਕਰਨ ਦੀਆਂ ਗਲਤੀਆਂ ਅਤੇ ਢਾਂਚਾਗਤ ਸਮੱਸਿਆਵਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਪਰ ਸਾਰੇ ਸੰਭਵ ਗਲਤੀਆਂ ਦੀ ਪਛਾਣ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਖਾਸ ਕਰਕੇ ਉਹ ਜੋ:
- ਡੇਟਾਬੇਸ-ਖਾਸ ਵਿਆਕਰਨ ਦੇ ਵੱਖਰੇ ਅੰਸ਼
- ਵਸਤੂਆਂ ਦੀ ਮੌਜੂਦਗੀ (ਟੇਬਲਾਂ, ਕਾਲਮ, ਆਦਿ.)
- ਡੇਟਾ ਕਿਸਮ ਦੀ ਸਮਰਥਤਾ
- ਕਾਰਗੁਜ਼ਾਰੀ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ
- ਕਾਰੋਬਾਰੀ ਤਰਕ ਸਮੱਸਿਆਵਾਂ
ਇਸਨੂੰ ਆਪਣੇ ਡੇਟਾਬੇਸ ਦੇ ਖਿਲਾਫ਼ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਪਹਿਲੀ ਰੇਖਾ ਦੇ ਰੂਪ ਵਿੱਚ ਵਰਤਣਾ ਸਭ ਤੋਂ ਵਧੀਆ ਹੈ।
ਕੀ ਮੈਂ ਫਾਰਮੈਟਿੰਗ ਸ਼ੈਲੀ ਨੂੰ ਆਪਣੀ ਮਰਜ਼ੀ ਦੇ ਅਨੁਸਾਰ ਬਦਲ ਸਕਦਾ ਹਾਂ?
ਵਰਤਮਾਨ ਵਿੱਚ, ਫਾਰਮੈਟਰ ਇੱਕ ਮਿਆਰੀ ਸ਼ੈਲੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਜੋ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਮੰਨੀਆਂ ਗਈ SQL ਰਿਵਾਜਾਂ 'ਤੇ ਅਧਾਰਿਤ ਹੈ। ਭਵਿੱਖ ਦੇ ਸੰਸਕਰਣਾਂ ਵਿੱਚ ਫਾਰਮੈਟਿੰਗ ਸ਼ੈਲੀ ਲਈ ਕਸਟਮਾਈਜ਼ੇਸ਼ਨ ਦੇ ਵਿਕਲਪ ਸ਼ਾਮਲ ਹੋ ਸਕਦੇ ਹਨ:
- ਇੰਡੇਟੇਸ਼ਨ ਦੀ ਚੌੜਾਈ
- ਕੀਵਰਡ ਕੈਪੀਟਲਾਈਜ਼ੇਸ਼ਨ ਦੀ ਪਸੰਦ
- ਲਾਈਨ ਬ੍ਰੇਕ ਦੀ ਸਥਿਤੀ
- ਕਾਮਾ ਦੀ ਪੋਜ਼ੀਸ਼ਨ (ਲੀਡਿੰਗ ਵਿਰਸਸ ਟ੍ਰੇਲਿੰਗ)
- ਕੋਸ਼ਾਂ ਦੀ ਫਾਰਮੈਟਿੰਗ
ਕੀ ਮੇਰੇ SQL ਡੇਟਾ ਇਸ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਸੁਰੱਖਿਅਤ ਹੈ?
ਹਾਂ, ਇਹ ਟੂਲ ਤੁਹਾਡੇ ਸਾਰੇ SQL ਨੂੰ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਪ੍ਰਕਿਰਿਆ ਕਰਦਾ ਹੈ। ਤੁਹਾਡੇ SQL ਪੁੱਛਗਿੱਛ ਕਿਸੇ ਵੀ ਸਰਵਰ ਨੂੰ ਭੇਜੇ ਜਾਂ ਕਿਸੇ ਵੀ ਥਾਂ ਸਟੋਰ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ। ਇਸ ਨਾਲ ਸੰਵੇਦਨਸ਼ੀਲ ਜਾਂ ਮਾਲਕੀ SQL ਕੋਡ ਨਾਲ ਵਰਤਣ ਲਈ ਇਹ ਸੁਰੱਖਿਅਤ ਬਣਾਉਂਦਾ ਹੈ।
ਕੀ ਮੈਂ ਬਹੁਤ ਵੱਡੀਆਂ SQL ਪੁੱਛਗਿੱਛਾਂ ਨੂੰ ਫਾਰਮੈਟ ਕਰ ਸਕਦਾ ਹਾਂ?
ਬਹੁਤ ਵੱਡੀਆਂ SQL ਪੁੱਛਗਿੱਛਾਂ ਲਈ:
- ਪੂਰੀ ਪੁੱਛਗਿੱਛ ਨੂੰ ਇਨਪੁਟ ਖੇਤਰ ਵਿੱਚ ਪੇਸਟ ਕਰੋ
- ਟੂਲ ਇਸਨੂੰ ਆਟੋਮੈਟਿਕ ਤੌਰ 'ਤੇ ਪ੍ਰਕਿਰਿਆ ਕਰੇਗਾ, ਹਾਲਾਂਕਿ ਜਟਿਲ ਪੁੱਛਗਿੱਛਾਂ ਲਈ ਇਹ ਕੁਝ ਸਮਾਂ ਲੈ ਸਕਦਾ ਹੈ
- ਬਹੁਤ ਵੱਡੀਆਂ ਪੁੱਛਗਿੱਛਾਂ (10,000+ ਅੱਖਰ) ਲਈ, ਤੁਸੀਂ ਇੱਕ ਛੋਟੀ ਪ੍ਰਕਿਰਿਆ ਦੇ ਬਾਅਦ ਇੱਕ ਛੋਟੀ ਦੇਰੀ ਦੇਖ ਸਕਦੇ ਹੋ
ਕੀ ਮੈਂ ਇਸ ਟੂਲ ਨੂੰ ਆਫਲਾਈਨ ਵਰਤ ਸਕਦਾ ਹਾਂ?
ਇਹ ਵੈਬ-ਅਧਾਰਿਤ ਟੂਲ ਸ਼ੁਰੂ ਵਿੱਚ ਇੱਕ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਦੀ ਲੋੜ ਹੈ। ਹਾਲਾਂਕਿ, ਇੱਕ ਵਾਰੀ ਲੋਡ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਇਹ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਪੂਰੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਪੂਰੀ ਤਰ੍ਹਾਂ ਆਫਲਾਈਨ ਵਰਤੋਂ ਲਈ, ਵਿਚਾਰ ਕਰੋ:
- SQL ਫਾਰਮੈਟਿੰਗ ਲਈ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ
- ਡੈਸਕਟਾਪ SQL IDEs ਜੋ ਫਾਰਮੈਟਿੰਗ ਦੀ ਸਮਰਥਨ ਕਰਦੇ ਹਨ
- ਕਮਾਂਡ-ਲਾਈਨ SQL ਫਾਰਮੈਟਿੰਗ ਟੂਲ
ਇਹ ਵੈਲੀਡੇਟਰ ਵੱਖ-ਵੱਖ SQL ਸੰਸਕਰਣਾਂ ਨਾਲ ਕਿਵੇਂ ਨਿਬਟਦਾ ਹੈ?
ਵੈਲੀਡੇਟਰ SQL ਦੇ ਉਹਨਾਂ ਤੱਤਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਜੋ ਆਮ ਤੌਰ 'ਤੇ SQL ਸੰਸਕਰਣਾਂ (SQL-92 ਅਤੇ ਉਸ ਤੋਂ ਬਾਅਦ) ਵਿੱਚ ਮੌਜੂਦ ਹਨ। ਇਹ ਕੁਝ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਪਛਾਣ ਨਹੀਂ ਕਰ ਸਕਦਾ ਜੋ ਨਵੀਂ SQL ਮਿਆਰਾਂ ਜਾਂ ਮਾਲਕੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਹਨ। ਸੰਸਕਰਣ-ਖਾਸ ਵੈਲੀਡੇਸ਼ਨ ਲਈ, ਆਪਣੇ ਡੇਟਾਬੇਸ ਵਿਕਰੇਤਾ ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਟੂਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸੋਚੋ।
ਕੀ ਮੈਂ ਆਪਣੇ IDE ਜਾਂ ਕਾਰਜ ਪ੍ਰਵਾਹ ਵਿੱਚ ਇਸ ਫਾਰਮੈਟਰ ਨੂੰ ਸ਼ਾਮਲ ਕਰ ਸਕਦਾ ਹਾਂ?
ਜਦੋਂ ਕਿ ਇਹ ਵੈਬ ਟੂਲ ਸਿੱਧਾ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਦੀ ਪੇਸ਼ਕਸ਼ ਨਹੀਂ ਕਰਦਾ, ਬਹੁਤ ਸਾਰੇ IDE ਇਸੇ ਤਰ੍ਹਾਂ ਦੀ ਫਾਰਮੈਟਿੰਗ ਦੀ ਸਮਰਥਨ ਕਰਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਐਕਸਟੈਂਸ਼ਨਾਂ ਜਾਂ ਪਲੱਗਇਨਾਂ ਦੁਆਰਾ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਆਟੋਮੈਟਿਕ ਕਾਰਜ ਪ੍ਰਵਾਹਾਂ ਲਈ, ਕਮਾਂਡ-ਲਾਈਨ ਟੂਲਾਂ ਬਾਰੇ ਸੋਚੋ ਜਿਵੇਂ:
- sqlformat (Python)
- sql-formatter-cli (Node.js)
- pgFormatter (PostgreSQL-ਖਾਸ)
ਹਵਾਲੇ
- "SQL ਸ਼ੈਲੀ ਗਾਈਡ" ਸਿਮਨ ਹੋਲੀਵੈਲ ਦੁਆਰਾ। https://www.sqlstyle.guide/
- "SQL ਪ੍ਰੀਟੀ ਪ੍ਰਿੰਟਰ SQL ਫਾਰਮੈਟਿੰਗ ਮਿਆਰ।" https://www.sqlshack.com/sql-formatting-standards-sql-pretty-printer/
- "SQL:2016 ਮਿਆਰ।" ਅੰਤਰਰਾਸ਼ਟਰ ਸੰਗਠਨ ਲਈ ਮਿਆਰੀकरण। https://www.iso.org/standard/63555.html
- "SQL ਕੋਡ ਫਾਰਮੈਟਿੰਗ।" PostgreSQL ਦਸਤਾਵੇਜ਼। https://www.postgresql.org/docs/current/sql-syntax.html
- "SQL ਸਰਵਰ T-SQL ਫਾਰਮੈਟਿੰਗ ਮਿਆਰ।" ਮਾਈਕਰੋਸਾਫਟ ਦਸਤਾਵੇਜ਼। https://docs.microsoft.com/en-us/sql/t-sql/
ਅੱਜ ਹੀ ਸਾਡੇ SQL ਫਾਰਮੈਟਰ ਅਤੇ ਵੈਲੀਡੇਟਰ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣੇ SQL ਕੋਡ ਦੀ ਗੁਣਵੱਤਾ, ਪੜ੍ਹਨਯੋਗਤਾ ਅਤੇ ਸਹੀਤਾ ਨੂੰ ਸੁਧਾਰ ਸਕੋ!
ਫੀਡਬੈਕ
ਇਸ ਟੂਲ ਬਾਰੇ ਫੀਡਬੈਕ ਦੇਣ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਫੀਡਬੈਕ ਟੋਸਟ 'ਤੇ ਕਲਿੱਕ ਕਰੋ
ਸੰਬੰਧਿਤ ਟੂਲ
ਹੋਰ ਟੂਲਾਂ ਦੀ ਖੋਜ ਕਰੋ ਜੋ ਤੁਹਾਡੇ ਕੰਮ ਦੇ ਪ੍ਰਵਾਹ ਲਈ ਲਾਭਦਾਇਕ ਹੋ ਸਕਦੀਆਂ ਹਨ