SQL
Основные команды и работа с базами данных:
CREATE DATABASE "название базы"; создание базы данных
DROP DATABASE "название базы"; удаление базы
Cоздание таблицы в базе данных
CREATE TABLE "название таблицы"(
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR (30),
biog TEXT,
birthday DATE,
PRIMERY KEY (id)
);
где,
id - уникальное значение, NOT NULL -не может быть пустым,
AUTO_INCREMENT - Оператор автоматического увеличения значения id
PRIMERY KEY (id) - уникальное значение, id не может повторяться
VARCHAR (30) - текстовый тип и (максимальное значение количества символов)
Чтобы добавить или удалить элемент в таблице
ALTER TABLE "название таблицы" ADD "новый элемент" "тип данных" - добавление нового элемента в таблицу
ALTER TABLE "название таблицы" DROP COLUMN "название элемента для удаления" - удаление элемента таблицы
Работа с данными таблицы
INSERT INTO "название таблицы" (значения в любом порядке через запятую) VALUES ('имя', 'биография', 'дата рождения', 'email');
Пример:
INSERT INTO people (name, bio, birth, email) VALUES('Илья', 'Программист в компании', '2021-11-04', 'ilya@gmail.ru')
INSERT INTO people (name, email) VALUES('Евгений', 'eugeny@yandex.ru');
Чтобы изменить тип поля (например birth) надо:
поставить дату в граф интерфейсе у нового поля NULL на значение
ALTER TABLE "таблица" CHANGE "'элемент" "новое название ил тоже" "ТИП";
Пример:
ALTER TABLE people CHANGE brth birth DATE NOT NULL;
исправил название с brth на birth и установил тип NOT NULL (не пустой)
Теперь если мы пропустим этот лемент будет появляться ошибка так как birth не может быть пустым
INSERT INTO people (birth, name, email) VALUES ('1970-03-15','Владимир', 'vladimir@gmail.ru');
Т. е. теперь всегда надо указывать параметр birth!!!
Множественное добавление элементов
Можно в таком виде
INSERT INTO "название таблицы" (поле1, поле2, поле3)
VALUES
('значение поля1','значение поля2','значение поля3'), первый элемент
('значение поля1','значение поля2,'значение поля3), второй элемент
Пример:
INSERT INTO people (name, email, birth)
VALUES
('Игорь','test@mail.ru','1993-06-23'),
('Александр','test@mail.ru','1991-01-3'),
('Григорий','test1@mail.ru','1995-05-20'),
('Дмитрий','test2@mail.ru','1997-06-5');
Обновление данных
UPDATE "таблица" SET "поле" = 'новое значение поля' WHERE id = 5 (id = значение, также можно и по name, birth, bio, email);
Пример: выше у двух пользователей email совпадал
('Игорь','test@mail.ru','1993-06-23'),
('Александр','test@mail.ru','1991-01-3'),
исправим это с помощью команды
UPDATE people SET email = 'aleks@gmail.com' WHERE id = 5;
Можно менять сразу много значений например по полю name = ' '
UPDATE people SET name = 'Иван', email = 'ivan@yandex.ru', birth = '1993-07-30' WHERE name = 'Григорий';
UPDATE people SET name = 'нет данных', birth = '0001-01-01', bio = 'нет данных', email = 'нет данных' WHERE name = 'Дмитрий' AND id = 7;
Удаление записей из таблицы
DELETE FROM "название таблицы" WHERE "условие"
Пример: в новой таблице testtable
удалим элемент под id = 2
DELETE FROM testtable WHERE id = 2;
Чтобы удалить все записи использовать команду
DELETE FROM "название таблицы";
эквивалентно
DELETE FROM "название таблицы" WHERE id > 0;
Но лучше использовать команду TRUNCATE
TRUNCATE "название таблицы";
Удаление таблицы целиком происходит с помощью команды
DROP TABLE "название таблицы";
DROP TABLE testtable;
Вся таблица была удалена!