個人總結的mysql、sqlserver、oracle維護索引、外鍵、字段、表語法

mysql、sqlserver、oracle是目前數據庫領域應用最多的三種,sql語法在這三個數據庫當中大部分差不多,不過也有一點小區別,以下是對mysql、sqlserver、oracle三種數據庫的維護索引、外鍵、字段、表語法總結。

1. MYSQL數據庫
1) 創建索引
CREATE INDEX index_name ON table_name(column_list)
CREATE UNIQUE INDEX index_name ON table_name(column_list)
修改表的方式添加索引
ALTER TABLE table_name ADD INDEX index_name(column_list)
ALTER TABLE table_name ADD UNIQUE (column_list)
ALTER TABLE table_name ADD PRIMARY KEY(column_list)

2) 刪除索引
DROP INDEX index_name ON talbe_name
修改表的方式刪除索引
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY

3) 創建外鍵
修改表的方式添加外鍵
ALTER TABLE TABLE_NAME
ADD [CONSTRAINT 外鍵名]FOREIGN KEY (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
舉例:
ALTER TABLE TABLE_NAME ADD CONSTRAINT FK_NAME(user_id)
REFERENCE sys_user(id)
需要注意兩個字段的數據類型一致;

4) 刪除外鍵
ALTER TABLE sys_org DROP FOREIGN KEY fk_s_o_id;

5) 列操作語法
Ø 添加列 birthday ,有COLUMN關鍵字
alter table sys_user add COLUMN birthday char(19) not null;
Ø 修改列 birthday ,有MODIFY 關鍵字
alter table sys_user modify birthday char(10);
Ø 刪除列 birthday,有 DROP COLUMN關鍵字
alter table sys_user drop column birthday;
Ø 修改列名稱及屬性;把birthday修改成CSRQ ,並改屬性爲char(10) 和不允許爲空not null
alter table sys_user change birthday CSRQ char(10) not null;
6) 修改表名稱
rename table MyTable to YouTable;
2. SQL SERVER 數據庫
1) 創建索引
create UNIQUE INDEX un_index_name on sys_user(user_name);
2) 刪除索引
DROP INDEX un_index_name ON sys_user
3) 創建外鍵
alter table sys_org add CONSTRAINT fk_s_o_id FOREIGN key(create_user)
REFERENCES sys_user(id);
與mysql一致,需要注意兩個字段的數據類型一致;
4) 刪除外鍵
ALTER TABLE sys_org DROP constraint fk_s_o_id;
與mysql語法不同

5) 列維護語法
6) 添加列 birthday ,有ADD關鍵字
alter table sys_user add birthday char(19) not null;
7) 修改列 birthday屬性 ,有alter column 關鍵字
alter table sys_user alter column birthday char(10);
8) 刪除列 birthday,有 DROP COLUMN關鍵字
alter table sys_user drop column birthday ;

9) 修改列名稱及屬性;把birthday修改成CSRQ ,並改屬性爲char(10) 和不允許爲空not null;需要分成兩步執行;

exec sp_rename 'sys_user.[birthday]','CSRQ','COLUMN';
alter table sys_user alter column CSRQ char(10) not null;
6) 修改表名稱
EXECsp_rename ‘MyTable’ , 'YouTable';
3. ORACLE 數據庫
1) 創建索引
CREATE INDEX index_name ON table_name(column_list)
CREATE UNIQUE INDEX index_name ON table_name(column_list)
create INDEX ind_s_u_sex on sys_user(sex);
2) 刪除索引
DROP INDEX [schema.]indexname;
drop index ind_s_u_sex;
3) 創建外鍵
修改表的方式添加外鍵
ALTER TABLE TABLE_NAME
ADD [CONSTRAINT 外鍵名] FOREIGN KEY (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
舉例:
ALTER TABLE TABLE_NAME ADD CONSTRAINT FK_NAME FOREIGN KEY (user_id)
REFERENCE sys_user(id)
需要注意兩個字段的數據類型一致;

4) 刪除外鍵
ALTER TABLE TABLE_NAME DROP CONSTRAINT FK_NAME;
舉例:
ALTER TABLE sys_org drop constraint fk_s_o_id;
5) 列操作語法
Ø 添加列 birthday , 有add關鍵字
alter table sys_user add birthday char(19) not null;
Ø 修改列 birthday ,有MODIFY 關鍵字
alter table sys_user modify birthday char(10);
Ø 刪除列 birthday,有 DROP COLUMN關鍵字
ALTER TABLE sys_user DROP COLUMN birthday;
Ø 修改列名稱及屬性;把birthday修改成CSRQ ,並改屬性爲char(10) 和不允許爲空not null;需要分成兩步執行;
ALTERTABLE sys_user RENAME COLUMN birthday to CSRQ;
ALTER TABLE sys_user MODIFYCSRQ char(10) ;
6) 修改表名稱
rename MyTable to YouTable;

