Біркестелік дерекқор құру (MySQL)
Теорияны білдік, енді нақты деректер қорын ӨЗ ҚОЛЫҢМЕН құрудың кезегі келді. Бұл сабақта ДҚБЖ ретінде ең танымал MySQL-ді қолданып, деректер қоры мен кестені SQL тілінде жобадан бастап нақты жазба енгізуге дейін жеткіземіз.
Деректер қорын құру және оны web-бетпен байланыстыру үшін бір ғана MySQL жеткіліксіз — оған қоса веб-сервер де керек. Осы құралдардың бәрі бір орнату жинағында біріктірілген — OpenServer.
| Құрал | Қызметі |
|---|---|
| phpMyAdmin | MySQL-мен жұмыс істеуге арналған визуалды веб-интерфейс |
| Apache | HTTP web-сервер — клиенттен сұраныс келгенде жауап қайтарады |
| PHP | Web-серверде орындалатын сценарийлер жазуға арналған тіл |
CREATE DATABASE — деректер қорын құрады. CREATE TABLE — кесте құрады, өріс аты мен деректер типін көрсетеді.
Берілді: musical_instruments атты деректер қоры керек.
Жауабы: CREATE DATABASE musical_instruments;
Берілді: код, атауы, түрі, жасалу күні, ішек саны, фото өрістерінен тұратын кесте.
CREATE TABLE instruments (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20),
type VARCHAR(20),
data DATE,
num_string INT(10),
foto VARCHAR(20)
); Түсіндірме: AUTO_INCREMENT — әр жаңа жазбаға автоматты өсетін нөмір береді; PRIMARY KEY — осы өрісті бастапқы кілт етеді.
MySQL-де бүтін санды сақтауға арналған БЕС түрлі тип бар — олардың айырмашылығы жады көлемінде:
| Тип | Таңбалы диапазон |
|---|---|
TINYINT | −128 – 127 (1 байт) |
SMALLINT | −32768 – 32767 |
INT | −2147483648 – 2147483647 |
BIGINT | Өте үлкен (8 байт) |
Мәтіндік типтердің де екі негізгісі бар:
| Тип | Сипаттамасы |
|---|---|
CHAR(n) | БЕКІТІЛГЕН ұзындықты жол (мыс. ел коды), бос орынмен толтырылады |
VARCHAR(n) | АЙНЫМАЛЫ ұзындықты жол, толтырылмайды |
TEXT | 255 таңбадан ҰЗЫН мәтін үшін (макс. 65 535 таңба) |
Ал уақыт (даталық) типтер:
| Тип | Формат |
|---|---|
DATE | YYYY-MM-DD |
DATETIME | YYYY-MM-DD HH:MI:SS |
YEAR | YYYY |
Берілді: тұлға туралы ақпарат (аты-тегі, жынысы, туған күні, мекенжайы).
Неге «мекенжай» бір өріс болмайды? Жобалау кезінде «мекенжай» секілді ҚҰРАМДЫ өрісті бөлшектеу керек — көше/қала/облыс/ел бөлек өрістерге бөлінеді, себебі кейін ТЕК қаласы бойынша іздеу керек болуы мүмкін.
CREATE TABLE person (
person_id SMALLINT UNSIGNED,
fname VARCHAR(20),
lname VARCHAR(20),
gender CHAR(1),
birth_date DATE,
city VARCHAR(20),
country VARCHAR(20),
CONSTRAINT pk_person PRIMARY KEY (person_id)
); Түсіндірме: CONSTRAINT pk_person PRIMARY KEY (person_id) — person_id өрісін бастапқы кілт етіп белгілейтін шектеу.
INSERT INTO — кестеге жаңа жазба қосады. SELECT — жазбаларды алады/көрсетеді.
'Домбыра'); сандық мәндер ТЫРНАҚШАСЫЗ (2); күн мәні 'ГГГГ-АА-КК' форматында, тырнақшамен.INSERT INTO instruments VALUES
(1, 'Dombyra', 'Shertpeli', '2018-12-25', 2, 'dombra.jpg'); Барлық жазбаны көру:
SELECT * FROM instruments; - MySQL + Apache + PHP — веб-негізді деректер қорымен жұмыс істеу үшін керек негізгі құралдар.
- CREATE DATABASE — ДҚ құру, CREATE TABLE — кесте құру командалары.
- INT, VARCHAR, DATE — сандық, мәтіндік, күн типтерінің негізгі мысалдары.
- INSERT INTO — жазба қосу, SELECT — жазбаны алу командалары.