Heim > Datenbank > MySQL-Tutorial > Wie kann ich SQL CREATE-Tabellenskripte aus vorhandenen Tabellen generieren?

Wie kann ich SQL CREATE-Tabellenskripte aus vorhandenen Tabellen generieren?

DDD
Freigeben: 2025-01-14 08:55:16
Original
946 Leute haben es durchsucht

How Can I Generate SQL CREATE Table Scripts from Existing Tables?

SQL CREATE-Skript mit Abfrage zum Generieren einer vorhandenen Tabelle

Während diese Abfrage selbst nicht direkt ein CREATE-Skript generiert, kann sie aus in SQL Server gespeicherten Schemainformationen abgeleitet werden.

Methode:

  1. Identifizieren Sie die Zieltabelle und rufen Sie ihre Details ab (Spalten, Indizes, Einschränkungen).
  2. Erstellen Sie DDL-Skripte basierend auf den gesammelten Informationen.

Code:

<code class="language-sql">DECLARE @table_name SYSNAME = 'dbo.MyTable';

DECLARE @DDL NVARCHAR(MAX) = 'CREATE TABLE ' + QUOTENAME(@table_name) + ' (';

SELECT @DDL += CHAR(13) + '    [' + c.name + '] ' + 
                CASE WHEN c.is_nullable = 1 THEN 'NULL' ELSE 'NOT NULL' END + ','
FROM sys.columns c
WHERE c.[object_id] = OBJECT_ID(@table_name);

SET @DDL = LEFT(@DDL, LEN(@DDL) - 1) + ')';

SELECT @DDL += CHAR(13) + ' CONSTRAINT [PK_' + @table_name + '] PRIMARY KEY (' + 
                STUFF((SELECT ', [' + c.name + ']' FROM sys.index_columns c
                        WHERE c.[object_id] = OBJECT_ID(@table_name) AND c.index_id = 1), 1, 2, '') + ')';

SELECT @DDL += CHAR(13) + ' WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF);';

PRINT @DDL;</code>
Nach dem Login kopieren

Ausgabebeispiel:

<code class="language-sql">CREATE TABLE [dbo].[MyTable] (
    [ID] INT NOT NULL,
    [Name] VARCHAR(50) NULL,
    [Age] INT NULL,
    CONSTRAINT [PK_MyTable] PRIMARY KEY ([ID]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF);</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich SQL CREATE-Tabellenskripte aus vorhandenen Tabellen generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage