SQL zu Java, C# und TypeScript Konverter (CREATE TABLE)

Fügen Sie CREATE TABLE aus MySQL, PostgreSQL oder T-SQL ein: Sie erhalten Java, C#, TypeScript, Go oder Rust.

CREATE TABLE in C#-, Java- oder TypeScript-Klasse: Typzuordnung

Das Tool liest eine CREATE-TABLE-Anweisung, entnimmt Tabellennamen und jede Spalte (Name, Typ, NOT NULL) und schreibt das passende Modell: C#- oder Java-Klasse, TypeScript-Interface, Go- oder Rust-Struct oder einen Beispieldatensatz in JSON oder XML. Namen werden in PascalCase oder camelCase umgewandelt, Spalten ohne NOT NULL werden optional.

So wird die Tabelle gelesen

Kommentare werden entfernt, der Name folgt auf CREATE TABLE (doppelte Anführungszeichen, Backticks oder T-SQL-Klammern erlaubt, Schemapräfix wie dbo. oder public. wird übergangen), dann wird der Inhalt in Klammern an Kommas getrennt, außer innerhalb von DECIMAL(10, 2). Zeilen mit PRIMARY KEY, FOREIGN KEY, CONSTRAINT, UNIQUE und INDEX werden übersprungen. Eine Spalte gilt als nicht nullbar, wenn sie NOT NULL oder PRIMARY KEY trägt.

Beispiel

Die Beispieltabelle Users (user_id INT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100), is_active BOOLEAN, created_at DATETIME, balance DECIMAL(10, 2), bio TEXT) ergibt in C#:
public int UserId { get; set; }
public string Username { get; set; }
public bool? IsActive { get; set; }
public DateTime? CreatedAt { get; set; }
public decimal? Balance { get; set; }
und in TypeScript userId: number; email?: string; createdAt?: Date; balance?: number;.

Bekannte Grenzen

  • Ein Typ, der in der Zuordnung fehlt (BLOB, BYTEA, ENUM …), wird zum String; UUID ergibt Guid in C# und UUID in Java, in den übrigen Sprachen einen String.
  • Nur eine Tabelle wird verarbeitet; keine Annotationen, Beziehungen oder Java-Getter (ein Kommentar markiert ihren Platz).
  • Go behält nicht nullbare Typen; Rust nutzt Option<T> für optionale Spalten, ohne Derives oder Imports.

Prüfen Sie den erzeugten Code vor der Übernahme. Zum reinen Formatieren einer Abfrage dient der SQL-Formatierer.

Häufig gestellte Fragen

Welcher C#-Typ entspricht einem SQL-DECIMAL oder -DATETIME?

Das Tool übersetzt DECIMAL in decimal, DATETIME und DATE in DateTime, BOOLEAN und BIT in bool sowie VARCHAR, CHAR und TEXT in string. Eine Spalte ohne NOT NULL erhält ein Fragezeichen (decimal?, DateTime?), außer string, das null bereits zulässt. In Java werden dieselben Spalten zu BigDecimal, LocalDateTime, Boolean und String.

Welchen Typ erhält eine BIGINT-Spalte?

BIGINT wird in C# zu long, in Java zu Long und in Rust zu i64, was einen Überlauf über 2.147.483.647 vermeidet. SMALLINT ergibt short, Short und i16, TINYINT byte, Byte und i8. Das Tool sucht zuerst den exakten Typ, dann den längsten bekannten Namen im Typ: NVARCHAR wird so als VARCHAR gelesen. In TypeScript bleiben alle Ganzzahlen number.

Liest das Tool SQL-Server-Skripte?

Ja: Eckige Klammern um Tabellen-, Spalten- und Typnamen werden akzeptiert ([dbo].[Users], [Id] [bigint]), und das Schemapräfix wird übergangen, sodass [dbo].[Users] die Klasse Users und public.orders die Klasse Orders ergibt. CONSTRAINT-Zeilen wie ein CLUSTERED-Primärschlüssel werden übersprungen.

Wie werden die erzeugten Eigenschaften benannt?

Spaltennamen in snake_case werden für C# und Go zu PascalCase (user_id wird UserId) und für Java und TypeScript zu camelCase (userId). Rust, JSON und XML behalten den Originalnamen. Go ergänzt ein json-Tag mit dem ursprünglichen Spaltennamen.

Ist das Tool wirklich kostenlos?

Ja, alle Werkzeuge auf Kristools sind zu 100% kostenlos und ohne Registrierung zugänglich.

Sind meine Daten geschützt?

Ja. Die gesamte Verarbeitung erfolgt sicher und direkt in Ihrem Browser. Es werden keine persönlichen Daten an unsere Server gesendet.