① sql 修改表中的列名(急~~~)
1、在oracle資料庫中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver資料庫中:exec sp_rename '[表名].[列名]『,』[表名].[新列名]'。
3、在mysql資料庫中:ALTER TABLE 表名 CHANGE 列名 新列名 列類型。
(1)sql還原表的列名擴展閱讀:
SQL中對表的其它操作:
1、插入列:
ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。
2、為表中某列添加約束:大於等於100
alter table 表名 add check(列名>=100)。
3、更改表某列的數據類型為nchar(30):
alter table 表名 altercolumn列名 nchar(30)。
4、刪除表中某列的相關約束:
alter table 表名 dropconstraint約束名。
5、刪除表中的某列:
alter table 表名 dropcolumn列名。
參考資料:網路-SQL語句大全
② sql怎麼還原表
第一步:將customr中的數據清空;
第二步:將customer0717中的數據插入到customr中。
【實現】
第一步:truncate table customr;
第二步:insert into customr (col1,col2,...)
select col1,col2,... from customer0717;
(說明:請將col1,col2,...換為表的實際欄位)
③ SQL中怎樣修改一個表的列名呢
1、在oracle資料庫中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。
2、在sqlserver資料庫中:exec sp_rename '[表名].[列名]『,』[表名].[新列名]'。
3、在mysql資料庫中:ALTER TABLE 表名 CHANGE 列名 新列名 列類型。
(3)sql還原表的列名擴展閱讀:
SQL中對表的其它操作:
1、插入列:
ALTER TABLE [表名.]TABLE_NAME ADD COLUMN_NAME DATATYPE。
2、刪除列:
ALTER TABLE [表名.]TABLE_NAME DROP COLUMN COLUMN_NAME。
3、修改數據表名:
ALTER TABLE [表名.]OLD_TABLE_NAME RENAME TO NEW_TABLE_NAME。
參考資料:網路-sql語句大全
④ 如何恢復sql server 2008 輸入開頭提示存在的表名或列名的功能
你說的是粗帆嘩這個吧
見圖
點一下,那個intelisense已啟用
還不行的話,岩行重轎岩新開一下Microsoft SQL Server Management Studio看看好使不
要是還不行,你下載一個sql assitant裝上試試
⑤ SQL中怎樣修改一個表的列名
各個資料庫不一樣。
oracle: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名
sqlserver:exec sp_rename '[表名].[列名]','[表名].[新列名]'
mysql:ALTER TABLE 表名 CHANGE 列名 新列名 列類型
⑥ 怎樣用sql2005的命令修改表原來的名稱和列名呢
改表名:EXEC sp_rename '舊表名', '新表敬升名';
改列名:EXEC sp_rename '表名.[字老鬧段原名]','侍稿罩欄位新名','column'
⑦ 怎樣用SQL語句修改表名與表中的列名
ALTER TABLE table
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL }
]
| ADD
{ [ < column_definition > ]
| column_name AS computed_column_expression
} [ ,...n ]
| [ WITH CHECK | WITH NOCHECK ] ADD
{ < table_constraint > } [ ,...n ]
| DROP
{ [ CONSTRAINT ] constraint_name
| COLUMN column } [ ,...n ]
| { CHECK | NOCHECK } CONSTRAINT
{ ALL | constraint_name [ ,...n ] }
| { ENABLE | DISABLE } TRIGGER
{ ALL | trigger_name [ ,...n ] }
}
< column_definition > ::=
{ column_name data_type }
[ [ DEFAULT constant_expression ] [ WITH VALUES ]
| [ IDENTITY [ ( seed , increment ) [ NOT FOR REPLICATION ] ] ]
]
[ ROWGUIDCOL ]
[ COLLATE <毀局塵 collation_name > ]
[ <纖禪 column_constraint > ] [ ...n ]
< column_constraint > ::=
[ CONSTRAINT constraint_name ]
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]
| [ [ FOREIGN KEY ]
REFERENCES ref_table [ ( ref_column ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
]
| CHECK [ NOT FOR REPLICATION ]
( logical_expression )
}
<臘稿 table_constraint > ::=
[ CONSTRAINT constraint_name ]
{ [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
{ ( column [ ,...n ] ) }
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]
| FOREIGN KEY
[ ( column [ ,...n ] ) ]
REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
| DEFAULT constant_expression
[ FOR column ] [ WITH VALUES ]
| CHECK [ NOT FOR REPLICATION ]
( search_conditions )
}
示例
A. 更改表以添加新列
下例添加一個允許空值的列,而且沒有通過 DEFAULT 定義提供值。各行的新列中的值將為 NULL。
CREATE TABLE doc_exa ( column_a INT)
GO
ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL
GO
EXEC sp_help doc_exa
GO
DROP TABLE doc_exa
GO
B. 更改表以除去列
下例修改表以刪除一列。
CREATE TABLE doc_exb ( column_a INT, column_b VARCHAR(20) NULL)
GO
ALTER TABLE doc_exb DROP COLUMN column_b
GO
EXEC sp_help doc_exb
GO
DROP TABLE doc_exb
GO
C. 更改表以添加具有約束的列
下例向表中添加具有 UNIQUE 約束的新列。
CREATE TABLE doc_exc ( column_a INT)
GO
ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL
CONSTRAINT exb_unique UNIQUE
GO
EXEC sp_help doc_exc
GO
DROP TABLE doc_exc
GO
D. 更改表以添加未驗證的約束
下例向表中的現有列上添加約束。該列中存在一個違反約束的值;因此,利用 WITH NOCHECK 來防止對現有行驗證約束,從而允許該約束的添加。
CREATE TABLE doc_exd ( column_a INT)
GO
INSERT INTO doc_exd VALUES (-1)
GO
ALTER TABLE doc_exd WITH NOCHECK
ADD CONSTRAINT exd_check CHECK (column_a > 1)
GO
EXEC sp_help doc_exd
GO
DROP TABLE doc_exd
GO
E. 更改表以添加多個帶有約束的列
下例向表中添加多個帶有約束的新列。第一個新列具有 IDENTITY 屬性;表中每一行的標識列都將具有遞增的新值。
CREATE TABLE doc_exe ( column_a INT CONSTRAINT column_a_un UNIQUE)
GO
ALTER TABLE doc_exe ADD
/* Add a PRIMARY KEY identity column. */
column_b INT IDENTITY
CONSTRAINT column_b_pk PRIMARY KEY,
/* Add a column referencing another column in the same table. */
column_c INT NULL
CONSTRAINT column_c_fk
REFERENCES doc_exe(column_a),
/* Add a column with a constraint to enforce that */
/* nonnull data is in a valid phone number format. */
column_d VARCHAR(16) NULL
CONSTRAINT column_d_chk
CHECK
(column_d IS NULL OR
column_d LIKE "[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]" OR
column_d LIKE
"([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]"),
/* Add a nonnull column with a default. */
column_e DECIMAL(3,3)
CONSTRAINT column_e_default
DEFAULT .081
GO
EXEC sp_help doc_exe
GO
DROP TABLE doc_exe
GO
F. 添加具有默認值的可為空的列
下例添加可為空的、具有 DEFAULT 定義的列,並使用 WITH VALUES 為表中的各現有行提供值。如果沒有使用 WITH VALUES,那麼每一行的新列中都將具有 NULL 值。
ALTER TABLE MyTable
ADD AddDate smalldatetime NULL
CONSTRAINT AddDateDflt
DEFAULT getdate() WITH VALUES
G. 禁用並重新啟用一個約束
下例禁用用於限制可接受的薪水數據的約束。WITH NOCHECK CONSTRAINT 與 ALTER TABLE 一起使用,以禁用該約束並使正常情況下會引起約束違規的插入操作得以執行。WITH CHECK CONSTRAINT 重新啟用該約束。
CREATE TABLE cnst_example
(id INT NOT NULL,
name VARCHAR(10) NOT NULL,
salary MONEY NOT NULL
CONSTRAINT salary_cap CHECK (salary < 100000)
)
-- Valid inserts
INSERT INTO cnst_example VALUES (1,"Joe Brown",65000)
INSERT INTO cnst_example VALUES (2,"Mary Smith",75000)
-- This insert violates the constraint.
INSERT INTO cnst_example VALUES (3,"Pat Jones",105000)
-- Disable the constraint and try again.
ALTER TABLE cnst_example NOCHECK CONSTRAINT salary_cap
INSERT INTO cnst_example VALUES (3,"Pat Jones",105000)
-- Reenable the constraint and try another insert, will fail.
ALTER TABLE cnst_example CHECK CONSTRAINT salary_cap
INSERT INTO cnst_example VALUES (4,"Eric James",110000)
H. 禁用並重新啟用觸發器
下例使用 ALTER TABLE 的 DISABLE TRIGGER 選項來禁用觸發器,以使正常情況下會違反觸發器條件的插入操作得以執行。然後下例使用 ENABLE TRIGGER 重新啟用觸發器。
CREATE TABLE trig_example
(id INT,
name VARCHAR(10),
salary MONEY)
go
-- Create the trigger.
CREATE TRIGGER trig1 ON trig_example FOR INSERT
as
IF (SELECT COUNT(*) FROM INSERTED
WHERE salary > 100000) > 0
BEGIN
print "TRIG1 Error: you attempted to insert a salary > $100,000"
ROLLBACK TRANSACTION
END
GO
-- Attempt an insert that violates the trigger.
INSERT INTO trig_example VALUES (1,"Pat Smith",100001)
GO
-- Disable the trigger.
ALTER TABLE trig_example DISABLE TRIGGER trig1
GO
-- Attempt an insert that would normally violate the trigger
INSERT INTO trig_example VALUES (2,"Chuck Jones",100001)
GO
-- Re-enable the trigger.
ALTER TABLE trig_example ENABLE TRIGGER trig1
GO
-- Attempt an insert that violates the trigger.
INSERT INTO trig_example VALUES (3,"Mary Booth",100001)
GO
⑧ SQL如何更改表中的列名稱
代碼如下:
EXEC sp_rename '表名.[原列名]', '新列名', 'column'
sp_rename
更改當前資料庫中用戶創建對象(如表、列或用戶定義數據類型)的名稱。
語法
sp_rename [ @objname = ] 'object_name' ,
[ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]
參數 www.2cto.com
[@objname =] 'object_name'
是用戶對象(表、視圖、列、存儲過程、觸發器、默認值、資料庫、對象或規則)或數據類型的當前名稱。如果要重命名的對象是表中的一列,那麼 object_name 必須為 table.column 形式。如果要重命名的是索引,那麼 object_name 必須為 table.index 形式。object_name 為 nvarchar(776) 類型,無默認值。
[@newname =] 'new_name'
是指定對象的新名稱。new_name 必須是名稱的一部分,並且要遵循標識符的規則。newname 是 sysname 類型,無默認值。
[@objtype =] 'object_type'
是要重命名的對象的類型。object_type 為 varchar(13) 類型,其默認值為 NULL,可取下列值。
值 描述
COLUMN 要重命名的列。
DATABASE 用戶定義的資料庫。要重命名資料庫時需用此選項。
INDEX 用戶定義的索引。
OBJECT 在 sysobjects 中跟蹤的類型的項目。例如,OBJECT 可用來重命名約束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用戶表、視圖、存儲過程、觸發器和規則等對象。
USERDATATYPE 通過執行 sp_addtype 而添加的用戶定義數據類型。
返回代碼值
0(成功)或非零數字(失敗)
⑨ 如何修改sql server資料庫 表列名
解決:
在SQLServer中修改表的列名,可以調用存儲過程sp_rename。
[sql]
use Test;--使用資料庫
sp_rename 'd_s_t.avg_grade','avg_g','column';
--d_s_t是表名,avg_grade是原來的列名,avg_g是新的列名
--也可以這樣執行:
-- exec sp_rename 'd_s_t.avg_grade','avg_g','column';
注意:
1. avg_g前面不要有表名,否則,更改後的列名為d_s_t. avg_g。
2. 更改成功後會有這樣一個警告:「注意: 更改對象名的任一部分都可能會破壞腳本和存儲過程」。不用理會,這是正常的。
⑩ 怎麼用T-SQl來修改資料庫表中列的名稱,即把一個原有的列名改為新的列名
alter table 表名
alter column 新列名 類型(長度)