Существует четыре группы команд:
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
| --Вставка строки в таблицу books INSERT 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 ; |
Комментариев нет:
Отправить комментарий