alter table

alter table [database.[owner]].table_name
	{ add column_name datatype
		[default {constant_expression | user | null}]
		{identity | null | not null} 
		[off row | in row]
		[ [constraint constraint_name]
		{ { unique | primary key }
			[clustered | nonclustered]
			[asc | desc]
			[with { fillfactor = pct,
				max_rows_per_page = num_rows,
				reservepagegap = num_pages }]
			[on segment_name]
		| references [[database.]owner.]ref_table 
			[(ref_column)]
			[match full]
		| check (search_condition) ] ... }
		[encrypt [with [database .] owner ] .]keyname
		[, next_column]...
	| add {[constraint constraint_name]
	{  unique | primary key}
			[clustered | nonclustered]
			(column_name [asc | desc]
		[, column_name [asc | desc]...])
		[with { fillfactor = pct,
				max_rows_per_page = num_rows, 
				reservepagegap = num_pages}]
		[on segment_name]
	| foreign key (column_name [{, column_name}...])
		references [[database.]owner.]ref_table
		[(ref_column [{, ref_column}...])]
		[match full]
	| check (search_condition)}
	| drop {column_name [, column_name]... 
		| constraint constraint_name }
	| modify column_name datatype [null | not null] 
			[encrypt [with [[database.] owner].] keyname] 
			|decrypt
			[, next_column]...
	| replace column_name
		default { constant_expression | user | null}
		| partition number_of_partitions
	| unpartition| { enable | disable } trigger
	| lock {allpages | datarows | datapages } }
	| with exp_row_size=num_bytes
	| [ alter_partition_clause ]
	[ partition_clause ]