當前位置:首頁 » 編程語言 » sqlserver修改欄位類型

sqlserver修改欄位類型

發布時間: 2023-02-15 20:11:34

sql語句如何修改主鍵欄位的欄位類型類型

首先,修改主鍵欄位的欄位類型,肯定是要先刪除主鍵才能操作的
--【1.查找主鍵】
--SQLSERVER
select name as pkName from dbo.sysobjects where xtype='PK' and parent_obj=(select id from dbo.sysobjects where name='表名')
--ORACLE
SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = UPPER('表名') AND CONSTRAINT_TYPE ='P'
--【2.刪除主鍵約束】
ALTER TABLE 表名 DROP CONSTRAINT 約束名
--ORACLE
--刪除主鍵連同索引
ALTER TABLE 表名 DROP CONSTRAINT 約束名 CASCADE DROP INDEX;
或者
ALTER TABLE 表名 DROP PRIMARY KEY CASCADE DROP INDEX;--【3.修改欄位】
--【先把這一列的值備份到臨時列里,再把這一列update成null,再修改類型,再把數據拷貝回來】
--SQLSERVER
--默認值單獨處理,關聯約束
--默認值的變更涉及到約束,如有約束,需要先查詢出越是再進行刪除
ALTER TABLE 表名 DROP CONSTRAINT 約束名
ALTER TABLE 表名 ALTER COLUMN 欄位名 欄位類型(長度精度) 是否為空
ALTER TABLE 表名 ADD CONSTRAINT 約束名 DEFAULT 默認值 FOR 欄位名
--ORACLE
--刪除默認值:default null
ALTER TABLE 表名 MODIFY COLUMN 欄位名 VARCHAR2(20) DEFAULT ' ' NOT NULL--【4.新增主鍵】
--指定主鍵名字
ALTER TABLE 表名 ADD CONSTRAINT 主鍵名 PRIMARY KEY (F1,F2);
--未指定主鍵名字
ALTER TABLE 表名 ADD PRIMARY KEY (F1,F2)

② sqlserver如何修改表某個欄位的屬性

是修改每一列的數值類型嗎
可以右擊你要更改的那個表選擇設計單機進入找到你要更改的列,進行更改就行了。
希望能過幫到你

③ sqlserver200版本資料庫問題 我想修改欄位資料庫類型。

如果你的sql是sql2000varchar最長長度可以是8000,
如果是sql2005以上版本可以支持varchar(max),最長可達2g的欄位容量數據
你可以試試,也許你的1024還是不夠。

④ SQL SERVER中某個欄位屬性為varchar,我想把這個欄位改成int型,如何操作

工具/材料:以Management Studio為例。

1、首先在桌面上,點擊「Management Studio」圖標。

⑤ SQL server怎樣使用ALTER 語句修改欄位名

1、新建一個表:student,用做示例,如圖所示。

(5)sqlserver修改欄位類型擴展閱讀

在修改Sql Server表結構時,常用到Alter語句,把一些常用的alter語句列舉如下。

1、向表中添加欄位

Alter table [表名] add [列名] 類型

2、刪除欄位

Alter table [表名] drop column [列名]

3、修改表中欄位類型 (可以修改列的類型,是否為空)

Alter table [表名] alter column [列名] 類型

4、添加主鍵

Alter table [表名] add constraint [約束名] primary key( [列名])

5、添加唯一約束

Alter table [表名] add constraint [約束名] unique([列名])

6、添加表中某列的默認值

Alter table [表名] add constraint [約束名] default(默認值) for [列名]
7、添加約束

Alter table [表名] add constraint [約束名]check (內容)

8、添加外鍵約束

Alter table [表名] add constraint [約束名] foreign key(列名) referencese 另一表名(列名)

9、刪除約束

Alter table [表名] drop constraint [約束名]

10、重命名表

exec sp_rename '[原表名]','[新表名]'

11、重命名列名

exec sp_rename '[表名].[列名]','[表名].[新列名]'

12、刪除主鍵,以及主鍵上的索引

alter table table_name drop constraint clusteredName

⑥ 怎麼修改sqlserver欄位類型

SQL語句:Alter table [表名] Alter column [列名] [列類型]
也可選中表後右鍵選設計,然後修改欄位類型後保存就行

⑦ 修改SQL Server 數據類型,我用alter table a modify date cha

altertableaaltercolumn[date]char(10)

⑧ sql修改欄位值的范圍

1、欄位的修改
增加欄位
ALTER TABLE <表名> ADD <新欄位名><數據類型>[約束條件]

對語法格式的說明如下:

1.<表名> 為數據表的名字;

2.<新欄位名> 為所要添加的欄位的名字;

3.<數據類型> 為所要添加的欄位能存儲數據的數據類型;

4.[約束條件] 是可選的,用來對添加的欄位進行約束。

SQL 默認在表的最後位置添加新欄位,如果希望在開頭位置(第一列的前面)添加新欄位,那麼可以使用 FIRST 關鍵字,語法格式如下:

ALTER TABLE <表名> ADD <新欄位名> <數據類型> [約束條件] FIRST;

