① sql server 2008中 怎樣用update 修改指定行號列號的數據
update tabe_1 set 姓名='aaa' where select *,ROW_NUMBER()over(order by 姓名) nb=1
② sql修改語句
SQL中使用UPDATE語句修改表中的數據。
sql修改語句的寫法:【UPDATE表名稱SET列名稱=新值WHERE列名稱=某值】。
UPDATE語句不僅指定要更改的行,還指定要用作這些行中特定列的新值的表達式。
可以使用UPDATE語句更改表中的單個行、一組行或所有行。與其它數據修改語句(INSERT、MERGE和DELETE)不同,UPDATE語句還可以同時對多個表中的行進行修改。
在所有情況下,UPDATE語句的執行均為原子操作;要麼正確無誤地修改所有行,要麼不修改任何行。例如,如果當前修改的一個值的數據類型不正確,或者在新值導致違反CHECK約束時,UPDATE將失敗,並且整個操作都會回退。
UPDATE語句使用注意事項
1、使用Update語句,如果省略「Where條件」,將更新數據表內的全部記錄。
2、賦值時,注意欄位的類型。若為文本型或備注型,則欄位值兩邊要加引號,若為日期/時間型,則欄位值兩邊要加上#號(加引號也可以);若為布爾類型,則該欄位的值為True或False;若為自動編號類型,則不要給該欄位賦值。
③ sql如何將表中某一欄位值更新為該行記錄的行號
更新表中一列的數據自增
http://hi..com/wangqing999/blog/item/3968caab203767eefbed50d8.html
sql 更新一個表中的N條記錄,讓這N條記錄的同一欄位從一個值(比如600)開始自增1.
不能在資料庫中設置自增
④ 怎樣用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語句修改表內的數據
修改表中內容
修改用到update語句,語句格式為:UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
即 update 員工表 set 部門id=01 where 員工id=0004
SQL聯合主鍵
Create Table 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null Primary Key (欄位名1, 欄位名2),
欄位名3…………
欄位名N………… )
(5)sql修改行名擴展閱讀
主鍵是資料庫表的一個重要屬性,建立主鍵可以避免表中存在完全相同的記錄,也就是說主鍵在一張表中的記錄值是唯一的。 建立主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是通過SQL語句執行建立,下面分別介紹。
在資料庫提供的GUI環境中建立(以SQL7為例)。輸入表信息後按Ctrl鍵同時選中多行,然後點上面的主鍵按鈕就行了。
通過SQL語句執行建立。又分兩種,一是在建表語句中直接寫,二是建表之後更改表結構。
在建表語句中直接寫:
Create Table 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null Primary Key (欄位名1, 欄位名2),
欄位名3…………
欄位名N………… )