① mysql怎么添加索引sql语句
工具:mysql数据库创建一个user的表里边的字段
1.普通索引 添加INDEX
ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
下面演示下给user表的name字段添加一个索引
2.主键索引 添加PRIMARY KEY
ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
3.唯一索引 添加UNIQUE
ALTER TABLE `table_name` ADD UNIQUE ( `column` )
4.全文索引 添加FULLTEXT
ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.如何添加多列索引
ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
② 怎样用SQL语句修改字段名
SQL Server中修改字段名的语句是:sp_rename'表名.旧字段名','新字段名'
字段名name改为Snam的语句如下:sp_rename'test.name','sname'
拓展资料
一、语法定义
sp_rename指更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
二、语法介绍
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
三、参数说明
1、[@objname =] 'object_name'—是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name 必须为 table.column 形式。如果要重命名的是索引,那么 object_name 必须为 table.index 形式。object_name 为 nvarchar(776) 类型,无默认值。
2、[@newname =] 'new_name'—是指定对象的新名称。new_name 必须是名称的一部分,并且要遵循标识符的规则。newname 是 sysname 类型,无默认值。
3、[@objtype =] 'object_type' —是要重命名的对象的类型。object_type 为 varchar(13) 类型,其默认值为 NULL,可取下列值。
③ SQL定义索引的语句有哪些
用SQL建立索引
为了给一个表建立索引,启动任务栏SQL Sever程序组中的ISQL/w程序。进入查询窗口后,输入下面的语句:
CREATE INDEX mycolumn_index ON mytable (myclumn)
这个语句建立了一个名为mycolumn_index的索引。你可以给一个索引起任何名字,但你应该在索引名中包含所索引的字段名,这对你将来弄清楚建立该索引的意图是有帮助的。
注意:
执行后,都会收到如下的信息:
This command did not return data,and it did not return any rows
这说明该语句执行成功了。
索引mycolumn_index对表mytable的mycolumn字段进行。这是个非聚簇索引,也是个非唯一索引。(这是一个索引的缺省属性)
如果你需要改变一个索引的类型,你必须删除原来的索引并重建 一个。建立了一个索引后,你可以用下面的SQL语句删除它:
DROP INDEX mytable.mycolumn_index
注意在DROP INDEX 语句中你要包含表的名字。在这个例子中,你删除的索引是mycolumn_index,它是表mytable的索引。
要建立一个聚簇索引,可以使用关键字CLUSTERED。记住一个表只能有一个聚簇索引。
这里有一个如何对一个表建立聚簇索引的例子:
CREATE CLUSTERED INDEX mycolumn_clust_index ON mytable(mycolumn)
如果表中有重复的记录,当你试图用这个语句建立索引时,会出现错误。但是有重复记录的表也可以建立索引;你只要使用关键字ALLOW_DUP_ROW把这一点告诉SQL Sever即可:
CREATE CLUSTERED INDEX mycolumn_cindex ON mytable(mycolumn) WITH ALLOW_DUP_ROW
这个语句建立了一个允许重复记录的聚簇索引。你应该尽量避免在一个表中出现重复记录,但是,如果已经出现了,你可以使用这种方法。
要对一个表建立唯一索引,可以使用关键字UNIQUE。对聚簇索引和非聚簇索引都可以使用这个关键字。这里有一个例子:
CREATE UNIQUE COUSTERED INDEX myclumn_cindex ON mytable(mycolumn)
这是你将经常使用的索引建立语句。无论何时,只要可以,你应该尽量对一个对一个表建立唯一聚簇索引来增强查询操作。
最后,要建立一个对多个字段的索引──复合索引──在索引建立语句中同时包含多个字段名。下面的例子对firstname和lastname两个字段建立索引:
CREATE INDEX name_index ON username(firstname,lastname)
这个例子对两个字段建立了单个索引。在一个复合索引中,你最多可以对16个字段进行索引。
用事务管理器建立索引
用事务管理器建立索引比用SQL语句容易的多。使用事务管理器,你可以看到已经建立的索引的列表,并可以通过图形界面选择索引选项。
使用事务管理器你可以用两种方式建立索引:使用Manage Tables窗口或使用Manage Indexes窗口。
要用Manage Tables 窗口建立一个新索引,单击按钮Advanced Options(它看起来象一个前面有一加号的表)。这样就打开了Advanced Options对话框。这个对话框有一部分标名为Primary Key。
要建立一个新索引,从下拉列表中选择你想对之建立索引的字段名。如果你想建立一个对多字段的索引,你可以选择多个字段名。你还可以选择索引是聚簇的还是非聚簇的。在保存表信息后,索引会自动被建立。在Manage Tables窗口中的字段名旁边,会出现一把钥匙。
你已经为你的表建立了“主索引”。主索引必须对不包含空值的字段建立。另外,主索引强制一个字段成为唯一值字段。
要建立没有这些限制的索引,你需要使用Manage Indexes窗口。从菜单中选择Manage|Indexes,打开Manage Indexes 窗口。在Manage Indexes 窗口中,你可以通过下拉框选择表和特定的索引。(见图11.2)。要建立一个新索引,从Index下拉框中选择New Index.,然后就可以选择要对之建立索引的字段。单击按钮Add,把字段加人到索引中。
你可以为你的索引选择许多不同的选项。例如,你可以选择该索引是聚簇的还是非聚簇的。你还可以指定该索引为唯一索引。设计好索引后,单击按钮Build,建立该索引。
注意:
唯一索引是指该字段不能有重复的值,而不是只能建立这一个索引。
④ sql语句中怎么修改 索引
我觉得应该不能修改索引吧。。创建索引的目的是为了提高查询效率,是对于某个具体属性而建立的,如果用户觉得这个索引不适合,或者说这个索引创建的不好,那么可以删除索引,重新再创建一个索引。某个属性创建索引不适合,可以把该索引删掉,再在另外的属性上创建一个索引,因此应该就没有必要再设计一个可以创建索引的方法或语句。删除后再创建一个索引可以达到这样的效果。
要不你把题目仔细说一下。。有试过搭配用desc来达到降序的目的吗
⑤ sql 修改字段类型
altertable表名altercolumn字段名typenotnull。
1、修改字段名:
altertable表名renamecolumnAtoB。
2、修改字段默认值:
altertable表名adddefault(0)for字段名withvalues,如果字段有默认值,则需要先删除字段的约束,在添加新的默认值。
3、增加字段:
altertable表名add字段名typenotnulldefault0。
5、删除字段:
altertable表名dropcolumn字段名。
(5)修改索引字段的sql语句扩展阅读:
alter其他用法
1.重命名表
ALTERTABLE【表名字】RENAME【表新名字】
2.删除表中主键
AlterTABLE【表名字】dropprimarykey
3.添加主键
ALTERTABLEsj_resource_chargesADDCONSTRAINTPK_SJ_RESOURCE_CHARGESPRIMARYKEY(resid,resfromid)
4.添加索引
ALTERTABLEsj_resource_chargesaddindexINDEX_NAME(name);
5.添加唯一限制条件索引
ALTERTABLEsj_resource_chargesadniqueemp_name2(cardnumber);
6.删除索引
_name;
7.联合唯一索引
_NAME(school_id,settlement_time);
(user_id,user_name)
⑥ SQL server怎样使用ALTER 语句修改字段名
1、新建一个表:student,用做示例,如图所示。
(6)修改索引字段的sql语句扩展阅读
在修改Sql Server表结构时,常用到Alter语句,把一些常用的alter语句列举如下。
1、向表中添加字段
Alter table [表名] add [列名] 类型
2、删除字段
Alter table [表名] drop column [列名]
3、修改表中字段类型 (可以修改列的类型,是否为空)
Alter table [表名] alter column [列名] 类型
4、添加主键
Alter table [表名] add constraint [约束名] primary key( [列名])
5、添加唯一约束
Alter table [表名] add constraint [约束名] unique([列名])
6、添加表中某列的默认值
Alter table [表名] add constraint [约束名] default(默认值) for [列名]
7、添加约束
Alter table [表名] add constraint [约束名]check (内容)
8、添加外键约束
Alter table [表名] add constraint [约束名] foreign key(列名) referencese 另一表名(列名)
9、删除约束
Alter table [表名] drop constraint [约束名]
10、重命名表
exec sp_rename '[原表名]','[新表名]'
11、重命名列名
exec sp_rename '[表名].[列名]','[表名].[新列名]'
12、删除主键,以及主键上的索引
alter table table_name drop constraint clusteredName
⑦ 如何使用SQL语句修改表内的数据
修改表中内容
修改用到update语句,语句格式为:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
即 update 员工表 set 部门id=01 where 员工id=0004
SQL联合主键
Create Table 表名 (字段名1 Int Not Null,
字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
字段名3…………
字段名N………… )
(7)修改索引字段的sql语句扩展阅读
主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说主键在一张表中的记录值是唯一的。 建立主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立,下面分别介绍。
在数据库提供的GUI环境中建立(以SQL7为例)。输入表信息后按Ctrl键同时选中多行,然后点上面的主键按钮就行了。
通过SQL语句执行建立。又分两种,一是在建表语句中直接写,二是建表之后更改表结构。
在建表语句中直接写:
Create Table 表名 (字段名1 Int Not Null,
字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
字段名3…………
字段名N………… )
⑧ 怎么用sql语句修改索引所在的文件组
修改文件组的名称
alter database database_name
modify filegroup old_filegroup_name
name=new_filegroup_name
创建一个文件指定一个文件组
假如原来就存在一个文件组filegroup_1
那么就这么写
alter database database_name
add file
(
name='file_name',
filename='d:\file_name.ndf',
size=...,
maxsize=...,
filegrowth=...
)
to filegroup filegroup_1
假如不存在文件组filegroup_1
可以先创建一个,如下
alter database database_name
add filegroup filegroup_1
之后重复上面的alter database...语句即可。
⑨ sql如何建立降序索引 和删除索引
建立降序索引语法:
createindex索引名on表名(字段名desc);
注:desc换成asc则是升序索引。
删除索引语法:
dropindex索引名;
(9)修改索引字段的sql语句扩展阅读:
索引的使用及注意事项御哗
尽量避免这些不走索引的sql:
1、SELECT `sname` FROM `stu` WHERE `age`+10=30;不会使用索引,因为所有索引列参与了计算。
2、SELECT `sname` FROM `stu` WHERE LEFT(`date`,4) <1990; 不会使用索引,因为使用了函数运算,原理与上面相同。
3、SELECT * FROM `hounwang` WHERE `uname` LIKE'后盾%' 走索引。
4、SELECT * FROM `hounwang` WHERE `uname` LIKE "%后盾%"不走索引。镇兆行
5、字符串与数字比较不使用索引;
CREATE TABLE `a` (`a` char(10));
EXPLAIN SELECT * FROM `a` WHERE `a`="1"走索引。
EXPLAIN SELECT * FROM `a` WHERE `a`=1 不猜局走索引
参考资料:网络索引