A. sql如何用語句更改欄位
SQL如何用語句更改欄位可以用以下語句可以實現:
altertable表名altercolumn欄位名變更後的欄位類型。
注意:
但若是關鍵欄位,帶有主鍵,並且欄位類型為用戶自定義類型,具有默認值的情況下,用上述語句會出現錯誤。
例如:
現假設表飢告為TABLE1,關鍵欄位為FIELD1,主鍵為PK_FIELD1,關鍵欄位的數據類型為用戶自定義數據類型cha_field1,實際為CHAR(10),默認值為dbo.D_field1現要求將欄位類型改為varchar(20),默認值去除錯誤提示如下:
伺服器:消息5074,級別16,狀態1,行1
對象'D_field1'依賴於列'field1'。
伺服器:消息5074,級別16,狀態1,行1
對象'PK_field1'依賴於列'field1'。
伺服器:消息4922,級別16,狀態1,前枯行1
ALTERTABLEALTERCOLUMN爛悔明field1失敗,因為有一個或多個對象訪問此列。
B. 用SQl語句更改表中一個欄位的值
用update
set就可以了
update
表名
set
要修改的屬性和值
如果你要修改具體的某列的某個屬性可以在後面查出來用where
比如你說的a表中
id為1的數據中
b列下的值修改為2
update
a
set
b=2
where
id=1
C. SQL實現對一個欄位的循環賦值問題
你這樣進入死循環了,修改如下:
declare@iint
declare@maxidint
set@i=0
select@maxid=max(id)frompersonal
begin
while@i<@maxid
begin
updatepersonalsetPtrack=@i+1whereid=@i+1
set@i=@i+1
if@i=7
begin
set@i=0
break
end
end
end
D. 怎麼用sql修改一列的數據使其循環遞增
代碼里寫,你需要定義一個全局變數,執行一次sql,變數+1。資料庫中可以使用max函數來取最大,然後+1
SELECT MAX(c1) FROM tbl;//獲取最大值
如果是oracle資料庫,id主鍵建議使用序列。
E. SQL語句怎麼添加刪除修改欄位
我們使用資料庫的時候經常需要操作欄位,那麼如何使用SQL進行欄位的增刪改呢?下面我給大家分享一下。
工具/材料
SQL Server Managment
- 01
首先我們打開SQL Server Managment,准備一個數據表,如下圖所示
- 02
然後我們就可以通過SQL中的Add語句進行欄位的增加,如下圖所示
- 03
接下來可以通過alter column進行欄位的修改,如下圖所示
- 04
最後通過drop column進行欄位的刪除,如下圖所示
F. SQL中如何遍歷表並更新某個欄位的值
update Table_A
Set Field_1 = A.Field_1+B.Field_2
From Table_A A
Inner Join Table_B B
On A.xxx = B.xxx
說明如下
這是一個模式 on 後面的a.xxx 是Table_A的某個鍵 ,B.xxx 是Table_B的某個鍵。 A.xxx = B.xxx 這兩個鍵的關系是主鍵與外鍵的關系,並且這兩個鍵是1對1的關系!
G. SQL 循環修改一個表的某個欄位的值,如圖
你看是這個意思嗎?
數據就是你給的這個,表名我起的叫test
declare@idint
declare@maxidint
set@id=3
select@maxid=max(id)fromtest
begin
while@id<=@maxid
begin
updatetestsetavg_value=balance+(selectavg_valuefromtestwhereid=@id-1)whereid=@id
set@id=@id+1
end
end
結果
H. SQL循環修改欄位類型
createtablex
(
a1varchar(20),
a2varchar(20),
a3varchar(20),
a4varchar(20),
a5varchar(20),
)
declare@sqlvarchar(max)
declare@jint
set@j=1
declare@iint
select@i=count(name)fromsys.columnswhereobject_id=object_id('x')
while(@j<=@i)
begin
set@sql='ALTERTABLExALTERCOLUMN[a'+convert(varchar(20),@j)+'][int]NULL'
Exec(@sql)
set@j=@j+1
end