Hva er DDL-filformatet?
En .ddl-fil er et SQL-skript i ren tekst som inneholder Data Definition Language-setninger - underkategorien av SQL som definerer, endrer eller fjerner databasestrukturer. Den er funksjonelt sett en .sql-fil som skilles ut ved konvensjon: filendelsen .ddl signaliserer at skriptet inneholder skjema-definisjoner snarere enn datamanipulering. Sentrale setninger inkluderer CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, CREATE VIEW og CONSTRAINT-definisjoner.
DDL er forskjellig fra DML (Data Manipulation Language: INSERT, UPDATE, DELETE) og DQL (SELECT). Mange verktøy - MySQL Workbench, DBeaver, SQL Server Management Studio - kan eksportere et databaseskjema som en .ddl-fil, og JPA/ORM-rammeverk som EclipseLink autogenererer .ddl-skript fra entitets-mappinger.
Filen har ingen binær signatur; den identifiseres ved filendelse og innhold. Kodingen er UTF-8 eller ASCII; eldre Windows-verktøy kan produsere Windows-1252. Et skript begynner ofte med et kommentarhode (-- eller /* */) generert av eksportverktøyet, etterfulgt av sekvensielle SQL-setninger.
Filstørrelsen varierer fra noen få kilobyte for enkle skjemaer til titalls megabyte for fullstendige database-dumper for bedrifter. Fordi syntaksen er DBMS-spesifikk - MySQL, PostgreSQL, Oracle, SQL Server og SQLite har alle dialektforskjeller - er en .ddl-fil ikke garantert å være portabel mellom databasemotorer uten modifikasjoner.
Sikkerhet og trygghet
RISIKO: LOWEn .ddl-fil er ren tekst og kan ikke kjøre seg selv. Den er trygg å åpne i ethvert tekstredigeringsprogram. Risikoen ligger i å KJØRE den: DDL-setninger (spesielt DROP TABLE) endrer eller ødelegger databasestrukturen. Gå alltid gjennom et DDL-skript før du kjører det, sørg for at du har en sikkerhetskopi, og kjør det bare mot den tiltenkte databaseinstansen. DDL fra en upålitelig kilde kan slette tabeller eller legge til bakdør-kontoer - behandle det som hvilken som helst kjørbar kode.
Formatdetaljer
i et nøtteskall- SoftQuad / SGML DDL (Document Type Definition Link) - Historisk SGML-relatert skjemadefinisjon; ubetydelig moderne bruk, ikke relatert til SQL.
- Oracle DDL Export - Oracle Database-verktøy (SQL Developer, Data Pump) eksporterer skjemadefinisjoner som .ddl-filer i Oracle SQL-syntaks; samme konsept, spesifikt for Oracle.
Programmer som åpner DDL-filer
Tekniske detaljer
dyp spesifikasjon| Koding | Ren tekst - UTF-8 (moderne verktøy), ASCII eller Windows-1252 (eldre skript) |
| Byterekkefølge | Ikke relevant - tekstfil |
| Beholder | Ingen - enkelt flat tekstfil med linjedelte SQL-setninger |
| Magiske byte | Ingen - identifiseres ved filendelse og SQL-nøkkelordstruktur; ingen binær signatur |
| Typisk størrelse | 1 KB - 50 MB (enkle tabellskript: noen få KB; fullstendige skjema-dumper for bedrifter: titalls MB) |
| SQL-underkategori | DDL - CREATE, ALTER, DROP, TRUNCATE, RENAME og CONSTRAINT-definisjoner; kun skjemastruktur, ikke data |
| Dialektavhengighet | Syntaks varierer etter DBMS (MySQL, PostgreSQL, Oracle, SQL Server, SQLite); skript er ikke garantert portable mellom motorer uten modifikasjon |
| Standardbasis | DDL standardisert i ANSI SQL-86 (ISO/IEC 9075:1987); nåværende standard SQL:2023 (ISO/IEC 9075:2023) |
| ORM-integrasjon | EclipseLink, Hibernate og andre JPA-rammeverk kan autogenerere .ddl-skript fra entitetsklasse-mappinger |
| Kommentarkonvensjoner | Verktøygenererte filhoder bruker -- for enkeltlinjer eller /* */ for blokk-SQL-kommentarer; innebygde kommentarer følger de samme konvensjonene |
| Eksportstøtte | MySQL Workbench, DBeaver, pgAdmin, SSMS og Oracle SQL Developer kan eksportere databaseskjema direkte som .ddl-skript |
| Import-arbeidsflyt | Kjøres mot en måldatabase ved hjelp av kommandolinjeklienter (mysql, psql, sqlcmd, sqlite3) eller GUI-verktøy; setninger kjøres sekvensielt |
| Relasjon til .sql | Funksjonelt identisk; .ddl signaliserer innhold med kun skjema (ingen datamanipulering) etter utviklerkonvensjon |
| Portabilitet | Ikke garantert portabel mellom DBMS-motorer uten dialektspesifikk modifikasjon |
| Utgitt | SQL DDL concepts introduced with SQL-86 (ISO/IEC 9075:1987); .ddl extension is a convention, not a standard |
| Siste versjon | SQL:2023 (ISO/IEC 9075:2023) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.iso.org |
DDL-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om DDL-filer.