Существует четыре группы команд:
DML (Data Manipulation Language ) — работа со строками
DDL (Data Definition Language) — работа со структурой базы
DCL (Data Control Language) — работа с правами
TCL (Transaction Control Language) — работа с транзакциями.
DML (Data Manipulation Language ) — работа со строками
DDL (Data Definition Language) — работа со структурой базы
DCL (Data Control Language) — работа с правами
TCL (Transaction Control Language) — работа с транзакциями.
Data Manipulation Language (работа со строками)
Приведенные ниже команды группы DML работают исключительно со строками и выполняются преимущественно клиентом:
- INSERT — добавление строк(и);
- SELECT — выборка строк(и);
- UPDATE — изменение строк(и);
- DELETE— удаление строк(и);
1
2
3
| --Вставка строки в таблицу booksINSERT INTO books (title, author, `year`, `description`) VALUES ('Лабиринт тайных книг', 'Флавия Эрметес', 2001, 'Книга о книгах'); |
1
2
3
4
| --Выборка заголовка и описания книги с ID равным 5 из таблицы books.SELECT title, description FROM books WHERE id=5; |
1
2
3
4
| --Изменение строки с ID равным 4.UPDATE books SET author = 'Петр Иваныч' WHERE id = 4; |
1
2
3
| --Удаление записи с ID равным 3.DELETE FROM books WHERE id=3; |
Data Definition Language (работа со структурой базы)
Команды DDL подразумевают под собой создание и организацию структуры как самой БД так и ее объектов. Со строками такая группа операторов не работает вовсе.
- CREATE — создание объекта (например таблицы);
- ALTER— изменение объекта (например добавление/изменение полей);
- DROP — удаление объекта;
1
2
3
4
5
6
7
8
9
10
11
| --Создание таблицы students с полями id, name, group. ID — первичный ключ. --Сравнение в utf8, движок MyISAM.CREATE TABLE students ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, `group` VARCHAR(255) NULL DEFAULT NULL, PRIMARY KEY (`id`))COMMENT='Студенты'COLLATE='utf8_general_ci'ENGINE=MyISAM; |
1
2
3
| --Добавление в таблицу students поля "date birth" после поля ID с разрешением не заполненных значений.ALTER TABLE `students` ADD COLUMN `date birth` DATE NULL AFTER `id`; |
1
2
| --Удаление таблицы studets.DROP TABLE studets; |
Data Control Language (работа с правами доступа)
Следующая группа служит для разграничения прав пользователей, т.к. с одной базой скорее всего будут работать как минимум несколько человек/клиентов. По-умолчанию у новых пользователей прав никаких нет.
- GRANT — назначения прав пользователю;
- DENY — явный запрет для пользователя;
- REVOKE — отменить запрет или разрешение;
1
2
| --Назначение права выборки из таблицы student пользователю new_user.GRANT SELECT ON student TO new_user; |
1
2
| --Запрет права выборки из таблицы student пользователя new_user.DENY SELECT ON student TO new_user; |
1
2
| --Отменить запрет.REVOKE SELECT ON student FROM new_user; |
Transaction Control Language (работа с транзакциями)
Группа команд по работе с транзакциями, в остальном — тема целой статьи.
- BEGIN TRANSACTION — начать транзакцию;
- COMMIT — принять изменения внесенные текущей транзакцией;
- ROLLBACK — откат;
1
2
3
4
5
| --Добавление новой строки в таблицу books. Принять изменения.BEGIN TRANSACTION;INSERT INTO books (title, author, year, description) VALUES ('Новая книга', 'Василий Ежиков', 2005, 'Книга о новом');COMMIT WORK; |
1
2
3
4
5
6
| --Добавление новой строки в таблицу books. Удаление записи. Откатить все изменения.BEGIN TRANSACTION;INSERT INTO books (title, author, year, description) VALUES ('Новая книга', 'Василий Ежиков', 2005, 'Книга о новом');DELETE FROM books WHERE id=3;ROLLBACK WORK; |

Комментариев нет:
Отправить комментарий