SQL中如何改變一列的資料型別,SQL如何用語句更改欄位的資料型別

2021-05-01 10:02:56 字數 2326 閱讀 1662

1樓:栽培者

你可以使用 alter table 加 alter column 來更改指定的列資料型別,如:

create table

mytest (fid int,fname nvarchar(20) null)

建立一個表,名為:mytest,包含兩個欄位。如果此時你想要更改 fname 列,那麼可以使用以下語句:

alter table mytest

alter column fname nvarchar(30) null

這裡要注意,如果指定的新的資料型別長度比原來的資料型別小,那麼會出現資料丟失的情況,所以千萬要注意,另外,不是所有的資料型別都可以更改,以下是sql聯機叢書中提到的注意事項:

要更改的列不能是:

·資料型別為 text、image、ntext 或 timestamp 的列。

·表的 rowguidcol 列。

·計算列或用於計算列中的列。

·被複制列。

·用在索引中的列,除非該列資料型別是 varchar、nvarchar 或 varbinary,資料型別沒有更改,而且新列大小等於或者大於舊列大小。

·用在由 create statistics 語句建立的統計中的列。首先用 drop statistics 語句刪除統計。由查詢優化器自動生成的統計會由 alter column 自動除去。

·用在 primary key 或 [foreign key] references 約束中的列。

用在 check 或 unique 約束中的列,除非用在 check 或 unique 約束中的可變長度列的長度允許更改。

·有相關聯的預設值的列,除非在不更改資料型別的情況下允許更改列的長度、精度或小數位數。

sql如何用語句更改欄位的資料型別?

2樓:千鳥

修改型別,使用sql語句:

alter table 表名 alter column 欄位名稱 varchar not null

示例:新建表如下圖

所示:更改name列為varchar,長度為20,如下圖:

改完後結果為:

3樓:小錈

alter table 表名 alter column 列名 新的資料型別[(長度)] null或not null

例:alter table 教師 alter column 辦公室 char(20) not null default "辦公室"

4樓:紫雲瀟客

不是所有的資料庫都是這樣的修改格式,建議直接看官方文件說明,回答者連哪種資料庫都不指定,不要坑人好嗎,耽誤時間

5樓:匿名使用者

如果長度足夠可以使用

alter table 表名

alter column 欄位名稱 nvarchar(255)如果長度不夠則需要增加一個列,然後把源資料列進行轉換長度後放入

oracle資料庫如何修改欄位的資料型別?

6樓:匿名使用者

用alter語句進行修改。

語法:alter table 表名 modify 欄位名 欄位型別(欄位長度);

說明:如果是內date等沒有長度的型別,字容段長度部分可以省略。

如:目前test表屬性如下

要將name列的欄位型別改為date型別,可用如下語句:

alter table test modify name date;

此時可見name列的型別已經更新成功。

注意事項:

如果表中有資料儘量不要使用此語句,會造成資料丟失,應在備份的情況下進行修改。

7樓:匿名使用者

建議新加欄位,再用sql語句拷貝資料過來,新應用直接使用新欄位。

8樓:誦葬花

用工具把所有資料匯出來,改完 再 導進來不就可以了,如果資料格式不對 就在記事本里批量修改一下

mysql怎麼用sql語句修改某個列的資料型別

9樓:

修改表名:alter table t_book rename to bbb;

新增列:alter table 表名 add column 列名 varchar(30);

刪除列:alter table 表名 drop column 列名;

修改列名mysql: alter table bbb change nnnnn hh int;

修改列屬性:alter table t_book modify name varchar(22);

sql如何用語句更改欄位的資料型別

修改型別,使用sql語句 alter table 表名 alter column 欄位名稱 varchar not null 示例 新建表如下圖 所示 更改name列為varchar,長度為20,如下圖 改完後結果為 alter table 表名 alter column 列名 新的資料型別 長度 ...

sql中的資料型別有那些 請講明白些

這型別多了,而且每種資料庫都不一樣 甚至同一種資料庫在不同的作業系統裡都會有差別 如果想看oracle的,可以去看官方文件 pl sql user s guide and reference 第三章專門講oracle的資料型別 pl sql datatypes 如果想看稍微通用一點的,可以看orac...

如何顯示SQL資料庫表中某一行某一列的值

select 列名 from 表名 where 行id 值 怎樣查詢sql資料庫中某一個表中的某個列的一個數值的所有行資料 select from accuont where vip 1 上面的1 是在你表中的型別 為數字類回型的答時候 select from accuont where vip 1...