--?? ?? Tips:數(shù)據(jù)更新
--一抄沮、插入數(shù)據(jù)
--1.INSERT 語句的基本語法
--語法:
--INSERT INTO <表名>(列1, 列2, ...) VALUES (值1, 值2, ...)
--示例
INSERT INTO dbo.conbio
( conbio_id ,
conbio_name ,
conbio_varieties ,
conbio_price1 ,
conbio_price2 ,
conbio_date
)
VALUES? ( '0011' , -- conbio_id - char(4)
'T 恤衫' , -- conbio_name - varchar(100)
'衣服' , -- conbio_varieties - varchar(32)
1000 , -- conbio_price1 - int
500 , -- conbio_price2 - int
GETDATE()? -- conbio_date - date
);
------------------
select * from conbio?? ??? ?--查詢表名為conbio的表.
--------------------------------------
--(1)列名和值用逗號(hào)隔開蝙叛,分別放在括號(hào)里辙诞,這種形式稱為清單惧浴。
( shohin_id ,
shohin_mei ,
shohin_bunrui ,
hanbai_tanka ,
shiire_tanka ,
torokubi
)
--列清單?? ??? ??? ?--字段
------------------
( '0011' , -- shohin_id - char(4)
'T 恤衫' , -- shohin_mei - varchar(100)
'衣服' , -- shohin_bunrui - varchar(32)
1000 , -- hanbai_tanka - int
500 , -- shiire_tanka - int
GETDATE()? -- torokubi - date
)
--值清單?? ??? ??? ?--記錄
------------------
INSERT INTO dbo.conbio
( conbio_id ,
conbio_name ,
conbio_varieties ,
conbio_price1 ,
conbio_price2 ,
conbio_date
)
VALUES? ( '0014' , -- conbio_id - char(4)
'T 恤衫' , -- conbio_name - varchar(100)
'衣服' , -- conbio_varieties - varchar(32)
1000 , -- conbio_price1 - int
500 , -- conbio_price2 - int
GETDATE()? -- conbio_date - date
),
( '0015' , -- conbio_id - char(4)
'T 恤衫' , -- conbio_name - varchar(100)
'衣服' , -- conbio_varieties - varchar(32)
1000 , -- conbio_price1 - int
500 , -- conbio_price2 - int
GETDATE()? -- conbio_date - date
);
--------------------------------------
--3.插入 NULL 值
INSERT INTO dbo.conbio
VALUES? ( '0016' , -- conbio_id - char(4)
'T 恤衫' , -- conbio_name - varchar(100)
'衣服' , -- conbio_varieties - varchar(32)
1000 , -- conbio_price1 - int
NULL , -- conbio_price2 - int
GETDATE()? -- conbio_date - date
);
--【備注】插入 NULL 值的列不能設(shè)置為 NOT NULL 約束瑟蜈。
--------------------------------------
select * from conbio?? ?--查詢表
--------------------------------------
----添加列
select * from??? conbio;
alter table Conbio add conbio_name_test001?? varchar(100);
--------------------------------------
----刪除列
ALTER TABLE conbio DROP COLUMN conbio_name_test001;
--------------------------------------
--4.插入默認(rèn)值
--示例:創(chuàng)建表時(shí)設(shè)置默認(rèn)值
CREATE TABLE ConbioIns
(
id CHAR(4) NOT NULL,
num INT DEFAULT 0??? --DEFAULT 默認(rèn)約束
)
-- select * from conbioins?? ??? ?查表
--示例:INSERT 時(shí)顯示插入默認(rèn)值
INSERT INTO dbo.conbioins
( id, num )
VALUES? ( '002', -- id - char(4)
DEFAULT? -- num - int
)
--示例:INSERT 隱式插入默認(rèn)值
INSERT INTO dbo.conbioins( id )
VALUES? ('003')
--【備注】建議使用顯示的方式插入值塞俱。如果插入的時(shí)候隱式省略了列名姐帚,并且該列沒有指定默認(rèn)值的時(shí)候,
--該列的值會(huì)被設(shè)定為 NULL(如果省略的列設(shè)置了 NOT NULL 約束的話障涯,執(zhí)行會(huì)報(bào)錯(cuò))罐旗。
--【總結(jié)】省略 INSERT 語句的列名,就會(huì)自動(dòng)設(shè)定該列的默認(rèn)值(沒有默認(rèn)值時(shí)會(huì)設(shè)定為 NULL)唯蝶。
--------------------------------------
--5.從其它表復(fù)制數(shù)據(jù)
--語法
--INSERT ...
--SELECT ...
--示例
INSERT dbo.conbioins
( id, num )
SELECT conbio_id, conbio_price2
FROM dbo.conbio
--示例
INSERT INTO dbo.conbioins
( id, num )
SELECT id=1, num =2;
--示例
INSERT INTO dbo.conbioins
( id, num )
SELECT 1, 2;
-- select * from conbioins?? ??? ?查表
--【備注】INSERT 語句中的 SELECT 語句中九秀,可以使用 WHERE 子句或者 GROUP BY 子句等任何 SQL 語法。(但使用 ORDER BY 子句并不會(huì)產(chǎn)生任何效果粘我。)
--------------------------------------
--?? ?二颤霎、刪除數(shù)據(jù)
-- 1.2 種 刪除數(shù)據(jù)的方法:
--(1)DROP TABLE 語句:刪除表
--(2)DELETE 語句:刪除表的數(shù)據(jù)
--語法
--DELETE FROM <表名>;
--示例
DELETE FROM dbo.conbioins;?? ??? ?--此表數(shù)據(jù)刪除為空所有
--【備注】DELETE 語句刪除的對(duì)象是記錄(行),不是表和列涂滴。
--------------------------------------
--2.指定刪除對(duì)象的 DELETE 語句
--語法
--DELETE FROM <表名>
--WHERE <條件>;
--示例
DELETE FROM dbo.conbio
WHERE conbio_price1 >= 1000;?? ??? ?--條件刪除記錄行
--【備注】可以通過 WHERE 子句指定對(duì)象條件來刪除部分?jǐn)?shù)據(jù)友酱。
--【備注】DELETE 語句中不能使用 GROUP BY、HAVING 和 ORDER BY 三類子句柔纵。
--【備注】如果要?jiǎng)h除表全部數(shù)據(jù)時(shí)請(qǐng)使用 TRUNCATE <表名>缔杉,它比 DELETE 子句更高效。
--select * from conbio? --查表
--------------------------------------
--三搁料、更新數(shù)據(jù)
--1.UPDATE 子句的基本語法
--語法
--UPDATE <表名>
--??? SET <列名> = <表達(dá)式>
--2.指定條件的 UPDATE 語句
--語法
--UPDATE <表名>
--??? SET <列名> = <表達(dá)式>
--WHERE <條件>;
--示例
UPDATE dbo.conbio
SET conbio_price2 = conbio_price2 * 10
WHERE conbio_varieties = '廚房用具';
--3或详、使用 NULL 進(jìn)行更新
--示例
UPDATE dbo.conbio
SET conbio_date = NULL
WHERE conbio_id = '008';
--【備注】只有未設(shè)置 NOT NULL 約束和主鍵約束的列才可以清空為 NULL。
--------------------------------------
--4.多列更新
--示例
UPDATE dbo.conbio
SET conbio_price1 = conbio_price1 * 10,?? ??? ?--逗號(hào)分割
conbio_price2 = conbio_price2 / 2
WHERE conbio_varieties = '廚房用具'
--------------------------------------
--四郭计、事務(wù)
--1.事務(wù):需要在同一個(gè)處理單元中執(zhí)行的一系列更新處理的集合霸琴。
--2.創(chuàng)建事務(wù):
--語法
--事務(wù)開始語句
--??? DML 語句①;
--??? DML 語句②;
--??? ...
--事務(wù)結(jié)束語句(COMMIT 或 ROLLBACK);
--(1)COMMIT - 提交處理:提交事務(wù)包含的全部更新處理的結(jié)束指令。一旦提交昭伸,無法恢復(fù)到事務(wù)開始前的狀態(tài)梧乘。
--(2)ROLLBACK - 取消處理:取消事務(wù)包含的全部更新處理的結(jié)束指令。一旦回滾,數(shù)據(jù)庫就會(huì)回復(fù)到事務(wù)開始之前的狀態(tài)选调。
------------------
--示例
begin transaction;
UPDATE dbo.conbio
SET conbio_price1 = conbio_price1 - 1000
WHERE conbio_name = '叉子';
UPDATE dbo.conbio
SET conbio_price1 = conbio_price1 + 1000
WHERE conbio_name = '叉子';
DELETE FROM dbo.conbio WHERE conbio_id = '6';
rollback;?? ??? ??? ?-- COMMIT 承諾
--------------------------------------
--3.ACID 特性
-- 〖泄(1)原子性(Atomicity):在事務(wù)結(jié)束時(shí),其中包含的更新處理要么全部執(zhí)行仁堪,要么完全不執(zhí)行哮洽。
-- (2)一致性(Consistency):事務(wù)中包含的處理弦聂,要滿足數(shù)據(jù)庫提前設(shè)置的約束鸟辅,也稱完整性。
-- ≥汉(3)隔離性(lsolation):保證不同事務(wù)之前互不干擾的特性剔桨。
-- 『暝痢(4)持久性(Durability):事務(wù)一旦結(jié)束诽凌,DBMS 會(huì)保證該時(shí)點(diǎn)的數(shù)據(jù)狀態(tài)得以保存的特性窄瘟,也稱耐久性。
--------------------------------------
--歡迎關(guān)注個(gè)人公眾號(hào):Zkcops
由:zkcops 撰寫(希望能對(duì)你有所幫助欺冀,轉(zhuǎn)載注明出處!)
--------------------------------------