এসকিউএল কোয়েরিগুলি সঠিক ইনডেন্টেশন এবং ক্যাপিটালাইজেশন সহ ফরম্যাট করুন এবং সিনট্যাক্স যাচাই করুন। আপনার ডেটাবেস কোয়েরিগুলিকে তাত্ক্ষণিকভাবে পড়ার যোগ্য এবং ত্রুটিমুক্ত করে তোলে।
আপনার এসকিউএল কোয়েরিগুলি সঠিক ইন্ডেন্টেশন এবং সিনট্যাক্স চেকিং সহ ফরম্যাট এবং ভ্যালিডেট করার জন্য একটি সহজ টুল।
SQL ফরম্যাটার এবং ভ্যালিডেটর হল একটি শক্তিশালী এবং ব্যবহারকারী-বান্ধব অনলাইন টুল যা ডেভেলপার, ডেটাবেস প্রশাসক এবং SQL শিক্ষার্থীদের তাদের SQL কোয়েরিগুলি কার্যকরভাবে ফরম্যাট এবং ভ্যালিডেট করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে। এই বিনামূল্যের টুলটি স্বয়ংক্রিয়ভাবে SQL কমান্ডগুলিকে সঠিক ইন্ডেন্টেশন, ক্যাপিটালাইজেশন এবং স্পেসিং সহ স্ট্যান্ডার্ড SQL সিনট্যাক্স নিয়ম অনুযায়ী ফরম্যাট করে, আপনার কোয়েরিগুলিকে আরও পড়তে এবং রক্ষণাবেক্ষণ করতে সহজ করে তোলে। এছাড়াও, এটি আপনার ডেটাবেসের বিরুদ্ধে কার্যকর করার আগে সাধারণ সিনট্যাক্স ত্রুটি চিহ্নিত করতে ভ্যালিডেশন চেক করে, সম্ভাব্যভাবে ডিবাগিং সময়ের ঘণ্টা বাঁচায়। আপনি জটিল ডেটাবেস কোয়েরি লিখছেন, SQL শিখছেন বা কেবল অগোছালো SQL কোড পরিষ্কার করতে চান, এই ফরম্যাটার এবং ভ্যালিডেটর একটি স্বজ্ঞাত ইন্টারফেস প্রদান করে যা আপনার SQL ওয়ার্কফ্লোকে তাত্ক্ষণিকভাবে উন্নত করে।
SQL ফরম্যাটার এবং ভ্যালিডেটর ব্যবহার করা সহজ:
ইন্টারফেসটি স্বজ্ঞাত এবং প্রতিক্রিয়াশীল হতে ডিজাইন করা হয়েছে, ডেস্কটপ এবং মোবাইল ডিভাইস উভয়েই নির্বিঘ্নে কাজ করে।
ফরম্যাটারটি স্বয়ংক্রিয়ভাবে SQL কীওয়ার্ড যেমন SELECT, FROM, WHERE, JOIN ইত্যাদি ক্যাপিটালাইজ করে, এগুলিকে টেবিল এবং কলামের নাম থেকে আলাদা করে। এটি পড়ার যোগ্যতা উন্নত করে এবং স্ট্যান্ডার্ড SQL শৈলী রীতির অনুসরণ করে।
SQL কোয়েরিগুলি তাদের যৌক্তিক কাঠামো অনুযায়ী ইন্ডেন্ট করা হয়:
ফরম্যাটারটি আপনার কোয়েরিতে যৌক্তিক পয়েন্টগুলিতে লাইন ব্রেক ইনসার্ট করে:
পড়ার যোগ্যতা বাড়ানোর জন্য অপারেটর, বন্ধনী এবং ক্লজগুলির মধ্যে সঠিক স্পেসিংও যোগ করা হয়।
ভ্যালিডেটর সাধারণ SQL সিনট্যাক্স ত্রুটির জন্য চেক করে এবং পরিষ্কার প্রতিক্রিয়া প্রদান করে:
ভ্যালিডেটরটি সাধারণ যৌক্তিক ত্রুটিগুলিও চিহ্নিত করে:
যখন ত্রুটি সনাক্ত করা হয়, সেগুলি একটি পরিষ্কার, ব্যবহারকারী-বান্ধব ফরম্যাটে প্রদর্শিত হয়:
SQL ফরম্যাটার এই নির্দিষ্ট নিয়মগুলি অনুসরণ করে যাতে সঙ্গতিপূর্ণ, পড়তে সহজ SQL নিশ্চিত করা যায়:
সমস্ত SQL কীওয়ার্ড ক্যাপিটালাইজ করা হয়, যার মধ্যে রয়েছে:
ফরম্যাটিংয়ের আগে:
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:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6
ভ্যালিডেশন ত্রুটি:
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 ভ্যালিডেশন সহজ সিনট্যাক্স চেকিং থেকে আরও জটিল বিশ্লেষণে বিকশিত হয়েছে:
অফরম্যাটেড:
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
অফরম্যাটেড:
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
অফরম্যাটেড:
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 ফরম্যাটিং বাস্তবায়নের উদাহরণ এখানে রয়েছে:
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# পাইথন 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// জাভা 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 সংস্করণগুলির মধ্যে সাধারণ (SQL-92 এবং পরে)। এটি সর্বশেষ SQL মান বা proprietary এক্সটেনশনের জন্য কিছু বৈশিষ্ট্য সনাক্ত নাও করতে পারে। সংস্করণ-নির্দিষ্ট ভ্যালিডেশনের জন্য, আপনার ডেটাবেস ভেন্ডরের দ্বারা প্রদত্ত টুলগুলি ব্যবহার করার কথা বিবেচনা করুন।
যদিও এই ওয়েব টুলটি সরাসরি একীকরণের অফার করে না, অনেক IDE-এর এক্সটেনশন বা প্লাগইনগুলির মাধ্যমে অনুরূপ ফরম্যাটিং ক্ষমতা রয়েছে। স্বয়ংক্রিয় ওয়ার্কফ্লোরের জন্য, কমান্ড-লাইন টুলগুলি বিবেচনা করুন যেমন:
আজই আমাদের SQL ফরম্যাটার এবং ভ্যালিডেটর চেষ্টা করুন আপনার SQL কোডের গুণমান, পড়ার যোগ্যতা এবং সঠিকতা উন্নত করতে!
আপনার কাজে দরকারী হতে পারে আরো টুল খুঁজে বের করুন