sql修改列類型
1. 如何使用sql語句修改表的結構,比如添加欄位,修改欄位的類型
1.修改數據表名
ALTER TABLE OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME;
2.修改列名
ALTER TABLE TABLE_NAME RENAME COLUMN OLD_COLUMN_NAME TO NEW_COLUMN_NAME;
3.修改列的數據類型
ALTER TABLE TABLE_NAME MODIFY COLUMN_NAME NEW_DATATYPE;
4.插入列
ALTER TABLE TABLE_NAME ADD COLUMN_NAME DATATYPE;
5.刪除列
ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME;
2. sql語句如何更新某列數值為整數型
(1)什麼資料庫?現在的頁面看不出來是什麼資料庫。
(2)現在該欄位的數據類型是什麼?
我的猜測:我看這些0很整齊,小數點後面0的位數是一樣的,也就是說明這個0是自動補的,我也查了前面你的那個類似欄位,也是小數點後14位(算上小數點後不是0的數字),那麼也就是說個人覺得你的數據類型應該mysql的decimal類型,因為個人所知的資料庫中只有這個(據說DB2上也有這個,不過我沒用過不知道)。
也就是說你的數據類型是decimal(xx,14),那麼就會出現這個情況,你可以用alter修改該欄位的欄位類型,update只能修改欄位的值,是沒辦法修改欄位的欄位類型的。而且因為decimal(xx,14)這個欄位屬性的關系,不管你怎麼update,最終都是這種情況。
3. sql 修改欄位類型
alter table 表名 alter column 欄位名 type not null。
1、修改欄位名:
alter table 表名 rename column A to B。
2、修改欄位默認值:
alter table 表名 add default (0) for 欄位名 with values,如果欄位有默認值,則需要先刪除欄位的約束,在添加新的默認值。
3、增加欄位:
alter table 表名 add 欄位名 type not null default 0 。
5、刪除欄位:
alter table 表名drop column 欄位名。
(3)sql修改列類型擴展閱讀:
alter其他用法
1.重命名表
ALTER TABLE 【表名字】 RENAME 【表新名字】
2.刪除表中主鍵
Alter TABLE 【表名字】 drop primary key
3.添加主鍵
ALTER TABLE sj_resource_charges ADD CONSTRAINT PK_SJ_RESOURCE_CHARGES PRIMARY KEY (resid,resfromid)
4.添加索引
ALTER TABLEsj_resource_charges add index INDEX_NAME (name);
5.添加唯一限制條件索引
ALTER TABLE sj_resource_charges add unique emp_name2(cardnumber);
6.刪除索引
alter table tablename drop index emp_name;
7.聯合唯一索引
ALTER TABLE tablenameADD UNIQUE INDEX INDEX_NAME(school_id, settlement_time);
alterignoretable tablenameadniqueindex(user_id,user_name)
4. SQL 修改表中的列名(急~~~)
1、在oracle資料庫中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver資料庫中:exec sp_rename '[表名].[列名]『,』[表名].[新列名]'。
3、在mysql資料庫中:ALTER TABLE 表名 CHANGE 列名 新列名 列類型。
(4)sql修改列類型擴展閱讀:
SQL中對表的其它操作:
1、插入列:
ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。
2、為表中某列添加約束:大於等於100
alter table 表名 add check(列名>=100)。
3、更改表某列的數據類型為nchar(30):
alter table 表名 altercolumn列名 nchar(30)。
4、刪除表中某列的相關約束:
alter table 表名 dropconstraint約束名。
5、刪除表中的某列:
alter table 表名 dropcolumn列名。
參考資料:網路-SQL語句大全
5. 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
ALTERTABLEALTERCOLUMNfield1失敗,因為有一個或多個對象訪問此列。
6. plsql欄位類型修改
1、首先打開plsql,連接上oracle資料庫,假設有一張資料庫表叫做 tblTest,通過sql查詢也可以看出,這裡面是有測試數據的。
7. sql執行修改列數據類型時出錯,該怎麼解決
樓上的2位回答明顯不靠譜,你插入的最後一個值,對應的列是否數值型的。在插入數值型的列的時候,如果沒有值,要麼插入0,要麼插入null值,插入''就會出現從數據類型 varchar 轉換為 numeric 時出錯。你其他的列都應該沒問題,如果數值的長度夠長的話。
8. 怎麼修改SQL列的數據類型
先刪除外鍵關聯:
alter table anqi drop constraint PK__anqi__1920BF5C
然後再執行你的SQL
alter table anqi alter column nihaoa char
跟查詢根本就沒關系!
9. access sql 查詢改變列類型
可以用下面3個函數進行數字轉字元:
format(123,'####')
str(123)
cstr(123)
比如:
selectcstr(col_a)col_afromtable
10. 如何用sql更改表的列的數據類型和添加新列和約束
如何用sql更改表的列的數據類型和添加新列和約束
--修改插入標題
--A.添加新列
ALTER
TABLE
表名
ADD
列名
VARCHAR(20)
--B.修改列名
EXEC
sp_rename
'dbo.表名.列名',
'新列名',
'COLUMN'
--知識點衍生
--1.刪除列
ALTER
TABLE
表名
DROP
COLUMN
column_b
--2.更改列的數據類型
ALTER
TABLE
表名
ALTER
COLUMN
列
DECIMAL
(5,
2)
--3.添加包含約束的列(唯一約束)
ALTER
TABLE
表
ADD
列
VARCHAR(20)
NULL
CONSTRAINT
約束名
UNIQUE
--4.添加一個未驗證的check約束
ALTER
TABLE
表
WITH
NOCHECK
ADD
CONSTRAINT
約束名
CHECK
(列
>
1)
--5.在現有列中添加一個DEFAULT約束
ALTER
TABLE
表
ADD
CONSTRAINT
約束名
DEFAULT
50
FOR
列名
--6.刪除約束
ALTER
TABLE
表
DROP
CONSTRAINT
約束名
--7.更改排序規則
ALTER
TABLE
表
ALTER
COLUMN
列
varchar(50)
COLLATE
Latin1_General_BIN
--8.修改表名
EXEC
sp_rename
'dbo.表名',
'新表名'
--9.重命名索引
EXEC
sp_rename
N'dbo.表名.索引名',
N'新索引名',
N'INDEX'