Vad är filformatet DDL?
En .ddl-fil är ett SQL-skript i klartext som innehåller Data Definition Language-instruktioner - den delmängd av SQL som definierar, ändrar eller tar bort databasstrukturer. Det är funktionellt en .sql-fil som särskiljs genom konvention: filändelsen .ddl signalerar att skriptet innehåller schemadefinitioner snarare än datamanipulering. Kärninstruktioner inkluderar CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, CREATE VIEW och definitioner av CONSTRAINT.
DDL skiljer sig från DML (Data Manipulation Language: INSERT, UPDATE, DELETE) och DQL (SELECT). Många verktyg - MySQL Workbench, DBeaver, SQL Server Management Studio - kan exportera ett databasschema som en .ddl-fil, och JPA/ORM-ramverk som EclipseLink autogenererar .ddl-skript från entitetsmappningar.
Filen har ingen binär signatur; den identifieras via filändelse och innehåll. Kodningen är UTF-8 eller ASCII; äldre Windows-verktyg kan producera Windows-1252. Ett skript börjar ofta med ett kommentarsfält (-- eller /* */) genererat av exportverktyget, följt av sekventiella SQL-instruktioner.
Filstorleken varierar från några kilobyte för enkla scheman till tiotals megabyte för fullständiga databasdumper för företag. Eftersom syntaxen är DBMS-specifik - MySQL, PostgreSQL, Oracle, SQL Server och SQLite har alla dialektskillnader - är en .ddl-fil inte garanterat portabel mellan databasmotorer utan modifiering.
Säkerhet & trygghet
RISK: LOWEn .ddl-fil är klartext och kan inte köra sig själv. Den är säker att öppna i valfri textredigerare. Risken ligger i att KÖRA den: DDL-instruktioner (särskilt DROP TABLE) ändrar eller förstör databasstrukturen. Granska alltid ett DDL-skript före körning, se till att du har en säkerhetskopia och kör det endast mot den avsedda databasinstansen. DDL från en okänd källa kan radera tabeller eller lägga till bakdörrskonton - hantera det som vilken körbar kod som helst.
Formatdetaljer
i ett nötskal- SoftQuad / SGML DDL (Document Type Definition Link) - Historisk SGML-relaterad schemadefinition; försumbar modern användning, orelaterad till SQL.
- Oracle DDL Export - Oracle Database-verktyg (SQL Developer, Data Pump) exporterar schemadefinitioner som .ddl-filer i Oracle SQL-syntax; samma koncept, specifikt för Oracle.
Program som öppnar DDL-filer
Tekniska detaljer
djup specifikation| Kodning | Klartext - UTF-8 (moderna verktyg), ASCII eller Windows-1252 (äldre skript) |
| Byte-ordning | Ej tillämpligt - textfil |
| Container | Ingen - enskild platt textfil med radavgränsade SQL-instruktioner |
| Magic bytes | Inga - identifieras via filändelse och SQL-nyckelordsstruktur; ingen binär signatur |
| Typisk storlek | 1 KB - 50 MB (enkla tabellskript: några KB; fullständiga schemadumper: tiotals MB) |
| SQL-delmängd | DDL - definitioner för CREATE, ALTER, DROP, TRUNCATE, RENAME och CONSTRAINT; endast schemastruktur, inte data |
| Dialektberoende | Syntaxen varierar beroende på DBMS (MySQL, PostgreSQL, Oracle, SQL Server, SQLite); skript är inte garanterat portabla mellan motorer utan modifiering |
| Standardbas | DDL standardiserades i ANSI SQL-86 (ISO/IEC 9075:1987); nuvarande standard SQL:2023 (ISO/IEC 9075:2023) |
| ORM-integration | EclipseLink, Hibernate och andra JPA-ramverk kan autogenerera .ddl-skript från mappningar av entitetsklasser |
| Kommentarskonventioner | Verktygsgenererade filhuvuden använder -- för enradiga eller /* */ för block-SQL-kommentarer; kommentarer i koden följer samma konventioner |
| Exportstöd | MySQL Workbench, DBeaver, pgAdmin, SSMS och Oracle SQL Developer kan exportera databasscheman direkt som .ddl-skript |
| Importarbetsflöde | Körs mot en måldatabas med kommandoradsklienter (mysql, psql, sqlcmd, sqlite3) eller GUI-verktyg; instruktioner körs sekventiellt |
| Relation till .sql | Funktionellt identisk; .ddl signalerar innehåll med endast schema (ingen datamanipulering) enligt utvecklarkonvention |
| Portabilitet | Inte garanterat portabel mellan DBMS-motorer utan dialektspecifik modifiering |
| Släppt | SQL DDL concepts introduced with SQL-86 (ISO/IEC 9075:1987); .ddl extension is a convention, not a standard |
| Senaste version | SQL:2023 (ISO/IEC 9075:2023) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.iso.org |
DDL-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om DDL-filer.