LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

SQL 字段編輯

admin
2012年1月14日 17:14 本文熱度 2941

修改字段名 alter table 表名1 rename column 原字段 to 目的字段


添加字段名 ALTER TABLE 表名 ADD COLUMN 字段名 n(20,5)


刪除字段名 ALTER TABLE 表名 DROP COLUMN 字段名


修改字段類型 ALTER TABLE 表名 ALTER COLUMN 字段名 c(50)


語法


ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1 FieldType [(nFieldWidth [, nPrecision])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]] [DEFAULT eExpression1] [PRIMARY KEY | UNIQUE] [REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS] [NOVALIDATE]


— 或者 —


ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL | NOT NULL] [SET DEFAULT eExpression2] [SET CHECK lExpression2 [ERROR cMessageText2]] [DROP DEFAULT] [DROP CHECK] [NOVALIDATE]


— 或者 —


 ALTER TABLE TableName1 [DROP [COLUMN] FieldName3] [SET CHECK lExpression3 [ERROR cMessageText3]] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2 [FOR lExpression4]] [DROP PRIMARY KEY] [ADD UNIQUE eExpression4 [TAG TagName3 [FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY [eExpression5] TAG TagName4 [FOR lExpression6] REFERENCES TableName2 [TAG TagName5]] [DROP FOREIGN KEY TAG TagName6 [SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] [NOVALIDATE]


參數


TableName1


指定要修改其結構的表名。


ADD [COLUMN] FieldName1


指定要添加的字段名。單個的表中最多可以有 255 個字段。 如果一個或更多的字段允許 null 值, 該限制為 254 個字段。


ALTER [COLUMN] FieldName1


指定要修改的已有的字段名。


FieldType [(nFieldWidth [, nPrecision])]


指定新字段或待修改字段的字段類型、字段寬度和字段精度(小數點后的位數)。參數 FieldType 是表示字段數據類型的單個字符。有些字段類型還需要參數 nFiledWidth 或 nPrecision,或者兩者皆要。下表列出了參數 FiledType 的值及其對應參數 nFiledWidth 和 nPression 的取舍情況:





































































字段類型 字段寬度 精度 說明
C n 寬度為 n 的字符字段
D 日期
T 日期時間
N n d 寬度為 n 的數值型字段,小數點后保留 d 位
F n d 寬度為 n 的浮點型字段,小數點后保留 d 位
I 整數型
B d 雙精度型
Y 貨幣型
L 邏輯型
M 備注型
G 通用型
P 圖象


對于 D、T、I、Y、L、M、G 和 P 型數據,省略參數 nFieldWidth 和 nPrecision。
如果對 N、F 或 B 型數據沒有給出參數 nPrecision 的值,其的默認值為零。
NULL | NOT NULL 允許或不允許字段為空值。如果省略 NULL 和 NOT NULL,當前的 SET NULL 設置將決定字段是否允許為空;并且如果命令中帶有 PRIMARY KEY 或 UNIQUE 子句,當前的 SET NULL 設置不起作用,字段默認狀況為非空。
CHECK lExpression1 指定字段的有效性規則。lExpression1 為邏輯表達式值,可以是用戶定義的函數或存儲過程。
注意:每添加一個空記錄時,都將進行有效性檢查。如果有效性規則不允許添加的記錄中有空字段值,VisualFoxPro 將產生錯誤信息。
ERROR cMessageText1 指定字段有效性檢查出現錯誤時顯示的錯誤信息。只有在“瀏覽”或“編輯”窗口中修改數據時,此信息才可能顯示。
DEFAULT eExpression1 指定字段默認值。eExpression1 的數據類型必須與字段的數據類型相同。
PRIMARY KEY 創建主索引標識。索引標識與字段同名。
UNIQUE 創建與字段同名的候選索引標識。有關候選索引的詳細內容,請參閱《開發指南》的第七章“處理表”。
附注候選索引(由 UNIQUE 選項創建,具有在 ALTER TABLE 或 CREATE TABLE 中的 ANSI 兼容性。)與帶 UNIQUE 選項的 INDEX 命令創建的索引不同。用帶 UNIQUE 選項的 INDEX 命令創建的索引允許有重復索引關鍵字,而候選索引不允許有重復索引關鍵字。
在主索引或候選索引字段中,不允許有空值和重復記錄。如果用 ADD COLUMN 子句創建一個新字段,若給允許空值的字段創建主索引或候選索引,VisualFoxPro 不會產生錯誤。但是,如果您試圖往用作主索引或候選索引的字段中輸入空值或重復值,VisualFoxPro 將產生錯誤信息。如果修改已有的字段和由字段組成的主索引表達式或候選表達式時,將檢查字段是否為空值或重復記錄。如果為空值或重復記錄,Visual FoxPro 將產生錯誤,并且不對表進行修改。
REFERENCES TableName2 TAG TagName1 指定與之建立永久關系的父表。參數 TAG TagName1 指定父表索引標識,關系建立在此父表索引標識基礎上。索引標識最長為 10 個字。
NOCPTRANS 防止對字符串或備注字段進行代碼頁轉換。如果表轉換到另一代碼頁,指定了 NOCPTRANS 的字段不進行轉換。NOCPTRANS 只能指定字符字段和備注字段。


下面的例子建立了一個名字為 MYTABLE 的表:該表包括兩個字符字段和兩個備注字段。第二個字符字段 char2 和第二個備注字段 memo2 包含 NOCPTRANS 以防止轉換。
CREATE TABLE mytable (char1 C(10), char2 C(10) NOCPTRANS,; memo1 M, memo2 M NOCPTRANS) ALTER [COLUMN] FieldName2
指定要修改的已有的字段名。
SET DEFAULT eExpression2 指定已有字段的新默認值。eExpression2 的數據類型必須與字段數據類型相同。
SET CHECK lExpression2 指字已有字段新的有效性規則。lExpression2 值必須為邏輯表達式,也可以為用戶自定義函數或已有的過程。
ERROR cMessageText2 指定有效性檢查出現錯誤時顯示的錯誤信息。只有在“瀏覽”窗口或“編輯”窗口改變數據時,才可能顯示此信息。
DROP DEFAULT 刪除已有字段的默認值。
DROP CHECK 刪除已有字段的有效性規則。
DROP [COLUMN] FieldName3 從表中刪除一個字段。刪除一個字段的同時也刪除了字段的默認值和字段有效性規則。字段被刪除后,索引關鍵字或引用此字段的觸發器表達式將變為無效。在這種情況下,刪除字段并不產生錯誤,但是在運行時刻,無效的索引關鍵字或觸發器表達式將導致錯誤。
SET CHECK lExpression3 指定表的有效性規則。lExpression3 必須是邏輯表達式,也可以是用戶自定義函數或已有的過程。
ERROR cMessageText3 指定表的有效性檢查出現錯誤時顯示的錯誤信息。只有在“瀏覽”窗口或“編輯”窗口中改變數據值時,才可能顯示此信息。
DROP CHECK 刪除表的有效性規則。
ADD PRIMARY KEY eExpression3 TAG TagName2 往表中添加主索引,eExpression 指定主索引關鍵字表達式,TagName2 指定主索引標識名,索引標識名最長為 10 個字符。如果省略TAG TagName2 而 eExpression3 是一個字段,主關鍵索引標識與指定的 eExpression3 同名。
DROP PRIMARY KEY 刪除主索引及其標識。因為表只能有一個主關鍵字,所以不必指定關鍵字的名稱。刪除主索引也將刪除所有基于此關鍵字的永久關系。
ADD UNIQUE eExpression4 [TAG TagName3] 往表中添加候選索引。eExpression4 指定候選索引關鍵字表達式,TagName3 指定候選索引標識名。候選標識名最長可為 10 個字符。如果省略參數 TAG TagName3 并且 eExpression4 為單個字段,候選索引標識與 eExpression4 中的指定的字段同名。
DROP UNIQUE TAG TagName4 刪除候選索引及其標識。因為表可能有多個候選關鍵字,所以必須指定候選索引標識名。
ADD FOREIGN KEY [eExpression5] TAG TagName4 往表中添加外部關鍵字(非主關字)索引。
eExpression5 指定外部索引關鍵字表達式,TagName4 指定外部索引標識名。索引標識名最長為 10 個字符。
REFERENCES TableName2 [TAG TagName5] 指定在其上創建了永久關系的父表。使用 TAG TagName5 指定一個已有的索引標識,基于此索引標識建立表與父表的一個關系。索引標識名最長可以為 10 個字符。如果省略參數 TAG TagName5,則使用父表的主索引標識建立關系。
DROP FOREIGN KEY TAG TagName6 [SAVE] 刪除索引標識為 TagName6 的外部關鍵字。如果省略 SAVE 參數,將從結構索引中刪除索引標識。如果加入 SAVE 參數,則不從結構索引中刪除索引標識。
RENAME COLUMN FieldName4 TO FieldName5 允許改變表中字段的字段名。FieldName4 指定待更改的字段名,FieldName5 指定新的字段名。


注意 改變表的字段名時一定要小心--索引表達式、字段和表的有效性規則、命令、函數等等可能仍會引用原始字段名。 NOVALIDATE 選用這一選項后,Visual FoxPro 修改表的結構不受表中數據完整性的約束。默認時,Visual FoxPro 改變表結構將受到表中數據的完整性約束。使用 NOVALIDATE 參數將使默認情況無效。


說明 ALTER TABLE 命令可以用于修改還沒有添加到數據庫中的表的結構。然而在修改自由表時,如果加入 DEFAULT、FOREIGN KEY、PRIMARY REFERENCES 或 SET 子句,Visual FoxPro 將出現錯誤。


ALTER TABLE 命令可以通過建立新表頭和往表頭中添加記錄來重建表。例如,改變字段類型或字段寬度。表經過重建后,將對所有改變了類型或寬度的字段執行字段有效性規則。如果修改了表中所有字段的類型或寬度,將執行表的有效性規則。如果對已含有記錄的表修改其字段有效規則或表有效性規則,Visual FoxPro 將檢查新的字段或表有效性規則是否與存在數據相符合,并在發現有不符之處時發出警告。 如果要修改的表在數據庫中,ALTER TABLE-SQL 命令需要獨占使用數據庫。若要獨占打開數據庫,可使用包含 EXCLUSIVE 子句的 OPEN DATABASE 命令。


該文章在 2012/1/14 17:14:45 編輯過

全部評論3

admin
2012年1月14日 17:15
增加字段 alter table docdsp add dspcode char(200) 刪除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 修改字段類型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 改名 sp_rename 更改當前數據庫中用戶創建對象(如表、列或用戶定義數據類型)的名稱。 語法 sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] --假設要處理的表名為: tb --判斷要添加列的表中是否有主鍵 if exists(select 1 from sysobjects where parent_obj=object_id('tb') and xtype='PK') begin print '表中已經有主鍵,列只能做為普通列添加' --添加int類型的列,默認值為0 alter table tb add 列名 int default 0 end else begin print '表中無主鍵,添加主鍵列' --添加int類型的列,默認值為0 alter table tb add 列名 int primary key default 0

該評論在 2012/1/14 17:15:36 編輯過
admin
2012年1月14日 17:28
SQL字段類型長度的更改方法 如果需要對SQL字段類型長度進行更改,應該怎么做呢?下面將為您舉例說明SQL字段類型長度的更改方法,希望對您有所啟迪。 下文將對SQL字段類型長度的更改進行詳細的說明,并舉例說明,供您參考,如果您對SQL字段類型長度方面感興趣的話,不妨一看。 如果數據量非常大,達到幾百萬條記錄以上,使用企業管理器來更改字段類型,很多時候會超時,更改不成功,這時可以使用Sql語句來更改,如下: --更改字段類型長度 alter table 表 alter column 字段名 類型的長度--varchar(60) 例:把城市表的城市名字段有原來的長度20改為30 alter table Testcity alter column cityname varchar(30) --更改字段類型 alter table 表 alter column 字段名 更改后的類型 例:把城市表的城市名字段有原來的varchar類型改為int類型 alter table Testcity alter column cityname int --添加not null約束 alter table 表 alter column 字段名 int not null 例:把cid不能輸入空值 alter table Testcity alter column cid int not null --設置主鍵 alter table 表 add constraint 主鍵名 primary key(字段名) 例:把cid設為主鍵 alter table Testcity add constraint PK_cid primary key(cid) --更改字段名 EXEC sp_rename '表名.字段名','更改后的字段名','COLUMN' --添加字段名 ALTER TABLE 表 ADD 字段名 字段類型 DEFAULT null

該評論在 2012/1/14 17:28:33 編輯過
admin
2012年1月21日 0:42

下文為您介紹SQL修改字段默認值的方法,使用SQL語句可以實現許多我們需要的功能,SQL修改字段默認值就是其中之一。
 
一、SQL修改字段默認值
01.alter table 表名 drop constraint 約束名字 
02.
03.說明:刪除表的字段的原有約束 
04.alter table 表名 add constraint 約束名字 DEFAULT 默認值 for 字段名稱 
05.
06.說明:添加一個表的字段的約束并指定默認值 
07.
08.go

例:
01.alter table T_ping drop constraint DF_T_ping_p_c 
02.alter table T_ping add constraint DF_T_ping_p_c DEFAULT ((2)) for p_c 
03.go 

二、獲取字段默認值
01.select b.text as 默認值字段名 (隨便起) 
02.from syscolumns a left join syscomments b on a.cdefault=b.id  
03.where a.id=object_id('表名') and a.name='字段名稱' 
說明:syscolumns ,syscomments為系統表
 
例:
01.select b.text as moren  
02.
03.from syscolumns a left join syscomments b on a.cdefault=b.id  
04.where a.id=object_id('T_ping') and a.name='p_c' 

獲取之后有引號,可以截取一下字符


該評論在 2012/1/21 0:44:47 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
在线观看AV网址入口 | 亚洲欧美高清一区二区三区 | 日本免费一区二区三区中文字幕 | 日本三级国产精品一卡两卡 | 亚洲成色在线香蕉 | 日韩1区2区3区在线观看 |