一文帶你學透SQL語言的核心之DML操作
我們已經(jīng)基本學會了寫SQL來操作數(shù)據(jù)庫,但在命令行中寫SQL時,往往有體驗感差,效率低等問題,今天開始我們就學習一下在MySQL的圖形化客戶端Navicat中執(zhí)行SQL語句。
Navicat 為數(shù)據(jù)庫管理、開發(fā)和維護提供了一款直觀而強大的圖形界面,大大的提高了工作效率,建議在學習中也使用這款開發(fā)工具。接下來,在Navicat中新建查詢,我們就可以編寫SQL并且執(zhí)行SQL語句了。
1.添加數(shù)據(jù)
給指定列添加數(shù)據(jù):
insert into 表名(列名1,列名2...) values(值1,值2...);
?????給全部列添加數(shù)據(jù):
insert into 表名 values(值1,值2...);
批量添加數(shù)據(jù):
insert into 表名(列名1,列名2...) values(值1,值2...),(值1,值2...),(值1,值2...)...;
批量添加數(shù)據(jù)(省略字段名):
insert into 表名 values(值1,值2...),(值1,值2...),(值1,值2...)...;
在開發(fā)過程中添加數(shù)據(jù)的時間是不建議省略字段名的,這樣降低了代碼的可讀性,使效率下降。下面是添加數(shù)據(jù)的小案例:
查詢表中的所有數(shù)據(jù)的方法是:
select * from 表名;
后面會用到的。
需求:往下面的tb_user表中添加一條數(shù)據(jù)。

insert into tb_user(id,name) values(2,'李四');
添加成功:

2.修改數(shù)據(jù)
修改表的數(shù)據(jù):
update 表名 set 列名1=值1,列名2=值2...[where 條件];
在修改數(shù)據(jù)時,也可以不使用where條件,此時的操作是修改整列數(shù)據(jù),這樣的操作是很危險的。
需求:把下面tb_user表中的張三的密碼改為abc23

update tb_user set passwor d ='abc123' where name='張三';
修改成功:

3.刪除數(shù)據(jù)
刪除表的數(shù)據(jù):
delete from 表名 [where 條件];
在刪除某條數(shù)據(jù)時,如果不使用where條件,將會導致刪除整個表的數(shù)據(jù)。
需求:刪除tb_user表中的李四記錄。
delete from tb_user where name='李四';
操作成功:

4.查詢數(shù)據(jù)
下面給出一些SQL語言的DML查詢數(shù)據(jù)的例子:
- 查詢student表中所有數(shù)據(jù)
SELECT * FROM student;
- 查詢student表中所有年齡大于等于18歲的學生數(shù)據(jù)
SELECT * FROM student WHERE age >= 18;
- 查詢student表中男生(gender為’男’)的平均年齡
SELECT AVG(age) FROM student WHERE gender = '男';
- 查詢student表中年齡最大的學生的信息
SELECT * FROM student WHERE age = (SELECT MAX(age) FROM student);
- 查詢student表中,各性別(gender)的學生數(shù)量
SELECT gender, COUNT(*) FROM student GROUP BY gender;
- 查詢student表中,年齡排名前三的學生的姓名和年齡
SELECT name, age FROM (
SELECT name, age, RANK() OVER (ORDER BY age DESC) AS rank
FROM student
) AS tbl WHERE rank <= 3;上面這些例子涉及到了查詢?nèi)繑?shù)據(jù)、條件查詢、聚合函數(shù)、子查詢、分組和排序等多種查詢方式。在實際應用中,可根據(jù)需要選擇不同的查詢方式來獲取所需的數(shù)據(jù)。
5.注意事項
- 在學習DML操作時,需要注意以下幾點:
- 注意SQL語句的語法和格式,不要犯錯。
- 在進行數(shù)據(jù)修改操作時,一定要謹慎,尤其是DELETE語句,一定要確認數(shù)據(jù)刪除的范圍和內(nèi)容。
- 在進行數(shù)據(jù)查詢操作時,要明確查詢的條件和要檢索的列名,以避免不必要的查詢負擔。
- 在進行復雜查詢操作時,要深入理解SQL語言的實現(xiàn)原理和查詢優(yōu)化技術,以提高數(shù)據(jù)操作效率和質(zhì)量。
6.總結(jié)
學習DML操作是學習數(shù)據(jù)操作的重要基礎步驟,只有熟練掌握并靈活運用DML操作,才能更好地管理和利用數(shù)據(jù)。
到此這篇關于一文帶你學透SQL語言的核心之DML操作的文章就介紹到這了,更多相關SQL語言之DML操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Navicat Premium遠程連接MySQL數(shù)據(jù)庫的方法
這篇文章主要介紹了Navicat Premium遠程連接MySQL數(shù)據(jù)庫的方法,本文分步驟通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
MySQL5.6.17數(shù)據(jù)庫安裝 如何配置My.ini文件
這篇文章主要為大家詳細介紹了MySQL數(shù)據(jù)庫安裝教程,教大家如何配置My.ini文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法
本文介紹了“內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法”,需要的朋友可以參考一下2013-03-03
防止服務器宕機時MySQL數(shù)據(jù)丟失的幾種方案
這篇文章主要介紹了防止服務器宕機時MySQL數(shù)據(jù)丟失的幾種方案,結(jié)合實踐介紹了Replication和Monitor以及Failover這三個項目的應用,需要的朋友可以參考下2015-06-06

