Modificare le istruzioni in SQL Server con esempi

Alter Table è un'istruzione DDL (Data Definition Language) che viene utilizzata per aggiungere, eliminare o modificare le colonne esistenti. Con questa affermazione, è anche possibile rinominare una tabella o una colonna e creare vincoli. Usando una tabella come esempio, questo tutorial mostra le alter istruzioni della tabella con la sintassi.

Puoi scaricare gli esempi utilizzati in questo articolo e provarli qui sul tuo computer locale. È possibile verificare le modifiche alla struttura della tabella utilizzando sp_help 'Dipendente'.

Innanzitutto, iniziamo creando un tavolo.

Crea dipendente tabella (EmployeeId INT, EmployeeName VARCHAR (25), Salary INT, ContactNo VARCHAR (10), DeptId INT, Active BIT,); Crea reparto tabella (DeptId INT PRIMARY KEY, DeptName VARCHAR (50));

SQL Server: aggiungi una colonna a una tabella esistente

Sintassi ALTER TABLE [TableName] ADD [ColumnName] [DataType] [Null OR Not Null] Esempio ALTER TABLE Employee ADD Address VARCHAR (255) NOT NULL

SQL Server: elimina una colonna esistente da una tabella

Sintassi ALTER TABLE [TableName] DROP COLUMN [ColumnName] Esempio ALTER TABLE DROP DROP COLUMN ADDRESS

SQL Server: modifica il tipo di dati di una colonna esistente

Sintassi ALTER TABLE [Nome tabella] ALTER COLUMN [ColumnName] [DataType] Esempio ALTER TABLE Dipendente ALTER COLUMN Stipendio DECIMAL (18,2)

SQL Server: modifica la dimensione di una colonna esistente

Sintassi ALTER TABLE [TableName] ALTER COLUMN [Columnname] [DataType] Esempio ALTER TABLE Dipendente ALTER COLUMN EmployeeName VARCHAR (50)

SQL Server: aggiungere un vincolo di chiave primaria a una tabella esistente

Sintassi ALTER TABLE [TableName] ADD CONSTRAINT [Nome vincolo] PRIMARY KEY (ColumnName) Esempio ALTER TABLE Dipendente ADD CONSTRAINT PK_Employee_EmployeeId PRIMARY KEY (EmployeeId)

SQL Server: elimina il vincolo di chiave primaria esistente su una tabella esistente

Sintassi ALTER TABLE [TableName] DROP CONSTRAINT [ConstraintName] Esempio ALTER TABLE DROP CONSTRAINT DROP PK_Employee_EmployeeId

SQL Server - Aggiungi un vincolo di chiave esterna

Sintassi ALTER TABLE [TableName] ADD CONSTRAINT [Constraintname] FOREIGN KEY (ColumnName) REFERENCES [TableName] (ColumnName) Esempio ALTER TABLE Employee ADD CONSTRAINT Fk_Employee_DeptId KEY FOREIGN (EmployeeId) Dipartimento REFERENCES (DeptId)

SQL Server: elimina un vincolo di chiave esterna

Sintassi ALTER TABLE [TableName] DROP CONSTRAINT [Foreign_Key_Constraint_Name] Esempio ALTER TABLE DROP CONSTRAINT Fk_Employee_DeptId

SQL Server: aggiungere un vincolo di controllo a una tabella esistente

Sintassi ALTER TABLE [TableName] ADD CONSTRAINT [Check_Constraint_Name] CHECK (Check_Condition) Esempio ALTER TABLE Dipendente ADD CONSTRAINT CK_Employee_Salary CHECK (Salary> 0)

SQL Server: elimina il controllo di un vincolo su una tabella esistente

Sintassi ALTER TABLE [TableName] DROP CONSTRAINT [Check_Constraint_Name] Esempio ALTER TABLE Employee DROP CONSTRAINT CK_Employee_Salary

SQL Server: aggiungere un vincolo NULL o NOT NULL a una tabella esistente

Sintassi ALTER TABLE [TableName] ALTER COLUMN [ColumnName] [DataType] [NULL OR NOT NULL] Esempio ALTER TABLE Dipendente ALTER COLUMN ContactNo VARCHAR (10) NULL

SQL Server: aggiungere un vincolo predefinito a una tabella esistente

Sintassi ALTER TABLE [TableName] ADD CONSTRAINT [DefaultConstraintName] DEFAULT [DefaultValue] FOR [ColumnName] Esempio ALTER TABLE Employee ADD CONSTRAINT DF_Employee_Active DEFAULT 0 FOR ACTIVE

SQL Server: rilascia un vincolo predefinito su una tabella esistente

Sintassi ALTER TABLE [TableName] DROP CONSTRAINT [Default_ConstraintName] Esempio ALTER TABLE Employee DROP CONSTRAINT DF_Employee_Active

SQL Server: modifica le regole di confronto di una colonna esistente

Sintassi ALTER TABLE [TableName] ALTER COLUMN [ColumnName] [DataType] COLLATE [CollationName]; Esempio ALTER TABLE Dipendente ALTER COLUMN EmployeeName varchar (25) COLLATE Latin1_General_CI_AS NOT NULL;

SQL Server - Disabilita un vincolo di chiave esterna

Sintassi ALTER TABLE [TableName] NOCHECK CONSTRAINT [ConstraintName]; Esempio ALTER TABLE Dipendente NOCHECK CONSTRAINT Fk_Employee_DeptId;

SQL Server - Disabilita un vincolo di chiave di controllo

Sintassi ALTER TABLE [TableName] NOCHECK CONSTRAINT [ConstraintName]; Esempio ALTER TABLE Employee NOCHECK CONSTRAINT CK_Employee_Salary;

SQL Server: rinomina una colonna in una tabella

Sintassi EXEC sp_RENAME TableName.OldColumnName, NewColumnName, ColumnName Esempio EXEC sp_RENAME 'table_name.old_name', 'new_name', 'COLUMN'