Ողջույն սիրելի ընթերցողներ: Մենք արդեն ծանոթացանք, թե ինչ են իրենցից ներկայացնում տվյալների բազաները, իսկ այսօր որոշեցի ավելի մանրամասն խոսել SQL լեզվի հրամանների մասին, որոնց միջոցով կստեղծենք տվյալների բազա և դրա մեջ կավելացնենք աղյուսակներ, ինչպես նաև կսովորենք նոր ինֆորմացիա ավելացնել աղյուսակների մեջ, փոփոխել դրանք և ջնջել:
Մինչ այդ, ծանոթանանք SQL-ի հիմնական հրամանների հետ: Դրանք բաժանվում են 3 խմբի՝
Տվյալների մանիպուլյացիայի լեզու (DML – Data Manipulation Language)
Նախատեսված է տվյալները կառավարելու համար: Հրամաններն են՝ SELECT, INSERT, UPDATE, DELETE:
Տվյալների սահմանման լեզու (DDL – Data Definition Language)
Նախատեսված է տվյալների նկարագրության համար: Հրամաններն են՝ CREATE, ALTER, DROP, SHOW:
Տվյալների կառավարման լեզու (DCL – Data Control Language)
Նախատեսված է ադմինիստրատիվ գործողությունների և դերերի վերագրման համար: Հրամաններն են՝ GRANT, REVOKE:
Սկսենք նոր բազա ստեղծելուց, դրա համար օգտագործվում է CREATE հրամանը՝
CREATE DATABASE ՝blog՝
որտեղ ՝blog՝-ը նոր բազայի անունն է:
Հաջորդ քայլում ՝blog՝ բազայի մեջ ստեղծենք նոր աղյուսակ: Նշեմ, որ գոյություն ունեն աղյուսակների 10 տիպեր՝
- MyISAM
- InnoDB
- MARGE
- MEMORY
- BDB(BerkeleyDB)
- EXAMPLE
- FEDERATED
- ARCHIVE
- BLACKHOLE
- CSV
Հիմնականում օգտագործվում են MyISAM և InnoDB աղյուսակների տիպերը: Խոստանում եմ, որ հետագայում կլինի առանձին հոդված՝ նվիրված MyISAM և InnoDB աղյուսակների տիպերին, դրանց տարբերությանը, առավելություններին և թերություններին: Իսկ մնացած տիպերի հետ կարող եք ավելի մանրամասն ծանոթանալ dev.mysql.com կայքում:
Աղյուսակ ստեղծելիս պետք է որոշել, թե քանի սյուն է հարկավոր մեզ և դրանցից յուրաքանչյուրը ինչ տիպի են պատկանելու: Աղյուսակի սյուներն էլ լինում են մի քանի տիպերի ՝ կախված դրանց պարունակությունից: Այդ տիպերին կարող եք ծանոթանալ w3schools.com -ում: Օրինակ, եթե մեր սյունում պետք է պահվի տեքստային ինֆորմացիա, ապա նրա տիպը պետք է լինի կա՛մ VARCHAR, կա՛մ TEXT, կա՛մ LONGTEXT , կա՛մ էլ ցանկացած տեքստային այլ տիպ: Նույն տրամաբանությամբ թվային ինֆորմացիա պարունակող սյուները պետք է ունենան թվային տիպերից որևէ մեկը: Սյուները կարող են պարունակել նաև տրամաբանական արժեքներ, որոնց համար հատուկ առանձնացված տվյալների տիպեր կան: Սյուները հաճախ օգտագործվում են նաև ամիս, ամսաթիվ, տարի, ժամանակ պահելու համար: DATETIME տիպերն էլ հենց դրանց համար են:
Հիմա ստեղծենք նոր աղյուսակ, դրա համար նույնպես օգտագործվում է CREATE հրամանը՝
USE `blog`; CREATE TABLE `users` ( `id` INT(11) AUTO_INCREMENT, `first_name` VARCHAR(255), `last_name` VARCHAR(255), `birthday` DATE, `phone_number` INT(11), `e_mail` VARCHAR(255), PRIMARY KEY (`id`) )ENGINE=MYISAM CHARSET=utf8;
USE հրամանով ընտրում ենք բազան, որի մեջ պետք է ավելանա նոր աղյուսակը: ՝users՝-ը աղյուսակի անունն է, փակագծերի մեջ հերթականությամբ գրված են սյուների անունները, իսկ դրանցից յուրաքանչյուրի դիմաց գրված է սյան տվյալների տիպը: ՝id՝ սյան կողքին գրված AUTO_INCREMENT-ը նախատեսված է, որպեսզի տվյալներ ավելացնելիս այն ավտոմատ գեներացնի թվերը: PRIMARY KEY-ով ապահովում ենք, որ տվյալ աղյուսակում մեկից ավելի նույն id-ով տող չպետք է լինի, այսինքն id-ի կրկնությունը մեր աղյուսակում բացառում ենք: Փակագծերից հետո ENGINE-ով նշված է աղյուսակի տիպը, իսկ CHARSET-ը նախատեսված է, որպեսզի մեր աղյուսակում բացի լատինատառից կարողանանք պահել այլ լեզուներով ինֆորմացիա:
Դե ինչ արդեն ունենք պատրաստի աղյուսակ, իսկ հիմա փորձենք դրա մեջ լցնել տվյալներ: Դրա համար օգտագործվում է INSERT INTO հրամանը՝
INSERT INTO `users`(`first_name`,`last_name`,`birthday`,`phone_number`,`e_mail`) VALUES ('Պետրոս', 'Պետրոսյան', '1987-03-09','123456789', 'petros@gmail.com')
INSERT INTO հրամանից հետո գրվում է այն աղյուսակի անունը, որի մեջ պետք է ավելացնել տվյալները: Փակագծերի մեջ հերթականությամ գրում ենք սյուների անունները, որոնց մեջ պետք է լցնենք ինֆորմացիա (ինչպես տեսնում եք ես բաց եմ թողել ՝id՝ սյունը, քանի որ AUTO_INCREMENT-ի օգնությամբ այն ավտոմատ կավելանա): VALUES-ից հետո փակագծերի մեջ արդեն համապատասխանաբար վերևի սյուների գրում ենք ավելացվող տվյալները: Վերջում հրամանը կատարելով կտեսնենք արդյունքը՝
Նույն կերպ կարող ենք ավելացնել մեկից ավել տող՝ VALUES-ից հետո փակագծերով մի քանի տող գրելով, որոնք առանձնացված են ստորակետերով՝
Եթե պատահաբար ավելացրել եք սխալ ինֆորմացիա, կամ ցանկանում եք փոփոխություններ անել տվյալների մեջ, ապա օգնության է գալիս UPDATE հրամանը: Ենթադրենք Գևորգ Մինասյանի ծննդյան ամսաթիվը սխալ ենք մուտքագրել և անհրաժեշտ է այն փոփոխել, դրա համար կգրենք հետևյալ հրամանը՝
UPDATE `users` SET `birthday` = '1998-07-01' WHERE `id` = 4
UPDATE-ից հետո գրում ենք աղյուսակի անունը, որտեղ պետք է կատարենք փոփոխություն: SET-ից հետո գրում ենք այն սյան անունը, որտեղ պետք է փոփոխություն անենք, իսկ WHERE-ով գրում պայման, թե որ դեպքում պետք է կատարվի հրամանը: Քանի որ պետք է փոփոխեինք Գևորգ Մինասյանի ծննդյան թիվը, իսկ նրա id-ին 4 է, ապա գրում ենք որ փոփոխությունը պետք է կատարվի միայն 4 id ունեցող տողում (եթե WHERE-ի պայմանը չգրեինք, ապա աղյուսակի բոլոր տողերի birthday դաշտի տվյալները կփոխվեին նոր արժեքով):
Եթե անհրաժեշտ է աղյուսակի կառուցվածքի մեջ փոփոխություններ կատարել, ինչպիսիք են աղյուսակի անուն փոխելը, նոր սյուն ավելացնելը կամ սյան տիպը փոխելը, ապա օգտագործվում է ALTER հրամանը: Օրինակ, փոխենք մեր ստեղծած users աղյուսակի անունը՝
ALTER TABLE `users` RENAME `staff_list`
Բազաները թարմացնելուց հետո կտեսնեք արդյունքը՝
Հիմա աղյուսակի մեջ ավելացնենք նոր address սյունը, դրա համար՝
ALTER TABLE `staff_list` ADD `address` VARCHAR(255) AFTER `phone_number`
ADD-ից հետո գրում ենք նոր ավելացվող սյան անունը և տիպը, հետո նշում թե, որ սյունից հետո պետք է ավելանա( կարող ենք AFTER-ի փոխարեն գրել BEFORE՝ սյունից առաջ ավելացնելու համար, իսկ եթե չնշենք ո՛չ AFTER, ո՛չ BEFORE, ապա սյունը կավելանա աղյուսակի վերջից):
SELECT հրամանը հնարավորություն է տալիս աղյուսակից ստանալ որոշակի տվյալներ: Օրինակ, մեր աղյուսակից ստանանք բոլոր աշխատողների անունները, ազգանունները և հեռախոսահամարները:
SELECT `first_name`,`last_name`,`phone_number` FROM `staff_list`
SELECT-ից հետո ստորակետերով գրում ենք այն դաշտերի անունները, որոնք անհրաժեշտ է ստանալ, իսկ FROM-ից հետո նշում աղյուսակի անունը: Կարող ենք ավելացնել նաև պայման, որպեսզի ստանանք միայն 1995թ-ից հետո ծնված մարդկանց տվյալները՝
Կարող ենք AND-ով ավելացնել նոր պայման, օրինակ, ստանալ բոլոր աշխատողների անունները, ազգանունները և հեռախոսահամարները, ովքեր ծնվել են 1995թ-ից հետո և էլ. փոստը սկսվում է a տառով՝
SELECT `first_name`,`last_name`,`phone_number` FROM `staff_list` WHERE `birthday` > '1995' AND `e_mail` LIKE 'a%'
Աղյուսակից կարող ենք նաև ջնջել տվյալներ , դրա համար օգտագործվում է DELETE հրամանը՝
DELETE FROM `staff_list` WHERE `id` = 2
Իսկ եթե անհրաժեշտ է ջնջել աղյուսակը կամ տվյալների բազան, ապա օգտագործվում է DROP հրամանը՝
DROP TABLE `staff_list` DROP DATABASE `blog`
Այսքանով ավարտեցինք SQL լեզվի հիմնական հրամանների հետ ծանոթացումը: Եթե առաջանան հարցեր, ապա կարող եք գրել մեկնաբանություններում և մենք սիրով կպատասխանենք ձեր հարցերին:
Շնորհակալություն մեր բլոգից օգտվելու համար: