SQL Formatētājs un Validētājs: Tīrīt, Formatēt un Pārbaudīt SQL Sintaksi
Formatējiet SQL vaicājumus ar pareizu atkāpi un lielajiem burtiem, vienlaikus validējot sintaksi. Padara jūsu datu bāzes vaicājumus lasāmus un bez kļūdām uzreiz.
SQL Formatētājs un Validētājs
Vienkāršs rīks, lai formatētu un validētu jūsu SQL vaicājumus ar pareizu atkāpi un sintakses pārbaudi.
Dokumentācija
SQL Formatētājs un Validētājs
Ievads
SQL Formatētājs un Validētājs ir jaudīgs, taču lietotājam draudzīgs tiešsaistes rīks, kas izstrādāts, lai palīdzētu izstrādātājiem, datu bāzu administratoriem un SQL iesācējiem efektīvi formatēt un validēt savus SQL vaicājumus. Šis bezmaksas rīks automātiski formatē SQL komandas ar pareizu atkāpi, lielo burtu rakstību un atstarpiem, ievērojot standarta SQL sintakses noteikumus, padarot jūsu vaicājumus vieglāk lasāmus un uzturamus. Turklāt tas veic validācijas pārbaudes, lai identificētu izplatītas sintakses kļūdas pirms to izpildes pret jūsu datu bāzi, potenciāli ietaupot stundas, kas pavadītas kļūdu labojumiem. Neatkarīgi no tā, vai rakstāt sarežģītus datu bāzu vaicājumus, mācāties SQL vai vienkārši nepieciešams sakārtot nekārtīgu SQL kodu, šis formatētājs un validētājs nodrošina intuitīvu saskarni, lai nekavējoties uzlabotu jūsu SQL darba plūsmu.
Kā izmantot šo rīku
SQL Formatētāja un Validētāja izmantošana ir vienkārša:
- Ievadiet savu SQL vaicājumu: Ierakstiet vai ielīmējiet savu SQL vaicājumu ievades teksta laukā.
- Automātiskā formatēšana: Rīks automātiski formatē jūsu SQL reāllaikā, parādot rezultātu izvades laukā.
- Validācija: Rīks automātiski pārbauda jūsu SQL sintaksi un parāda atrastas problēmas.
- Kopēt formatēto SQL: Noklikšķiniet uz "Kopēt" pogas, lai kopētu formatēto SQL uz jūsu starpliktuvi, lai izmantotu to savās lietojumprogrammās vai datu bāzu rīkos.
Saskarne ir izstrādāta, lai būtu intuitīva un atsaucīga, strādājot nevainojami gan darbvirsmā, gan mobilajās ierīcēs.
SQL formatēšanas funkcijas
Automātiska atslēgvārdu lielo burtu rakstība
Formatētājs automātiski pārraksta SQL atslēgvārdus, piemēram, SELECT, FROM, WHERE, JOIN utt., padarot tos izceļošus no tabulu un kolonnu nosaukumiem. Tas uzlabo lasāmību un atbilst standarta SQL stila konvencijām.
Pareiza atkāpe
SQL vaicājumi tiek atkāpti atbilstoši to loģiskajai struktūrai:
- Galvenās klauzulas (SELECT, FROM, WHERE utt.) sākas no kreisā margina
- JOIN klauzulas tiek atkāptas zem FROM
- Kolonas SELECT izteiksmēs ir izlīdzinātas
- Iekšējie vaicājumi saņem papildu atkāpes līmeņus
- Nosacījumi WHERE klauzulās ir pareizi izlīdzināti
Rindkopas un atstarpes
Formatētājs ievieto rindkopas loģiskās vietās jūsu vaicājumā:
- Pēc katras galvenās klauzulas (SELECT, FROM, WHERE utt.)
- Starp elementiem komatu atdalītā sarakstā
- Pirms un pēc iekšējiem vaicājumiem
- Starp CASE izteiksmēm
Tiek pievienotas arī pareizas atstarpes ap operatoriem, iekavām un starp klauzulām, lai uzlabotu lasāmību.
SQL validācijas funkcijas
Validētājs pārbauda izplatītas SQL sintakses kļūdas un sniedz skaidru atsauksmi:
Sintakses kļūdu noteikšana
- Nesabalansētas iekavas: Atklāj trūkstošas atvērtas vai aizvērtas iekavas
- Nekonstatēti citāti: Identificē neaizvērtas virknes literālus
- Trūkstoši semikoli: Pārbauda, vai izteiksmes beidzas ar semikolu
- Klauzulu secība: Pārbauda, vai SQL klauzulas parādās pareizā secībā
Izplatītas SQL kļūdas
Validētājs arī identificē izplatītas loģiskās kļūdas:
- JOIN bez ON nosacījuma: Atklāj JOIN klauzulas, kurām trūkst ON nosacījuma
- Nepilnīgas WHERE nosacījumi: Identificē WHERE klauzulas ar nepilnīgām predikātiem
- HAVING bez GROUP BY: Atklāj HAVING klauzulas, kas izmantotas bez atbilstoša GROUP BY
- Tukšas klauzulas: Atklāj tukšas GROUP BY, ORDER BY vai citas klauzulas
Validācijas atsauksmes
Kad tiek konstatētas kļūdas, tās tiek parādītas skaidrā, lietotājam draudzīgā formātā:
- Katra kļūda tiek uzskaitīta ar aprakstošu ziņojumu
- Tiek identificēta kļūdas veids
- Var tikt sniegtas ieteikumi, kā labot kļūdu
SQL formatēšanas noteikumi
SQL formatētājs ievēro šos specifiskos noteikumus, lai nodrošinātu konsekventu, lasāmu SQL:
Atslēgvārdu lielo burtu rakstība
Visi SQL atslēgvārdi tiek rakstīti ar lielajiem burtiem, tostarp:
- Izteiksmju veidi: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP
- Klauzulas: FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT
- Savienojumi: JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN
- Operatori: AND, OR, NOT, IN, BETWEEN, LIKE, IS NULL
- Funkcijas: COUNT, SUM, AVG, MAX, MIN, CASE, WHEN, THEN, ELSE, END
Atkāpe un rindkopas
- Galvenās klauzulas sākas jaunā rindā
- Iekšējie vaicājumi tiek atkāpti ar divām atstarpēm par katru ligzdošanas līmeni
- Komatu atdalītā saraksta katrs elements ir jaunā rindā ar atbilstošu atkāpi
- JOIN klauzulas tiek atkāptas zem FROM klauzulas
- Nosacījumi WHERE klauzulās ir izlīdzināti lasāmībai
Piemērs: Pirms un Pēc Formatēšanas
Pirms Formatēšanas:
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
Pēc Formatēšanas:
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 validācijas noteikumi
Validētājs pārbauda šādas problēmas:
Strukturālā validācija
- Sabalanizētas iekavas: Katram atvērtajam iekavām ir jābūt atbilstošai aizvērtai iekavai
- Citu virsmas: Visām citātām (vienkāršām vai dubultām) jābūt pareizi aizvērtām
- Izteiksmju noslēgšana: SQL izteiksmēm jābeidzas ar semikolu
- Klauzulu secība: Klauzulām jāparādās pareizā secībā (FROM pēc SELECT, WHERE pirms GROUP BY utt.)
Semantiskā validācija
- JOIN nosacījumi: Katram JOIN jābūt ar ON vai USING klauzulu
- WHERE nosacījumi: WHERE klauzulām jābūt ar pilnīgām nosacījumiem
- GROUP BY prasības: HAVING klauzulām ir nepieciešama GROUP BY klauzula
- Kolonnu atsauces: Kolonnu atsauces SELECT jāiekļauj GROUP BY, ja tiek izmantota agregācija
Piemērs: Validācijas Kļūdas
Nederīgs SQL ar Kļūdām:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6
Validācijas Kļūdas:
- JOIN trūkst ON nosacījuma
- Nepilnīga WHERE nosacījums
- Tukša GROUP BY klauzula
- HAVING klauzula atsaucas uz nenoteiktu kolonnu
Lietošanas gadījumi
SQL Formatētājs un Validētājs ir vērtīgs daudzos scenārijos:
Datu bāzu izstrāde
- Koda pārskats: Formatējiet SQL pirms koda pārskatiem, lai nodrošinātu lasāmību
- Kļūdu labošana: Identificējiet sintakses kļūdas pirms vaicājumu izpildes
- Dokumentācija: Ģenerējiet labi formatētu SQL tehniskai dokumentācijai
- Mantojuma koda uzturēšana: Sakārtojiet un standartizējiet vecos SQL vaicājumus
Izglītība un Mācīšanās
- SQL apmācība: Palīdziet studentiem iemācīties pareizas SQL formatēšanas konvencijas
- Pašmācība: Validējiet SQL sintaksi, mācoties datu bāzu programmēšanu
- Mācīšana: Demonstrējiet pareizu SQL struktūru un formatēšanu izglītības iestādēs
- Prasmju attīstība: Praktizējiet rakstīt sintaktiski pareizus SQL vaicājumus
Komandas sadarbība
- Standartizācija: Nodrošiniet konsekventu SQL formatēšanu visā izstrādes komandā
- Zināšanu apmaiņa: Padariet sarežģītus vaicājumus saprotamākus komandas dalībniekiem
- Koda kvalitāte: Uzlabojiet kopējo SQL koda kvalitāti kopīgās kodu bāzēs
- Iekļaušana: Palīdziet jauniem komandas dalībniekiem saprast esošos SQL vaicājumus
Datu bāzu administrācija
- Vaicājumu optimizācija: Formatējiet sarežģītus vaicājumus pirms optimizācijas
- Skriptu pārvaldība: Uzturiet lasāmus datu bāzu apkopes skriptus
- Migrācijas skripti: Nodrošiniet datu bāzu migrācijas SQL pareizību
- Revīzijas sagatavošana: Sakārtojiet SQL vaicājumus atbilstības revīzijām
Alternatīvas
Lai gan mūsu SQL Formatētājs un Validētājs nodrošina būtisku funkcionalitāti, ir arī citas iespējas, ko apsvērt:
Integrētās izstrādes vides (IDE)
- SQL specifiskas IDE: Rīki, piemēram, DataGrip, SQL Server Management Studio vai MySQL Workbench, piedāvā iebūvētu formatēšanu un validāciju
- Priekšrocības: Integrēti ar datu bāzu savienojumiem, izpildi un citiem rīkiem
- Trūkumi: Bieži prasa instalāciju, var būt dārgi un var būt resursu prasīgi
Datu bāzu specifiski rīki
- PostgreSQL: pgFormatter, psql ar \e komandu
- MySQL: MySQL Workbench formatētājs
- SQL Server: SSMS formatēšanas iespējas
- Priekšrocības: Optimizēti konkrētām SQL dialektēm
- Trūkumi: Nav pārnēsājami starp dažādām datu bāzu sistēmām
Koda redaktora paplašinājumi
- VS Code paplašinājumi: SQL Beautify, SQL Formatter
- Sublime Text pakotnes: SqlBeautifier
- Priekšrocības: Integrēti ar jūsu izstrādes vidi
- Trūkumi: Var prasīt konfigurāciju, ne vienmēr pieejami tiešsaistē
Komandrindas rīki
- sqlformat: Python bāzēts SQL formatēšanas rīks
- sql-formatter-cli: Node.js bāzēts formatētājs
- Priekšrocības: Var tikt integrēti CI/CD cauruļvados
- Trūkumi: Prasa instalāciju un komandrindas zināšanas
SQL formatēšanas un validācijas vēsture
SQL standartu attīstība
SQL (Structured Query Language) tika izstrādāts 1970. gados IBM, ar pirmo komerciālo ieviešanu, kas izlaista 1979. gadā. Amerikas Nacionālais standartu institūts (ANSI) publicēja pirmo SQL standartu 1986. gadā, kam sekoja Starptautiskā standartu organizācija (ISO) 1987. gadā.
Kad SQL attīstījās caur vairākiem standartiem (SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2011, SQL:2016 un SQL:2019), formatēšanas prakses arī attīstījās, lai uzlabotu koda lasāmību un uzturēšanu.
SQL formatēšanas konvenciju attīstība
SQL agrīnajos laikos formatēšana bija neskaidra un lielā mērā balstīta uz individuālām vēlmēm. Kad datu bāzu sistēmas kļuva sarežģītākas un komandu izstrāde kļuva izplatīta, pieprasījums pēc standartizētas formatēšanas pieauga.
Galvenie notikumi SQL formatēšanas vēsturē:
- 1990. gadi: Agrīnie SQL stila ceļveži sāka parādīties organizācijās
- Agrīnie 2000. gadi: Objektu-relāciju kartēšanas (ORM) rīku pieaugums palielināja interesi par SQL ģenerāciju un formatēšanu
- 2010. gadi: Tiešsaistes SQL formatēšanas rīki kļuva populāri, kad web lietojumprogrammas pieauga
- Mūsdienas: Automatizēta formatēšana tagad tiek uzskatīta par labāko praksi datu bāzu izstrādē
SQL validācijas attīstība
SQL validācija ir attīstījusies no vienkāršas sintakses pārbaudes līdz sarežģītākai analīzei:
- Agrīnās datu bāzu sistēmas: Nodrošināja pamata kļūdu ziņojumus sintakses problēmām
- 1990. gadi-2000. gadi: Izstrādāti veltīti SQL parsētāji un validētāji
- 2010. gadi: SQL validācijas integrācija izstrādes darba plūsmās un CI/CD cauruļvados
- Mūsdienas: AI atbalstīta SQL validācija, kas var ieteikt uzlabojumus un noteikt potenciālas veiktspējas problēmas
Koda piemēri
Piemērs 1: Pamata SELECT vaicājums
Neformatēts:
1select id, first_name, last_name, email from customers where status = 'active' order by last_name, first_name;
2
Formatēts:
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
Piemērs 2: JOIN vaicājums
Neformatēts:
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
Formatēts:
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
Piemērs 3: Sarežģīts vaicājums ar iekšējo vaicājumu
Neformatēts:
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
Formatēts:
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
Programmatiska SQL formatēšana
Šeit ir piemēri, kā īstenot SQL formatēšanu dažādās programmēšanas valodās:
1// JavaScript SQL formatēšanas piemērs, izmantojot sql-formatter bibliotēku
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 formatēšanas piemērs, izmantojot 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 formatēšanas piemērs, izmantojot 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 formatēšanas piemērs
3function formatSQL($sql) {
4 // Aizvieto atslēgvārdus ar lielajiem burtiem
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 // Pievieno atkāpi
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
Biežāk Uzdotie Jautājumi
Kas ir SQL formatēšana?
SQL formatēšana ir process, kurā SQL kods tiek strukturēts ar pareizu atkāpi, rindkopām un lielo burtu rakstību, lai padarītu to lasāmāku un uzturējamāku. Laba SQL formatēšana ievēro noteiktas konvencijas, piemēram, atslēgvārdu rakstīšanu ar lielajiem burtiem, klauzulu novietošanu atsevišķās rindās un konsekventu atkāpi ligzdotām struktūrām.
Kāpēc man vajadzētu formatēt savus SQL vaicājumus?
SQL vaicājumu formatēšana piedāvā vairākas priekšrocības:
- Uzlabota lasāmība padara sarežģītus vaicājumus vieglāk saprotamus
- Vieglāka kļūdu labošana un uzturēšana
- Labāka sadarbība ar komandas dalībniekiem
- Samazināta sintakses kļūdu iespējamība
- Konsekventa koda stila nodrošināšana visos projektos
- Profesionāla izskata nodrošināšana dokumentācijā un prezentācijās
Kādas SQL dialektus šis formatētājs atbalsta?
Šis SQL formatētājs atbalsta standarta SQL sintaksi, kas darbojas lielākajā daļā galveno datu bāzu sistēmu, tostarp:
- MySQL
- PostgreSQL
- SQL Server (T-SQL)
- Oracle
- SQLite
- MariaDB
Lai gan formatētājs labi apstrādā standarta SQL, dažas dialektam specifiskas funkcijas var netikt optimāli formatētas.
Vai validētājs pārbauda visas iespējamās SQL kļūdas?
Validētājs pārbauda izplatītas sintakses kļūdas un strukturālas problēmas, taču nevar noteikt visas iespējamās kļūdas, īpaši tās, kas saistītas ar:
- Datu bāzes specifiskām sintakses variācijām
- Objekta esamību (tabulas, kolonnas utt.)
- Datu tipu saderību
- Veiktspējas problēmām
- Biznesa loģikas problēmām
Vislabāk to izmantot kā pirmo aizsardzību pirms vaicājumu izpildes pret jūsu datu bāzi.
Vai es varu pielāgot formatēšanas stilu?
Pašlaik formatētājs izmanto standarta stilu, kas balstīts uz plaši pieņemtām SQL konvencijām. Nākotnes versijās var tikt iekļautas pielāgošanas iespējas:
- Atkāpes platums
- Atslēgvārdu lielo burtu rakstīšanas preferences
- Rindkopu pārtraukumu novietojums
- Komatu pozicionēšana (vadošā pret sekojošo)
- iekavu formatēšana
Vai mani SQL dati ir droši, izmantojot šo rīku?
Jā, šis rīks apstrādā visu SQL pilnībā jūsu pārlūkprogrammā. Jūsu SQL vaicājumi nekad netiek nosūtīti uz serveri vai glabāti kaut kur. Tas padara to drošu lietošanai ar jutīgu vai īpašu SQL kodu.
Kā es varu formatēt ļoti lielus SQL vaicājumus?
Ļoti lieliem SQL vaicājumiem:
- Ielīmējiet visu vaicājumu ievades laukā
- Rīks to automātiski apstrādās, lai gan tas var aizņemt brīdi sarežģītiem vaicājumiem
- Ļoti lieliem vaicājumiem (10 000+ rakstzīmēm) jūs varat pamanīt īsu apstrādes aizturi
Vai es varu izmantot šo rīku bezsaistē?
Šis tīmekļa rīks prasa interneta savienojumu, lai sākotnēji ielādētu. Tomēr, kad tas ir ielādēts, tas darbojas pilnībā jūsu pārlūkprogrammā. Pilnīgai bezsaistes lietošanai apsveriet:
- Pārlūkprogrammas paplašinājumus SQL formatēšanai
- Darbvirsmas SQL IDE ar formatēšanas iespējām
- Komandrindas SQL formatēšanas rīkus
Kā formatēt SQL versijas?
Validētājs koncentrējas uz sintakses elementiem, kas ir kopīgi SQL versijām (SQL-92 un vēlāk). Tas var neatpazīt dažas funkcijas, kas ir specifiskas jaunākajiem SQL standartiem vai īpašām paplašinājumiem. Versijai specifiskai validācijai apsveriet rīkus, ko piedāvā jūsu datu bāzes piegādātājs.
Vai es varu integrēt šo formatētāju ar savu IDE vai darba plūsmu?
Lai gan šis tīmekļa rīks nepiedāvā tiešu integrāciju, daudzas IDE ir līdzīgas formatēšanas iespējas, izmantojot paplašinājumus vai spraudņus. Automatizētām darba plūsmām apsveriet komandrindas rīkus, piemēram:
- sqlformat (Python)
- sql-formatter-cli (Node.js)
- pgFormatter (PostgreSQL specifisks)
Atsauces
- "SQL Stila Ceļvedis" autors Simons Holywell. https://www.sqlstyle.guide/
- "SQL Skaistā Printera SQL Formatēšanas Standarti." https://www.sqlshack.com/sql-formatting-standards-sql-pretty-printer/
- "SQL:2016 Standarts." Starptautiskā organizācija standartizācijai. https://www.iso.org/standard/63555.html
- "Formatējot SQL Kodu." PostgreSQL Dokumentācija. https://www.postgresql.org/docs/current/sql-syntax.html
- "SQL Server T-SQL Formatēšanas Standarti." Microsoft Dokumentācija. https://docs.microsoft.com/en-us/sql/t-sql/
Izmēģiniet mūsu SQL Formatētāju un Validētāju jau šodien, lai uzlabotu savu SQL koda kvalitāti, lasāmību un pareizību!
Atsauksmes
Noklikšķiniet uz atsauksmju paziņojuma, lai sāktu sniegt atsauksmes par šo rīku
Saistītie rīki
Atklājiet vairāk rīku, kas varētu būt noderīgi jūsu darba plūsmā