Izvoz podataka
Izvesti možete cijelu tablicu, tablicu onako kako je prikazuje tablica podataka, ili rezultat upita. Sve troje koristi isti dijalog.
- Tablicu — desni klik na nju, ili Tablica → Izvezi kao CSV/JSON dok je kartica tablice otvorena.
- Ono što prikazuje tablica podataka — Izvezi prikaz u alatnoj traci: trenutni filter i sortiranje, ili samo retci koje ste označili. Vidi Izvoz iz tablice podataka.
- Rezultat upita — Izvezi rezultate u SQL editoru. Budući da se rezultati keširaju, izvoz ne pokreće upit ponovno. Vidi Izvoz rezultata upita.
Formati
| Format | Napomena |
|---|---|
| CSV | Zadani razdjelnik je zarez |
| TXT | Zadani razdjelnik je tabulator |
| JSON | Niz objekata |
| XLSX | Excel radna knjiga |
| ODS | OpenDocument proračunska tablica |
| XML | Jedan element po retku |
| SQL | INSERT naredbe — samo struktura ili struktura i podaci |
Odaberite format, postavite putanju, kliknite Izvezi. Dijalog javlja gdje je datoteka spremljena i — osim kod SQL izvoza cijele tablice — koliko je redaka u nju zapisano.
Izvoz iz tablice podataka
Izvezi prikaz u alatnoj traci tablice podataka izvozi tablicu onako kako je gledate: vrijede filter, filteri stupaca, okvir za pretragu i sortiranje. Dijalog ispisuje filter i sortiranje koje će upotrijebiti, pa ih možete provjeriti prije izvoza.
Pod Što se izvozi:
| Opcija | Što ide u datoteku |
|---|---|
| Svi retci koji odgovaraju filteru | Svaki redak koji zadovoljava filter — iz cijele tablice, ne samo s učitane stranice — pročitan sa servera redoslijedom sortiranja tablice. Kad filter nije postavljen, zove se Svi retci |
| Samo označeni retci | Samo retci koje ste označili u tablici. Nudi se samo kad su retci označeni, i tada je odabrana unaprijed |
| Samo vidljivi stupci | Izostavlja stupce skrivene preko Stupci. Nudi se samo kad je neki skriven; uključeno po zadanom |
Redak označite klikom na njegov broj; Shift+klik na broj drugog retka proširuje odabir na sve između. Ponovni klik na isti broj retka poništava odabir.
Označeni retci zapisuju se onako kako ih tablica drži
Označeni retci dolaze s učitane stranice, a ne iz novog čitanja tablice. Zato:
- nespremljene izmjene nisu u datoteci, kao ni novi retci koji još nisu spremljeni — prvo pritisnite
Ctrl+S; - binarni stupci su u tablici zamjene oblika
<binary N bytes>, i upravo to završi u datoteci. Za stvarni sadržaj upotrijebite Svi retci koji odgovaraju filteru u formatu SQL, s filterom koji hvata iste retke — on binarne stupce zapisuje bajt po bajt kao heksadecimalne literale. Tekstualni formati zadržavaju zamjenu.
U SQL formatu postavljate i Naziv tablice u INSERT naredbama — po zadanom trenutna tablica; promijenite ga da biste retke učitali u drugu tablicu. Uz Svi retci koji odgovaraju filteru, opcija Uključi strukturu (CREATE TABLE) stavlja definiciju tablice ispred INSERT-a. Strani ključevi i okidači se izostavljaju jer datoteka sadrži samo dio redaka — za potpunu kopiju tablice upotrijebite Dump SQL file, opisan niže.
Izvoz rezultata upita
Izvezi rezultate u SQL editoru zapisuje rezultat koji je na ekranu — kod više naredbi onaj čija je kartica odabrana. Retci dolaze iz keša rezultata, redoslijedom kojim je tablica rezultata sortirana, pa dobivate ono što vidite, bez ponovnog pokretanja upita.
Uvijek se zapisuje cijeli rezultat: označavanje redaka u tablici rezultata ga ne sužava. Da biste izvezli samo neke retke, suzite sam upit (WHERE, LIMIT) i pokrenite ga ponovno.
U SQL formatu Naziv tablice u INSERT naredbama popunjava se tablicom iz koje upit čita, kad NabuSQL može utvrditi koja je to, a inače s query_result.
SQL izvoz
Izvoz cijele tablice u SQL ima jedan dodatni izbor: samo DDL ili DDL + podaci. Samo DDL daje naredbu CREATE TABLE, što je ono što treba kad strukturu selite u drugo okruženje.
Za cijelu bazu postoji brži put: desni klik na bazu → Dump SQL file ▸ Struktura i podaci ili Samo struktura. Isti podizbornik postoji i na pojedinoj tablici te na više označenih tablica, koje idu u jednu datoteku. Dump radi na MySQL-u, MariaDB-u, PostgreSQL-u, SQL Serveru i SQLite-u.
Što dump sadrži
Strukturu svake tablice — stupce i tipove, zadane vrijednosti, primarne i jedinstvene ključeve, CHECK ograničenja i indekse — zatim njezine retke, pa njezine okidače. Redoslijed u datoteci izabran je tako da se čisto obnavlja:
- tablice i njihovi redci;
- strani ključevi, kad sve tablice postoje, pa se tablice mogu učitati bilo kojim redom;
- u dumpu cijele baze funkcije, procedure i pogledi — pogledi redom ovisnosti, pa pogled izgrađen nad drugim pogledom dolazi nakon njega;
- okidači, na kraju — da su kreirani ranije, okinuli bi se na svakom obnovljenom retku i promijenili podatke pri ulasku.
Po vrsti baze:
| Baza | U dumpu je još |
|---|---|
| MySQL / MariaDB | SHOW CREATE TABLE kako ga server javlja, s NEXTVAL zadanom vrijednošću koja pokazuje na sekvencu baze u koju se datoteka vraća; binarni stupci kao heksadecimalni literali (X'…'), bajt po bajt; okidači u DELIMITER ;; blokovima s redoslijedom okidanja i sql_mode. Dump cijele baze na MariaDB-u počinje njezinim sekvencama, postavljenima da nastave gdje je izvor stao |
| PostgreSQL | Serial sekvence i identity stupci — nastavljaju od najveće obnovljene vrijednosti — generirani stupci, enum tipovi i domene koje tablica koristi, komentari, funkcije okidača; isključeni okidači ostaju isključeni |
| SQL Server | Sheme, IDENTITY sa seedom i inkrementom, izračunati stupci, collation stupaca, filtrirani indeksi s INCLUDE; batchevi odvojeni s GO |
| SQLite | Tablica kako je spremljena u sqlite_master, njezini indeksi i okidači |
Generirani, izračunati i rowversion stupci izostavljeni su iz INSERT naredbi — njih puni server.
Pogledi, procedure i funkcije nalaze se u dumpu cijele baze — desni klik na bazu ili sigurnosna kopija — ali ne i u dumpu označenih tablica. Na PostgreSQL-u to uključuje materijalizirane poglede (s indeksima, pune se pri obnovi) i opcije pogleda kao što je security_barrier; objekte koji pripadaju ekstenziji vraća CREATE EXTENSION. MySQL eventi se ne izvoze. Rutine čiji je izvorni kod skriven — šifrirane na SQL Serveru ili nevidljive vašem MySQL računu — navedene su kao komentar.
Obnova preko postojećih tablica
Svaka se tablica briše prije kreiranja. Na PostgreSQL-u je to DROP TABLE … CASCADE, a na SQL Serveru se najprije brišu strani ključevi koji pokazuju na tablicu — pa obnova dijela baze uklanja strane ključeve iz tablica kojih nema u datoteci. Potpuna sigurnosna kopija vraća sve ključeve.
Dump s uzorkom podataka
Struktura + uzorak podataka… u istom podizborniku zapisuje punu strukturu, ali samo dio redaka — dovoljno za testnu ili razvojnu bazu, bez kopiranja produkcije.
| Opcija | Učinak |
|---|---|
| Broj redaka po odabranoj tablici | Koliko redaka daje svaka odabrana tablica (zadano 100) |
| Od početka / Od kraja | Prvi ili zadnji redci po primarnom ključu. Od kraja sa 100 daje 100 najnovijih redaka kad je ključ auto-increment ID |
| Uključi povezane retke iz roditeljskih tablica (strani ključevi) | Izvozi i svaki redak na koji uzorak pokazuje (zadano uključeno) |
Tablice bez primarnog ključa označene su s ⚠ — njihovi redci dolaze redoslijedom kojim ih server vraća, pa "zadnjih 100" ima smisla koliko i taj redoslijed.
Povezani redci
Uz Uključi povezane retke uzorak ostaje dosljedan: 100 stavki narudžbi povlači narudžbe kojima pripadaju, te narudžbe svoje kupce, kupci svoje gradove. Lanac se prati dokle god ide, uključujući tablicu koja pokazuje sama na sebe, a roditeljske tablice koje niste odabrali dodaju se samo s potrebnim retcima. Prozor ih navodi prije izvoza, s tablicom koja ih povlači.
Redci se nikad ne povlače u drugom smjeru: kupac iz uzorka ne donosi sve svoje narudžbe, inače bi uzorak narastao prema cijeloj bazi.
Broj redaka je zato N po odabranoj tablici, plus ono što trebaju ključevi. Nakon izvoza tablica pokazuje koliko je redaka svaka tablica dobila i koliko ih je došlo preko ključa. Datoteka se obnavlja sa svim stranim ključevima na snazi.
Dump nasuprot sigurnosnoj kopiji
Tri se stvari ovdje preklapaju, pa ukratko:
- Izvoz — jedna tablica ili jedan skup rezultata, u bilo kojem od gornjih formata. Za predaju podataka čovjeku ili drugom sustavu.
- Dump SQL file —
.sqldatoteka sCREATE/INSERTnaredbama za tablicu ili cijelu bazu, izravno iz bočne trake. - Sigurnosna kopija i obnova — potpuni dump baze s prikazom napretka i stranom za obnovu s obradom grešaka. Za stvarne sigurnosne kopije.
Prijenos podataka na drugi server
Ako je odredište druga baza, a ne datoteka, nemojte izvoziti pa ponovno uvoziti — prijenos podataka kopira tablice, poglede i rutine izravno između konekcija, pa i između različitih baza.
