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語句修改表結構
增加字段: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(檢查條件)
Oracle表、索引修改表空間語句指的是什么
表做空間遷移時,使用如下語句: 例1:alter table tb_name move tablespace tbs_name; 索引表空間做遷移,使用如下語句: 例2:alter index index_name rebuild tablespace tbs_name; 對于含有lob字段的表,在建立時,oracle會自動為lob字段建立兩個單獨的segment,一個用來存放數據,另一個用來存放索引,并且它們都會存儲在對應表指定的表空間中,而例1:只能移動非lob字段以外的數據,所以在對含有lob字段的表進行空間遷移,需要使用如下語句: 例3:alter table tb_name move tablespace tbs_name lob (col_lob1,col_lob2) store as(tablesapce tbs_name); 項目實例: 表空間遷移 select 'alter table' ||table_name|| 'move tablespace tbs_name;' table_name from dba_tables where owner='%***%' and table_name like '%***%' 帶lob字段 select 'alter table' ||table_name|| 'move lob('||index_name||') store as (tablespace tbs_name);' from dba_indexes where owner='%***%' and index_name like '%***%' 索引表空間 select 'alter index' ||index_name|| 'rebuild tablespace tbs_name;' index_name from dba_indexes where owner='%***%' and table_name like '%***%' 以上在oracle 的SQL*Plus Worksheet中運行,將得出的運行結果再運行一次即可。
修改表內容的sql語句
如果是字符型的數據,最好在其數據的外面加一個單引號
你可以將該語句格式化后的字符串打印出來看一下,如果字符型數據沒有用單引號包著就肯定會有語法錯誤了。
改成如下這樣試下
*("Update [Role] set roleName='{0}',desc='{1}',level='{2}',limit='{3}', funcId='{4}' where roleId=%d",_variant_t(dlg.m_modrname),_variant_t(dlg.m_moddesc),_variant_t(dlg.m_modlevel),_variant_t(dlg.m_modlimit),*,atoi(delrId));