福州建設(shè)網(wǎng)站效果seo關(guān)鍵詞優(yōu)化報(bào)價(jià)價(jià)格
文章目錄
- 任務(wù)十九 openGauss DML 語句測試
- 任務(wù)目標(biāo)
- 實(shí)施步驟
- 一、準(zhǔn)備工作
- 二、INSERT語句
- 三、DELETE語句
- 四、UPDATE語句
- 五、清理工作
任務(wù)十九 openGauss DML 語句測試
任務(wù)目標(biāo)
掌握DML語句的用法,包括INSERT語句、DELETE語句和UPDATE語句。
實(shí)施步驟
一、準(zhǔn)備工作
使用Linux用戶omm,打開一個Linux終端窗口,執(zhí)行如下的命令,創(chuàng)建一個測試表:
gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
DROP TABLE IF EXISTS test;
CREATE TABLE test( id int primary key,name varchar(200) not null,age int default 20,salary int );
二、INSERT語句
執(zhí)行下面的INSERT語句,這些INSERT語句都可以成功執(zhí)行:
-- 為一行的所有列都提供值
INSERT INTO test VALUES(1,'Hello!',21,5000);
-- 一次插入多行,為一行的所有列都提供值
INSERT INTO test VALUES(2,'Hello!2',22,6000), (3,'Hello!3',20,7000);
-- 插入一行,為插入的行只提供部分列的值
INSERT INTO test(id,name,salary) VALUES(4,'Hello!4',8000);
INSERT INTO test(id,name) VALUES(5,'Hello!5');
SELECT * FROM TEST;
執(zhí)行下面的INSERT語句,這些INSERT語句違反數(shù)據(jù)庫約束,無法成功執(zhí)行:
-- 違反主鍵約束,無法插入
INSERT INTO test VALUES(5,'Hello!6',21,10000);
-- 違反非空約束,無法插入
INSERT INTO test(id,age) VALUES(5,21);
三、DELETE語句
執(zhí)行下面的命令,設(shè)置gsql的事務(wù)管理為手動提交:
\set AUTOCOMMIT off
執(zhí)行下面的命令,查看目前表test中的數(shù)據(jù):
select * from test;
執(zhí)行下面的命令,刪除id=2的行:
delete from test where id=2;
select * from test;
執(zhí)行下面的命令,刪除age=21的行:
delete from test where age=21;
select * from test;
執(zhí)行下面的命令,刪除表test中所有的行:
delete from test;
select * from test;
如果DELETE
語句沒有WHERE
子句,將刪除表的所有行。這一點(diǎn)請讀者在使用DELETE
語句完成工作的時(shí)候,要特別注意。
執(zhí)行下面的命令,回滾上面的所有操作,恢復(fù)表test中的所有數(shù)據(jù)行:
rollback;
select * from test;
\q
四、UPDATE語句
使用Linux用戶omm,打開一個Linux終端窗口,執(zhí)行如下的命令,將事務(wù)管理設(shè)置為手動提交,并查看表test中的數(shù)據(jù):
gsql -d studentdb -h 192.168.100.91 -U student -p 26000 -W student@ustb2020 -r
\set AUTOCOMMIT off
select * from test;
執(zhí)行下面的UPDATE語句,將id=3的行中的salary更新為8800:
update test set salary=8800 where id=3;
select * from test;
執(zhí)行下面的UPDATE語句,將所有行的salary列的值增加10%:
update test set salary=salary*1.1;
select * from test;
五、清理工作
執(zhí)行下面的語句,完成數(shù)據(jù)清理工作:
DROP TABLE IF EXISTS test;
\q