
1.增加一个字段
alter
table
user
add
COLUMN
new1
VARCHAR(20)
DEFAULT
NULL
//增加一个字段,默认为空
alter
table
user
add
COLUMN
new2
VARCHAR(20)
NOT
NULL
//增加一个字段,默认不能为空
2.删除一个字段
alter
table
user
DROP
COLUMN
new2
//删除一个字段
3.修改一个字段
alter
table
user
MODIFY
new1
VARCHAR(10)
//修改一个字段的类型
alter
table
user
CHANGE
new1
new4
int
//修改一个字段的名称,此时一定要重新
//主键
alter
table
tabelname
add
new_field_id
int(5)
unsigned
default
0
not
null
auto_increment
,add
primary
key
(new_field_id)
//增加一个新列
alter
table
t2
add
d
timestamp
alter
table
infos
add
ex
tinyint
not
null
default
‘0′
//删除列
alter
table
t2
drop
column
c
//重命名列
alter
table
t1
change
a
b
integer
//改变列的类型
alter
table
t1
change
b
b
bigint
not
null
alter
table
infos
change
list
list
tinyint
not
null
default
‘0′
//重命名表
alter
table
t1
rename
t2
加索引
mysql>
alter
table
tablename
change
depno
depno
int(5)
not
null
mysql>
alter
table
tablename
add
index
索引名
(字段名1[,字段名2
…])
mysql>
alter
table
tablename
add
index
emp_name
(name)
加主关键字的索引
mysql>
alter
table
tablename
add
primary
key(id)
加唯一限制条件的索引
mysql>
alter
table
tablename
add
unique
emp_name2(cardnumber)
删除某个索引
mysql>alter
table
tablename
drop
index
emp_name
增加字段:
mysql>
ALTER
TABLE
table_name
ADD
field_name
field_type
修改原字段名称及类型:
mysql>
ALTER
TABLE
table_name
CHANGE
old_field_name
new_field_name
field_type
删除字段:
mysql>
ALTER
TABLE
table_name
DROP
field_name
mysql修改字段长度
alter
table
表名
modify
column
字段名
类型
例如
数据库中user表
name字段是varchar(30)
可以用
alter
table
user
modify
column
name
varchar(50)
支持分别修改列默认值和数据类型。要为某列设置一个新默认值,可以使用命令:ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT new_default
修改数据类型,使用命令:
ALTER TABLE table_name ALTER COLUMN column_name TYPE new_type
注意:这不会影响任何表中已经存在的行。
你可以使用 ALTER TABLE 加 ALTER COLUMN 来更改指定的列数据类型,如:CREATE TABLE
myTest (fId int,fName nvarchar(20) null)
创建一个表,名为:myTest,包含两个字段。如果此时你想要更改 fName 列,那么可以使用以下语句:
ALTER TABLE myTest
ALTER COLUMN fName nvarchar(30) null
这里要注意,如果指定的新的数据类型长度比原来的数据类型小,那么会出现数据丢失的情况,所以千万要注意,另外,不是所有的数据类型都可以更改,以下是SQL联机丛书中提到的注意事项:
要更改的列不能是:
·数据类型为 text、image、ntext 或 timestamp 的列。
·表的 ROWGUIDCOL 列。
·计算列或用于计算列中的列。
·被复制列。
·用在索引中的列,除非该列数据类型是 varchar、nvarchar 或 varbinary,数据类型没有更改,而且新列大小等于或者大于旧列大小。
·用在由 CREATE STATISTICS 语句创建的统计中的列。首先用 DROP STATISTICS 语句删除统计。由查询优化器自动生成的统计会由 ALTER COLUMN 自动除去。
·用在 PRIMARY KEY 或 [FOREIGN KEY] REFERENCES 约束中的列。
用在 CHECK 或 UNIQUE 约束中的列,除非用在 CHECK 或 UNIQUE 约束中的可变长度列的长度允许更改。
·有相关联的默认值的列,除非在不更改数据类型的情况下允许更改列的长度、精度或小数位数。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)