① sql語句中ALTER TABLE MODIFY和ALTER TABLE CHANGE的區別
modify能修改欄位類型和約束,而change不能。
change用來欄位重命名,不能修改欄位類型和約束;
modify不用來欄位重命名,只能修改欄位類型和約束;
試驗比較:
1、欄位重命名:
1)change
mysql> alter table t1 change number id char(2);
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
2)modify
mysql> alter table t1 modify id num int(2);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'num int(2)' at line 1
mysql>
結論:能用change重命名,而modify不能。
2、修改欄位類型和約束
1)modify
mysql> alter table t1 modify id int(2);
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table t1 modify id int(2) not null;
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
2)change
mysql> alter table t1 change id char(2);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'char(2)' at line 1
mysql> alter table t1 change id char(2) not null;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'char(2) not null' at line 1
結論:modify能修改欄位類型和約束,而change不能。
最終結論:change用來欄位重命名,不能修改欄位類型和約束;
modify不用來欄位重命名,只能修改欄位類型和約束;
② SQL server 用SQL語句修改輔助數據文件大小
使用modify datafile語句。
modify datafile。這個語句是用來修改數據文件的屬性,可以修改大小,可擴展性,數據文件類型等等。比如該數據文件太大,用不了這么多,可以縮小一點(一般用在undo表空間),或者太小,而存儲設備還有空間,可以擴展一些。
sql server資料庫文件有幾種 有以下三種:主數據文件輔助數據文件事務日誌文件分別簡介:1.主數據文件用來存儲資料庫的數據和資料庫的啟動信息。每個資料庫必須有且只有一個主數據文件,其擴展名為.mdf。實際的主數據文件都有兩種名稱:操作系統文件名和邏輯文件名(在sql語句中會用到)。2.輔助數據文件用來存儲資料庫的數據,可以擴展存儲空間。一個資料庫可以有多個輔助數據文件。擴展名為.ndf。3.事務日誌文件用來存放資料庫的事務日誌。凡是對資料庫進行的增、刪、改等操作,都會記錄在事務日誌文件中。每個資料庫至少有一個事務日誌文件。
③ sql modify修改欄位類型時提示語法錯誤
在SQL Server的修改表結構語法中,沒有關鍵字MODIFY,而是用的alter column;
所以,你的語句應該改為:
ALTER TABLE student ALTER COLUMN age smallint;
④ sql語句如何修改欄位長度
代碼示例:
alter table T1 alter column F1 varchar(10)
一般地,改欄位名可以用這條語句:
復制代碼代碼示例:
alter table A rename column a to c
實際應用中,往往是用J-SQL進行編譯,而J-SQL不支持修改欄位名。
因此,如果一定要修改欄位名,那麼只有通過變通的方法了。思路:
1.新建一個欄位,取名為c;
2.將欄位a的內容拷貝到c;
3.刪除欄位a;sql修改欄位長度的語法:
alter table 表名 modify 欄位名 欄位類型;sql修改欄位長度:
復制代碼代碼示例:
alter table qtline modify qtl_bidernote VARCHAR2(4000);
標准SQL,對任何資料庫都適用
復制代碼代碼示例:
alter table fzrtmis.reporttemplate modify REPNAME varchar(100);
修改欄位名名稱:
復制代碼代碼示例:
ALTER TABLE TABLENAME RENAME COLUMN COL1 TO COL2;
添加欄位:
復制代碼代碼示例:
alter table fzrtmis.itiembuildqk add STATIONSTATE CHAR(1)
⑤ SQL MODIFY與MODIFY()區別
一、功能不同
1、SQL MODIFY:midify語句可以修改屬性的類型。
2、MODIFY():使用字元串中定義的操作修改數據窗口控制項。
二、語法不同
1、SQL MODIFY:語法:altertablestudentmodifyageint;比如把student表中的sge的類型由字元型改為整型。
2、MODIFY():返回值:string 。成功時返回空字元串(「」),發生錯誤時返回一條出錯消息。
三、作用不同
1、SQL MODIFY:更改表子欄位的長度,更改表欄位的名字,刪除表欄位。
2、MODIFY():修改數據窗口中各種對象的顏色、標題、文本等。.修改數據窗口中不同表的更新狀態,以便讓應用程序一次可以更新多個表。
⑥ sql怎麼修改表欄位的大小
alter table <表名> alter column <欄位名> 新類型名(長度)
示例:假如有名T1,欄位名F1,原來F1為varchar(3),現在要改為varchar(10),則可以這么寫:
alter table T1 alter column F1 varchar(10)
一般地,改欄位名可以用這條語句:
alter table A rename column a to c
但是,實際應用中,我們往往是用J-SQL進行編譯,而J-SQL不支持修改欄位名,所以,如果一定要修改欄位名,那麼只有通過變通的方法了,具體思路為:
1.新建一個欄位,取名為c;
2.將欄位a的內容拷貝到c;
3.刪除欄位a;
sql修改欄位長度的語法:
alter table 表名 modify 欄位名 欄位類型;
sql修改欄位長度的示例代碼
alter table qtline modify qtl_bidernote VARCHAR2(4000);
標准SQL,對任何資料庫都適用
alter table fzrtmis.reporttemplate modify REPNAME varchar(100);
修改欄位名名稱
ALTER TABLE TABLENAME RENAME COLUMN COL1 TO COL2;
添加欄位
alter table fzrtmis.itiembuildqk add STATIONSTATE CHAR(1)
⑦ 用sql語句和用modify structure命令修改表結構有什麼不同
用sql語句修改表結構有兩種方法:調用系統存儲過程(不同環境用法不同)、直接修改系統表。
直接修改系統表的辦法不推薦使用,這是最不安全的方法,容易造成不可恢復的錯誤。另外一個問題是,這種方法需要很高的SQL許可權,標准許可權的用戶無法使用。
modify structure命令,是標準的修改表結構方式。
⑧ sql中的modify語句 修改列名
(1) 更改表子欄位的長度:alter table table_name modify(col_name varchar2(6));
(2) 更改表欄位的名字:alter table table_name rename column col_name1 to col_name2 ;
(3) 刪除表欄位: alter table table_name drop column col_name;
(4) 添加表欄位: alter table table_name add col_name varchar2(20) null ;
⑨ mysql資料庫中sql修改欄位類型要怎麼做
方法如下:
//修改一個欄位的類型
alter table user MODIFY new1 VARCHAR(10);
//修改一個欄位的名稱,此時一定要重新指定該欄位的類型
alter table user CHANGE new1 new4 int。
⑩ sql server: modify
如果Sno欄位原來不為空:
ALTER TABLE student
alter column Sno varchar(10) not NULL
如果Sno欄位原來為空:
ALTER TABLE student
alter column Sno varchar(10)
因為不管以前的欄位是否允許為空,執行
ALTER TABLE student
alter column Sno varchar(10)後該欄位都會變為允許為空。
還有就是執行這類修改操作時最好是空表,如果有數據,可能會失敗。因為有些數據類型之間可能不能隱式的轉換或者根本就不能轉化,比如「abc」要轉換成int型。所以,一切還要自己注意控制。