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