xxxxxxxxxx
Changes the data type of a table’s column.
Example: In the ‘users’ table, make the column ‘incept_date’ into a
‘datetime’ type.
ALTER TABLE users
ALTER COLUMN incept_date datetime;
xxxxxxxxxx
ALTER TABLE table_name
ALTER COLUMN column_name new_data_type(size);
xxxxxxxxxx
#SQL Server
ALTER TABLE Customers
ALTER COLUMN age VARCHAR(2);
#MySQL
ALTER TABLE Customers
MODIFY COLUMN age VARCHAR(2);
#Oracle
ALTER TABLE Customers
MODIFY age VARCHAR(2);
#PostgreSQL
ALTER TABLE Customers
ALTER COLUMN age TYPE VARCHAR(2);
xxxxxxxxxx
-- Change column type
ALTER TABLE table_name
ALTER COLUMN some_col VARCHAR(250);
-- Change column name
ALTER TABLE table_name
RENAME COLUMN old_column_name TO new_column_name;
-- Change column values
UPDATE table_name
SET col_name=LOWER(col_name);
-- Add column
ALTER TABLE table_name
ADD COLUMN new_col INTEGER;
-- DELETE column
ALTER TABLE table_name
DROP COLUMN col_name;
xxxxxxxxxx
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
xxxxxxxxxx
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
xxxxxxxxxx
ALTER TABLE table_name
ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);
xxxxxxxxxx
ALTER TABLE table_name
ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2 );
xxxxxxxxxx
-- With check if field already exists
IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'Email'
AND Object_ID = Object_ID(N'dbo.Customers'))
BEGIN
ALTER TABLE Customers
ADD Email varchar(255);
END