更多相關文章
  • MYSQL,最成功的開源關系型數據庫之一,在國內外擁有大批的使用者,在這篇文章中,我們精心收集了13個最實用的mysql查詢技巧,希望能夠帶給大家驚喜,也方便自己以後查詢!如果大家也覺得是非常不錯的sql,請轉發.1
  • 在一些情況下,強大的Linux shell/terminal命令甚至不會詢問你而直接執行命令,可能導致文件夾.文件或者路徑文件夾等被刪除.這裏我收集了一些對系統有危害的Linux代碼,幫助你避免他們.請記住:這些代碼
  • 總結的 MySQL 的調節和優化的提示 101 條老師不會告訴你的
    Mysql應用發展到一定的程度,就得對你的Mysql進行調節優化,本文是我們精心總結的10
  • 本文章介紹了ie6 ie7 ie8 ie9和FireFox Chrome中css區別總結,有需要的朋友可參考參考.1.DOCTYPE 影響 CSS 處理2.FF: div 設置 margin-left, margin-right 爲 auto 時已經居中, IE 不行3.FF: body 設置 te ...
  • 本文我們來總結一下mysql數據庫中InnoDB與Myisam表類型的的六大區別,分別是:構成上的區別,事務處理上方面,SELECT,UPDATE,INSERT,Delete操作,對AUTO_INCREMENT的操作,表的具體行數,鎖一.構成上的區別:MyISAM每個MyISAM在磁盤上存儲成三個文
  • 本文章總結了IE下使用jquery ajax失效的原因和一些解決辦法,有需要的朋友可參考一下本文章.1,然後各種調試,最後發現:把ie把關了,再打開$.get().會調用,再第二次調用的用的時候發現又不行了.于是我推斷是ie緩存的問題,把ie緩存清除後,果然可以了.但是客戶不可能知道清理緩存.所以只
  • 本文章來給各位同學介紹一篇關于公司技術總監與經理工作總結與工作計劃2012-2014年,如果你是這個職位的這篇文章非常不錯哦.2012年終總結2012年是夢想啓航的一年,今年以來,從我的工作職責方面,我很感激公司領導
  • 本文章來介紹了關于編寫SQL需要注意的細節 Checklist總結 ,有需要了解的同學可以參考一下下. 代碼如下 /*--注意:准備數據(可略過,非常耗時)CREATE TABLE CHECK1_T1( ID INT
一周排行
  • php curl的好處可以以最快的方式並且模仿post提供我們的url地址給百度搜索引擎進行收錄了,下面來看一個官方的例子吧.百度鏈接提交三種方式:1.主動推送:最爲快速的提交方式,推薦您將站點當天新産出鏈接立即通過 ...
  • 利用nagios監控mysql主從複制狀態的方法有很多,下面我整理了一些大家常使用的一些方法,希望此文章能給各位朋友帶來一些幫助哦.方法一一.mysql從伺服器設置1.mysql從伺服器用戶添加 代碼如下 執行如下語
  • 使用PHP內置web伺服器第一次聽說過了,只聽過在windows中內置了php運行環境了,那麽使用PHP內置web伺服器到底是一個什麽東西呢,一起來看看.PHP 5.4起就在CLI SAPI中內置了web伺服器,這給 ...
  • 今天介紹一下關于json數據解析,我們使用Android中的JSONObject和JSONArray解析json數據,有android開發的朋友可以參考一下. String strJson = "{&quo ...
  • iPhone6plus越獄後應用圖標丟失顯示白色
    蘋果ios系統越獄出現應用圖標變成白色的應用圖標如何來解決了,碰到這種問題以前小編有介紹過
  • Promises象征著一個異步操作的最終結果.Promises交互主要通過它的then方法,then方法接受一個回調函數,這個回調函數接受執行成功的返回值或執行失敗的錯誤原因,錯誤原因一般是Error對象.Promi
  • 下面本文章給各位介紹一下HTML5 FormData 與無刷新文件上傳例子,希望這個html5文件無刷新上傳例子能給各位帶來幫助.無刷新文件上傳是一個常見而又有點複雜的問題,常見的解決方案是構造 iframe 方式實
  • discuz x1.5 僞靜態的配置方法(iis,apache)如是Apache伺服器,操作如下:建立.htaccess文件,在該文件裏面寫入如下僞靜態規則: 代碼如下:# 將 RewriteEngine 模式打開 ...
  • php教程 ajax 實例與ajax 教程 1創建xmlhttprequest對象的網頁特效程序. 2 發出異步請求的javascript程序. 3 處理伺服器回應的javascript程序.*/ //1創建xmlh
  • HTC One M9+支付寶指紋支付設置方法詳解
    支付寶指紋我相信使用iphone設備的果粉肯定是知道如何使用支付寶指紋了,下文我要介紹的是 ...