一文帶你學(xué)透SQL語言的核心之DML操作
我們已經(jīng)基本學(xué)會了寫SQL來操作數(shù)據(jù)庫,但在命令行中寫SQL時,往往有體驗感差,效率低等問題,今天開始我們就學(xué)習(xí)一下在MySQL的圖形化客戶端Navicat中執(zhí)行SQL語句
。
Navicat 為數(shù)據(jù)庫管理、開發(fā)和維護提供了一款直觀而強大的圖形界面,大大的提高了工作效率,建議在學(xué)習(xí)中也使用這款開發(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條件,將會導(dǎo)致刪除整個表的數(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歲的學(xué)生數(shù)據(jù)
SELECT * FROM student WHERE age >= 18;
- 查詢student表中男生(gender為’男’)的平均年齡
SELECT AVG(age) FROM student WHERE gender = '男';
- 查詢student表中年齡最大的學(xué)生的信息
SELECT * FROM student WHERE age = (SELECT MAX(age) FROM student);
- 查詢student表中,各性別(gender)的學(xué)生數(shù)量
SELECT gender, COUNT(*) FROM student GROUP BY gender;
- 查詢student表中,年齡排名前三的學(xué)生的姓名和年齡
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ù)、子查詢、分組和排序等多種查詢方式。在實際應(yīng)用中,可根據(jù)需要選擇不同的查詢方式來獲取所需的數(shù)據(jù)。
5.注意事項
- 在學(xué)習(xí)DML操作時,需要注意以下幾點:
- 注意SQL語句的語法和格式,不要犯錯。
- 在進行數(shù)據(jù)修改操作時,一定要謹慎,尤其是DELETE語句,一定要確認數(shù)據(jù)刪除的范圍和內(nèi)容。
- 在進行數(shù)據(jù)查詢操作時,要明確查詢的條件和要檢索的列名,以避免不必要的查詢負擔。
- 在進行復(fù)雜查詢操作時,要深入理解SQL語言的實現(xiàn)原理和查詢優(yōu)化技術(shù),以提高數(shù)據(jù)操作效率和質(zhì)量。
6.總結(jié)
學(xué)習(xí)DML操作是學(xué)習(xí)數(shù)據(jù)操作的重要基礎(chǔ)步驟,只有熟練掌握并靈活運用DML操作,才能更好地管理和利用數(shù)據(jù)。
到此這篇關(guān)于一文帶你學(xué)透SQL語言的核心之DML操作的文章就介紹到這了,更多相關(guān)SQL語言之DML操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL數(shù)據(jù)庫子查詢?sub?query
這篇文章主要介紹了MySQL數(shù)據(jù)庫子查詢?sub?query,子查詢指嵌套查詢下層的程序模塊,當一個查詢是另一個查詢的條件的時候,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下下面文章內(nèi)容介紹2022-06-06詳解MySQL誤操作后怎樣進行數(shù)據(jù)恢復(fù)
在大家日常操作數(shù)據(jù)庫時候難免會因為“大意”而誤操作,那么誤操作后怎樣進行數(shù)據(jù)恢復(fù)呢,下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)。2016-08-08MySQL一次性創(chuàng)建表格存儲過程實戰(zhàn)
這篇文章主要介紹了MySQL一次性創(chuàng)建表格存儲過程實戰(zhàn),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07一文帶你理解MySql中explain結(jié)果filtered
使用EXPLAIN關(guān)鍵字可以模擬優(yōu)化器執(zhí)行SQL查詢語句,從而知道MySQL是如何處理你的SQL語句的,下面這篇文章主要給大家介紹了關(guān)于MySql中explain結(jié)果filtered的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-09-09MySQL數(shù)據(jù)庫遭到攻擊篡改(使用備份和binlog進行數(shù)據(jù)恢復(fù))
這篇文章主要介紹了MySQL數(shù)據(jù)庫遭到攻擊篡改(使用備份和binlog進行數(shù)據(jù)恢復(fù)),需要的朋友可以參考下2016-04-04