更新時(shí)間:2022-01-19 來(lái)源:黑馬程序員 瀏覽量:
數(shù)據(jù)管理是指對(duì)數(shù)據(jù)進(jìn)行添加、查詢、修改以及刪除等操作,這些操作在項(xiàng)目開(kāi)發(fā)中是必不可少的操作過(guò)程。下面從添加數(shù)據(jù)、查詢數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)幾個(gè)方面對(duì)數(shù)據(jù)管理的基本知識(shí)做具體講解。
為數(shù)據(jù)表添加數(shù)據(jù)時(shí),可以根據(jù)實(shí)際需求確定是指定字段插入還是省略字段插入。例如,有一個(gè)名稱為student的學(xué)生姓名和性別的信息統(tǒng)計(jì)表,如果想要在這個(gè)數(shù)據(jù)表添加數(shù)據(jù),可以使用以下兩種方式添加數(shù)據(jù)。
1)指定字段插入
INSERT INTO 'student' VALUES ('name','gender') ('Tom','男'),('Lucy','女'),('Jimmy','男'),('Amy','女');
2)省略字段插入
INSERT INTO 'student' VALUES (NULL,'Elma','女'),(NULL,'Ruth','女');
在上面兩種添加數(shù)據(jù)的方式中,當(dāng)省略字段列表執(zhí)行插入操作時(shí),則必須嚴(yán)格按照數(shù)據(jù)表定義字段時(shí)的順序,在值列表中為字段指定相應(yīng)的數(shù)據(jù)。若字段設(shè)置為自動(dòng)增長(zhǎng),添加數(shù)據(jù)時(shí)可以使用NULL進(jìn)行占位。
在對(duì)數(shù)據(jù)進(jìn)行查詢時(shí),不僅可以查詢所有數(shù)據(jù),還可以指定字段或按照特定條件進(jìn)行查詢。下面演示幾種常用的查詢示例。
SELECT * FROM 'student'; #查詢表中所有數(shù)據(jù) SELECT ' name' EROM 'student'; #查詢表中指定宇段 SELECT * EROM 'student' WHERE 'id'=2; #查詢id等于2的學(xué)生信息 SELECT · FROM 'student'WHERE 'id' IN(4,5); #查詢d為4成5的學(xué)生信息 SELECT*EROM'student'WHERE NAME LIKE'y'; #查詢名字以y結(jié)尾的學(xué)生信息 SELECT·FROM'student'ORDER BY 'name'ASC; #將查詢結(jié)果按照名字升序排序 SELECT · FROM 'student' LIMIT 1,2; #查詢結(jié)果從第2個(gè)開(kāi)始,至多有2個(gè) SELECT'gender ',COUNT(*) FROM 'student' GROUP BY 'gender'; #按性別查詢男女各有多少人
在上述語(yǔ)句中,F(xiàn)ROM用于指定待查詢的數(shù)據(jù)表,WHERE用于指定查詢條件,IN關(guān)鍵字用于判斷某個(gè)字段的值是否在指定集合中;LIKE用于模糊查詢,“%”表示一個(gè)或多個(gè)字符;ORDER
BY用于將查詢結(jié)果按照指定字段進(jìn)行排序,ASC表示升序,DESC表示降序,降序,LIMIT用于限定查詢結(jié)果,GROUP
BY用于按照指定字段進(jìn)行分組查詢。
修改數(shù)據(jù)是數(shù)據(jù)庫(kù)中常見(jiàn)的操作。例如,將學(xué)生信息表中學(xué)號(hào)為6的學(xué)生改名為Tess,具體代碼如下:
UPDATE'student'SET'name'='Tess' WHERE' id'=6; #有條件修改 UPDATE 'student ' SET'name'='Tess'; #無(wú)條件修改
需要注意的是,在執(zhí)行UPDATE語(yǔ)句時(shí),若沒(méi)有使用WHERE語(yǔ)句限定,數(shù)據(jù)表會(huì)更新表中所有記錄的指定字段,因此在實(shí)際開(kāi)發(fā)中請(qǐng)謹(jǐn)慎使用。
在數(shù)據(jù)庫(kù)中,若有些數(shù)據(jù)已經(jīng)失去意義或者錯(cuò)誤時(shí),就需要將它們刪除。常用的幾種方式如下:
DELETE FROM 'student ' WHERE 'gender'='女'; #刪除部分?jǐn)?shù)掘 DELETE FROM 'student '; #刪除全部數(shù)據(jù) TRUNCATE 'student'; #清空數(shù)據(jù)表
在上述SQL語(yǔ)句中,DELETE和TRUNCATE的區(qū)別是:前者可以加上WHERE子句,只刪除滿足條件的部分記錄,再次向表中添加記錄時(shí),不影響自動(dòng)增長(zhǎng)值;而后者只能用于清空表中的所有記錄,且再次向表中添加記錄時(shí),自動(dòng)增加字段的默認(rèn)初始值將重新由1開(kāi)始。