为了账号安全,请及时绑定邮箱和手机立即绑定

请问alter index语句该如何使用?

请问alter index语句该如何使用?

慕村225694 2019-07-08 10:06:27
alter index语句如何使用?
查看完整描述

6 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

create index index_name
on
table_name | view_name(colume_name[1,,,n])
index_name 是索引名称
table_name|view_name 是表的名称或视图名称
colume_name是表或视图的哪些列上建索引

查看完整回答
反对 回复 2019-07-13
?
九州编程

TA贡献1785条经验 获得超4个赞

alter index常用的语法如下:(1)重建指定索引:ALTER INDEX ind ON TAREBUILD;(2)重建全部索引:ALTER INDEX ALL ON TAREBUILD;(3)禁用索引:ALTER INDEX ALL ON TADISABLE;(再次启用使用REBUILD重建而不是ENABLED)(4)指定参数重建索引:ALTER INDEX ALL ON TAREBUILD WITH(FILLFACTOR=80);(5)指定参数修改索引:ALTER INDEX ALL ON TASET(IGNORE_DUP_KEY = ON);

注意:alter index语法,不能用于修改索引定义,如添加或删除列,或更改列的顺序

Alter 

Alter是数据库SQL语言的修改语句,可以用来修改基本表,其一般表示格式为:

ALTER TABLE<表名>[改变方式]

基本介绍

数据库SQL语言的修改语句,可以用来修改基本表,其一般表示格式为:

ALTER TABLE<表名>[改变方式]

改变方式:

· 加一个栏位: ADD "栏位 1" "栏位 1 资料种类"

· 删去一个栏位: DROP "栏位 1"

· 改变栏位名称: CHANGE "原本栏位名" "新栏位名" "新栏位名资料种类"

· 改变栏位的资料种类: MODIFY "栏位 1" "新资料种类"

修改方式

由上可以看出,修改基本表提供如下四种修改方式:

(1)ADD方式:用于增加新列和完整性约束,列的定义方式同CREARE TABLE语句中的列定义方式相同,其语法格式:

ALTER TABLE <表名> ADD <列定义>|<完整性约束>。由于使用此方式中增加的新列自动填充NULL值,所以不能为增加的新列指定NOT NULL约束。

(2)DROP方式:用于删除指定的完整性约束条件,或删指定的列,其语法格式为:

ALTER TABLE<表名> DROP [<完整性约束名>]

ALTER TABLE<表名> DROP COLUMN <列名>

注释:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN <列名>)。

(3)CHANGE方式,用于修改某些列,其语法格式:

ALTER TABLE [表名] CHANGE <原列名> TO <新列名><新列的数据类型>

(4)MODIFY方式,用于修改某些列的数据类型,其语法格式:

ALTER TABLE [表名] MODIFY [列名] [数据类型]



查看完整回答
反对 回复 2019-07-13
?
繁星coding

TA贡献1797条经验 获得超4个赞

ORACLE
alter table t add constraint PK_11 foreign key(id1) references tt(id2);--ALTER 表 表名 动作ADD 约束 约束名 FK约束 作用列 参照表列;

alter table t2 add (id4 number,id5 number);
--ALTER 表 表名 ADD (col1 type,col2 type)

alter table t2 modify (col number);
--修改T2的COL列为NUMBER类型,注意,要求被修改的字段为空

查看完整回答
反对 回复 2019-07-13
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

DBCC DBREINDEX (TableName1,Index_Name1)
DBCC DBREINDEX (TableName1,Index_Name2)
DBCC INDEXDEFRAG (TableName2,Index_Name3)
DBCC INDEXDEFRAG (TableName2,Index_Name4)

UPDATE STATISTICS TableName1
UPDATE STATISTICS TableName2

查看完整回答
反对 回复 2019-07-13
?
米脂

TA贡献1836条经验 获得超3个赞

USE TableName
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',90)
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE TableCursor



查看完整回答
反对 回复 2019-07-13
  • 6 回答
  • 0 关注
  • 961 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信