You are on page 1of 9

Bi thc hnh s 9 Ni dung: Thm, sa, xa d liu trong bng

1. Cu lnh INSERT
Cu lnh INSERT cho php thm cc dng d liu vo mt bng xc nh. C hai bin th ca lnh INSERT: cch th nht l thm mt dng gi tr, cch th hai l thm mt tp cc dng tr v t mt cu lnh SELECT. Thm mt dng gi tr INSERT INTO table_name [(column_name,...)] VALUES((expression | DEFAULT),...),(...),... INSERT to mt dng mi trong bng <table_name> . Dng mi cha cc gi tr xc nh bi cc biu thc trong danh sch VALUES. Nu column_name khng c a vo, th trnh t cc ct trong bng <table_name> c s dung. Nu column_name c a, theo cch ny, dng d liu mi c thm vo bng bng cch xc nh tn ct v d liu cho mi ct. V d: thm mt bn ghi vo bng offices INSERT INTO classicmodels.offices (officeCode, city, phone, addressLine1, addressLine2, state,

country, postalCode, territory ) VALUES ('8', 'Boston', '+1 215 837 0825', '1550 dummy street', NULL, 'MA, 'USA', '02107', 'NA' ) Nu gi tr cha xc nh c th s dng t kha NULL. S dng gi tr ngm nh bng t kha DEFAULT. C th kim tra kt qu ca lnh trn bng cu lnh truy vn: SELECT * FROM classicmodels.offices

Kt qu l mt dng d liu mi c ghi vo cui bng d liu

Ch : Nu khng xc nh tn cc ct, khi trt t ca cc ct thay i, SQL c th a gi tr vo sai v tr. Do cch tt trnh iu ny l xc nh tn ct i km vi d liu khi thm d liu vo bng. Thm nhiu dng vi lnh SELECT Ngoi ra thay v cung cp d liu trc tip, c th chn t cc bng khc s dng cu lnh SELECT. INSERT INTO table_name [(column_name,...)] <SELECT statement>; Khng ging vi cch trc, cch ny cho php to nhiu dng d liu vi. Danh sch cc ct kt qu ca lnh SELECT phi trng vi danh sch cc ct ca bng. Cng ging nh cch trc, cc ct khng xc nh s c gn gi tr ngm ngm ca ct. V d: to mt bng tm v thm vo tt c cc offices ti US INSERT INTO temp_table SELECT * FROM classicmodels.offices WHERE country = 'USA' C th kim tra kt qu ca lnh trn bng cu lnh truy vn: SELECT * FROM classicmodels.temp_table

2. Cu lnh UPDATE
Cu lnh UPDATE c s dng cp nht d liu tn ti trong cc bng ca CSDL. Cu lnh c th dng thay i cc gi tr ca mt dng, mt nhm cc dng hoc thm ch tt c cc dng trong mt bng. Cu trc ca cu lnh UPDATE nh sau: UPDATE table_name [, table_name...] SETcolumn_name1=expr1 [, column_name2=expr2 ...] [WHEREcondition]

Sau t kha UPDATE l tn bng mun thay i d liu. Mnh SET xc nh ct thay i v gi tr thay i. Gi tr thay i c th l gi tr c nh, biu thc hoc thm ch mt truy vn con.

Mnh WHERE xc nh cc dng ca bng s c cp nht. Nu mnh WHERE b b qua, tt c cc dng ca bng s b cp nht.

Mnh WHERE rt quan trng, khng nn b b qua. Nu ch mun thay i mt dng ca mt bng, nhng qun mnh WHERE s cp nht ton b bng.

Nu mt cu lnh UPDATE vi phm bt c rng buc ton vn no, MySQL s khng thc hin cp nht v a ra thng bo li

V d: Trong bng employees, nu mun cp nht email ca Diane Murphy vi employeeNumber l 1002 thnh diane-murphy @classicmodelcars.com, Thc hin cu truy vn sau: SELECT firstname, lastname, email

FROM employees WHERE employeeNumber = 1002

Kt qu cp nht email mi diane-murphy@classicmodelcars.com UPDATE employees SET email = 'diane-murphy @classicmodelcars.com' WHERE employeeNumber = 1002 Thc hin cu truy vn SELECT li, s thy email thay i gi tr mi:

3. Cu lnh DELETE
xa cc dng d liu ca mt bng CSDL, s dng cu lnh DELETE. Cu trc lnh DELETE nh sau: DELETE FROM table_name [WHEREconditions]

Sau DELETE FROM l tn bng mun xa cc bn ghi. Mnh WHERE xc nh iu kin gii hn cc dng mun loi b. Nu mt bn ghi tha mn iu kin WHERE s b loi b khi bng CSDL.

Nu mnh WHERE b b qua trong cu lnh DELETE, tt c cc dng ca bng s b xa. gim s nguy him ca cc cu lnh nh DELETE hoc UPDATE, nn lun lun kim tra iu kin WHERE trong mt cu lnh SELECT trc khi thc hin lnh DELELE hoc UPDATE.

V d: Xa tt c cc nhn vin trong vn phng c m officeNumber l 6, thc hin cu truy vn sau: DELETE FROM employees WHERE officeCode = 6 Thc hin li cu lnh truy vn trn bng employees.Trong bng khng cn cc dng c officeCode = 6

Ch : Nu loi b iu kin WHERE DELETE FROM employees S xa tt c cc dng ca bng employees. Do cn ch iu kin trong mnh WHERE khi thc hin lnh DELETE. MySQL cng h tr xa cc bn ghi t nhiu bng khc nhau. V d: xa tt c cc nhn vin (employee) lm vic cho vn phng c m officecode 1 v cng c vn phng . DELETE employees,offices FROM employees,offices WHERE employees.officeCode = offices.officeCode offices.officeCode = 1 AND

Sau khi thc hin lnh xa d liu trn, kim tra li cc bng d liu Bng employees khng cn cc dng nhn vin c officeCode = 1

Bng officeskhng cn dng c officeCode = 1

4. Cp nht d liu c rng buc


Gia cc bng d liu c th tn ti cc rng buc, v d rng buc kha ngoi gia bng products v productlines.

Nu chng ta xa mt dng d liu trong bng productline m vn cn tn ti cc dng d liu trong bng products tham chiu ti dng d liu ny, ngm nh s khng c php. V d: Xa cc dng sn phm c m l Ships DELETE FROM productlines WHERE productLine='Ships' S hin thng bo li Cannot delete or update a parent row: a foreign key constraint fails (`classicmodels`.`products`, CONSTRAINT `fk_products_productlines` FOREIGN KEY (`productLine`) REFERENCES `productlines` (`productLine`) ON DELETE NO ACTION ON UPDATE NO ACTION) Nu khai bo kha ngoi vi ty chn ON DELETE CASCADE, h thng s t ng xa cc dng d liu trong bng products tham chiu ti dng d liu ny. Nu khai bo kha ngoi vi ty chn ON DELETE SET NULL, th kha ngoi productLine ca cc dng tham chiu s c thit lp l NULL.

Bi tp thc hnh
1. Thc hnh cc lnh INSERT, UPDATE v DELETE trn cc bng trong hnh

di y ca CSDL classicmodels.

2.

To mt bng t tn l temp_orderdetails, sau thc hin thm d liu trong

ngy gn y nht t bng orderdetails vo bng trn. 3. Sa cc nhn vin c titleJob l Sales Rep thnh Sales Representative

You might also like

  • CSDL TH2
    CSDL TH2
    Document10 pages
    CSDL TH2
    Nguyễn Cường
    No ratings yet
  • CSDL TH2
    CSDL TH2
    Document10 pages
    CSDL TH2
    Nguyễn Cường
    No ratings yet
  • CSDL TH1
    CSDL TH1
    Document10 pages
    CSDL TH1
    Nguyễn Cường
    No ratings yet
  • CSDL TH1
    CSDL TH1
    Document10 pages
    CSDL TH1
    Nguyễn Cường
    No ratings yet
  • CSDL TH4
    CSDL TH4
    Document12 pages
    CSDL TH4
    Nguyễn Cường
    No ratings yet
  • CSDL TH3
    CSDL TH3
    Document14 pages
    CSDL TH3
    Nguyễn Cường
    No ratings yet
  • CSDL TH5
    CSDL TH5
    Document9 pages
    CSDL TH5
    Nguyễn Cường
    No ratings yet
  • CSDL TH6
    CSDL TH6
    Document12 pages
    CSDL TH6
    Nguyễn Cường
    No ratings yet
  • CSDL TH8
    CSDL TH8
    Document11 pages
    CSDL TH8
    Nguyễn Cường
    No ratings yet
  • CSDL TH7
    CSDL TH7
    Document7 pages
    CSDL TH7
    Nguyễn Cường
    No ratings yet
  • CSDL
    CSDL
    Document16 pages
    CSDL
    Nguyễn Cường
    No ratings yet