求標準sql修改數據表列名的語句
那個 修改列名 各個數據庫都支持的寫法 到底有沒有, 我也不大確定. 下面是 3種數據庫 各自的寫法. 你可以切換著測試測試, 看看哪種寫法,是 各個數據庫都支持的寫法. Oracle SQL> ALTER TABLE test_tab 2 RENAME COLUMN val TO val2; Table altered. SQL Server 調用 EXECUTE sp_rename 來進行 對數據庫表中,列名的變更。
1> EXECUTE sp_rename N'*_*', N'Tmp_val2', 'COLUMN' 2> GO 注意: 更改對象名的任一部分都可能會破壞腳本和存儲過程。 1> EXECUTE sp_rename N'*_*_val2', N'val2', 'COLUMN' 2> GO 注意: 更改對象名的任一部分都可能會破壞腳本和存儲過程。
MySQL mysql> ALTER TABLE test_tab -> CHANGE COLUMN val val2 VARCHAR(10); // Query OK, 0 rows affected (0.13 sec) Records: 0 Duplicates: 0 Warnings: 0。
如何用SQL語句修改表結構
增加字段:alter table 表名 add 列名 屬性
刪除字段:alter table 表名 drop column 列名
修改字段:alter table 表名 alter column 列名 set data type 屬性
//修改字段只能對長度進行修改,不能改列名和數據類型
添加約束:
非空:alter table 表名 alter column 列名 set not null
主鍵:alter table 表名 add primary key(列名1,列名2。。。。)
外鍵:alter table 表名 add foreign key(列名)references 表名2(列名2)
唯一:alter table 表名 add unique(列名1,列名2。。。。)
檢查:alter table 表名 add check(檢查條件)
SQL 的 增刪改查 語句
SQL常用語句一覽
(1)數據記錄篩選:
sql="select*from數據表where字段名=字段值orderby字段名[desc]"
sql="select*from數據表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10*from數據表where字段名orderby字段名[desc]"
sql="select*from數據表where字段名in('值1','值2','值3')"
sql="select*from數據表where字段名between值1and值2"
(2)更新數據記錄:
sql="update數據表set字段名=字段值where條件表達式"
sql="update數據表set字段1=值1,字段2=值2……字段n=值nwhere條件表達式"
(3)刪除數據記錄:
sql="deletefrom數據表where條件表達式"
sql="deletefrom數據表"(將數據表所有記錄刪除)
(4)添加數據記錄:
sql="insertinto數據表(字段1,字段2,字段3…)values(值1,值2,值3…)"
sql="insertinto目標數據表select*from源數據表"(把源數據表的記錄添加到目標數據表)
sql語句 能不能修改表名
可以。
SQL自帶了一系列的系統存儲過程。其中sp_rename就具有修改表名和列名的功能。對于sp_rename是這樣定義的:更改當前數據庫中用戶創建對象(如表、列或用戶定義數據類型)的名稱。
基本語法:
修改表名:EXEC sp_rename '[原有表名]', '[新表名]';
修改列名:EXEC sp_rename '[原有列名]', ‘[新列名]' , 'COLUMN';
擴展資料:
不同語句修改表明參考以下相應命令:
1. MYSQL
rename table table1 to table2;
2. SQL SERVER
EXEC sp_rename 'table1', 'table2';
3. Oracle
alter table table1 rename to table2
4. db2
rename table table1 to table2;
sql里用戶修改表結構的語句怎么寫
不能 同時 對 兩個表 同時 賦予權限!!!
只能 這樣寫::
grant alter table on 職工 to 張新
go
grant alter table on 部門 to 張新
-----------------------------------------------------
還是不對,下面是顯示的錯誤
服務器: 消息 165,級別 16,狀態 2,行 1
不能授予或廢除特權 ALTER TABLE。
服務器: 消息 156,級別 15,狀態 1,行 1
在關鍵字 'on' 附近有語法錯誤。
服務器: 消息 165,級別 16,狀態 2,行 1
不能授予或廢除特權 ALTER TABLE。
服務器: 消息 156,級別 15,狀態 1,行 1
在關鍵字 'on' 附近有語法錯誤。
--------------------------------------------------
根據你的問題 ,我上機了半個小時,在百度也搜了,可找不到答案
我以 SA身份登陸的,我的表名也沒有出錯!!!推翻了我剛開始認為你錯的點,上網搜了下,grant alter table 權限的語法,也找不答案!!!期待。。。。高手回答
SQL語句寫多個表記錄,和修改多個表記錄
插入
create trigger insert_t on A for insert
as
declare @a int,@b int,@c int
select @a=a,@b=b,@c=c from inserted
insert into B values(@a,@b,@c)
更新
create trigger update_t on A for update
as
declare @a int,@b int,@c int
select @a=a,@b=b,@c=c from inserted
update B set E=@a,D=@b,F=@c where 條件
轉載請注明出處華閱文章網 » sql的修改表的語句