① 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 不猜局走索引
參考資料:網路索引