-- 給actor表首位添加create_date欄位
ALTER TABLE actor ADD COLUMN create_date datetime not null DEFAULT '2020-10-01 00:00:00' FIRST;
復制
刪除欄位
ALTER TABLE <表名> DROP COLUMN <欄位名>

-- 將actor_new表的actor_id欄位刪除
alter table actor_new drop column actor_id;
復制
修改欄位
1.修改欄位名

ALTER TABLE <表名> RENAME COLUMN A to B

-- 將actor_new表的first_name欄位名修改為first_name_new
alter table actor_new rename column first_name to first_name_new;
復制
2.修改欄位類型

ALTER TABLE <表名> MODIFY COLUMN <欄位名> <類型>

-- 將last_name欄位數據類型由varchar(45)修改為char(45)
alter table actor_new modify column last_name char(45) not null;
復制
3.修改欄位默認值

ALTER TABLE <表名> ALTER COLUMN <欄位名> SET DEFAULT <默認值>

若欄位有默認值,則需要先刪除欄位的約束,在添加新的默認值

根據約束名稱刪除約束

alter table <表名> alter column <欄位名> drop default

-- 若本身存在默認值,則先刪除
alter table actor_new alter column last_name drop default;
-- 給last_name添加默認值'洛'
alter table actor_new alter column last_name set default '洛';
復制
4.修改欄位位置

將欄位的位置修改為數據表的開頭位置,使用FIRST關鍵字將當前欄位修改為數據表的第一個欄位

ALTER TABLE <表名> MODIFY <欄位名> <數據類型> FIRST

-- 將欄位first_name調整到actor表的首位
ALTER TABLE actor modify first_name varchar(45) FIRST;
復制
將選中欄位修改到某欄位之後

ALTER TABLE <表名> MODIFY <欄位1名稱> <欄位1數據類型> AFTER <欄位2名稱>

-- 將欄位first_name調整到last_name之後
ALTER TABLE actor MODIFY first_name varchar(45) AFTER last_name;
復制
2、數據的修改
增加數據
添加數據在SQL篇-創建數據表中有粗略的介紹,這里進行詳細說明

1.插入一條新的數據 INSERT INTO <表名>[(列1,列2,列3,…)]VALUES(值1,值2,值3,…)

-- 插入數據的sql語句
insert into tablename(col1,col2,col3) values (value1,value2,value3);
復制
2.通過子查詢插入數據 INSERT INTO <表名>[(列1,列2,列3,…)]子查詢

-- 把actor_id=10的用戶復制一遍
insert into tablename SELECT * FROM actor WHERE actor_id=10;
復制
刪除數據
DELETE FROM <表名> [WHERE 刪除條件]

注意:不寫刪除條件表示刪除全部!

-- 刪除演員編號是6的演員信息
delete from actor WHERE actor_id=6;
復制
更新數據
1.指定要更新數據的內容

UPDATE <表名> SET [欄位=值,欄位=值…][WHERE 更新條件]

-- 將SMITH(雇員編號為7)的工資修改為3000元,並且每個月有500元的獎金
update myemp set sal=3000,comm=500 where empno=7;
2.基於子查詢的更新

UPDATE <表名> SET (列1,列2,…)=(SELECT 列1,列2,…FROM <表名>) [WHERE 查詢條件]

-- 將雇員7369的職位、基本工資、僱傭日期更新為與7839相同的信息
update myemp set (job,sal,hiredate) = (select job,sal,hiredate from myemp where empno=7839) where empno=7369;
3.更新替換

-- 將address欄位里的 「東」 替換為 「西」 ,如下
update test_tb set address=replace(address,'東','西') where id=2
4.插入替換

-- 將id=6的name欄位值改為wokou
replace into test_tb VALUES(6,'wokou','新九州島','日本')
注意:插入替換時,若進行部分替換,則表其餘欄位要有默認值,否則,要列出該列的所有值

總結:向表中「替換插入」一條數據,如果原表中沒有id=6這條數據就作為新數據插入(相當於insert into作用),
如果原表中有id=6這條數據就做替換(相當於update作用),對於沒有指定的欄位以默認值插入。

⑨ sqlserver 怎麼更改表欄位的數據類型

使用alter語法可以修改,但是需要注意,如果列中存在不可轉換到目標類型的數據,alter會失敗。




					
熱點內容
java開發文檔編寫 發布:2024-11-08 17:06:49 瀏覽:433
文件夾取消折疊組 發布:2024-11-08 17:05:41 瀏覽:569
微信第一次支付密碼是什麼 發布:2024-11-08 17:05:21 瀏覽:578
國內免費雲伺服器騰訊 發布:2024-11-08 17:03:53 瀏覽:664
摩爾庄園腳本容易檢測嗎 發布:2024-11-08 16:54:47 瀏覽:756
易享伺服器地址 發布:2024-11-08 15:55:59 瀏覽:753
愛奇藝的密碼哪裡看 發布:2024-11-08 15:52:45 瀏覽:533
安卓10和平板哪個更流暢 發布:2024-11-08 15:51:18 瀏覽:75
配置低也能玩的槍戰游戲有哪些 發布:2024-11-08 15:41:59 瀏覽:169
python中文匹配 發布:2024-11-08 15:41:06 瀏覽:400