MySQL: Язык SQL
Попробую в этой статье дать базовые знания постоения SQL запросов при помощи команд
- SELECT
- UPDATE
- DELETE
- INSERT
INSERT
Команда INSERT дает возможно добавлять данные в существующие таблицы.
1. INSERT INTO table VALUES (value1, value2, ..., valueN) [, (value1, value2, ..., valueN)];
2. INSERT INTO table (column1, column2, ..., columnN) VALUES (value1, value2, ..., valueN) [, (value1, value2, ..., valueN)];
3. INSERT INTO table SET column1=value1, column2=value2, ..., columnN=valueN;
4. INSERT INTO table (column1, column2, ..., columnN) SELECT column1, column2, ..., columnN FROM table;
Как Вы видите существует несколько способов использования команды INSERT при добавлении данных в таблицы. Рассмотрим каждый из них.
В первом варианте мы добавляем данные в таблицу table и после VALUES в скобках через запятую указываем все значения соответствующих полей таблицы в соответствии с их типами. Также при этом синтаксисе Вы можете добавить сразу несколько записей в таблицу. Это не очень хороший способ, т.к. приходится указывать значения всех полей, а ведь некоторый мы хотим, чтобы принимали по умолчанию. В данном случае нам приходится указывать значение поля ID.
INSERT INTO books VALUES (2, "Хроники Эхо", "Макс Фрай"), (3, "Маруся", "Издательство Этногенез");
Второй способ самый распростаненный и самый правильный на мой взгляд. После наименование таблицы в скобках мы перечисляем поля, которые будем добавлять.
INSERT INTO books (name, autor) VALUES ("Я помню чудное мгновенье...", "А.С.Пушкин");
Третий способ немного похож на второй, но в запросе указываются ключевые пары "наименование поля"=>"Значение" и поход на команду UPDATE, которую мы рассмотрим ниже.
INSERT INTO books SET name="Баллада", autor="М.Ю.Лермонтов";
Последний синтаксис команды INSERT предоставляет нам возможность копирования данных из одной таблицы в другую. Для этого примера создадим еще одну таблицу, копию таблицы books и скопируем в нее все книги А.С.Пушкина
CREATE TABLE `test`.`books_copy` (
`name` char( 255 ) NOT NULL ,
`autor` char( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM;
INSERT INTO books_copy (name, autor) SELECT name, autor from books where autor='А.С.Пушкин';
Если Вы посмотрите содержимое таблицы books_copy, то увидите в ней две записи по книгам А.С.Пушкина.
SELECT
Команда SELECT предназначена для выбора данных из одной или нескольких таблиц и имеет следующий вид:
SELECT column1, ..., columnN [FROM table WHERE definition] [ORDER BY column_name ASC|DESC, ...] [LIMIT offset, count]
column1, ..., columnN - имена выбираемых столбцов (полей). Если Вы хотите выбрать все поля таблицы, то можете просто указать знак "*"
table - наименование таблицы, из которой будут выбираться данные
definition - условия выбора данных из таблицы
column_name - наименование поля, по которому необходимо вести сортировку, ASC - сортировка по возрастанию, DESC - сортировка по убыванию
offset, count - эти два параметра сообщают SQL, что необходимо вывести count строк начиная со смещения offset
SELECT * from books;
Результат выбора всех полей таблицы и всех строк:

SELECT name from books where autor='А.С.Пушкин';
Результат выбора наименований произведений А.С.Пушкина:

SELECT name, autor from books order by name asc limit 3, 2;
Отсортируем результат по полю наименования произведения по возврастанию и возьмем 2 записи начиная с третьей

UPDATE
Команда UPDATE обновляет столбцы таблицы в соответствии с их новоыми значениями в строках.
UPDATE table SET column1=value1, column2=value2, ..., columnN=valueN [WHERE definition] [LIMIT count]
В выражении SET указывается, какие столбцы необходимо модифицировать и какие значения им надо присвоить. В выражении WHERE указывается условие, если WHERE не указан, то изменение UPDATE применяется ко всем строкам таблицы. Оператором LIMIT Вы можете ограничить количество изменяемых записей.
Для примера изменим значение автора и произведения для ID=3:
UPDATE books SET name='Петр I', autor='Алексей Толстой' WHERE id=3;
Теперь у нас для записи с ID=3 будет произведение Алексея Толстого "Петр I".
DELETE
Команда DELETE удаляет из существующей таблицы записи, удовлетвряющие условиям в блоке WHERE.
DELETE FROM table [WHERE definition]
Если оператор WHERE не указан, то удаляются все записи из таблицы table. В качестве примера удалим запись с ID=3:
DELETE FROM books WHERE id=3;
Послесловие
Это основные 4 SQL-команды с которыми Вам придется работать. Конечно у SELECT'а наиболее сложный синтаксис, но в будущем мы рассмотрим и его. А пока экспериментируйте, пытайтесь создавать свои запросы.


То, что я искал
<a href="http://phpprogs.ru/" target="_blank" alt="Я изучаю PHP на сайте phpprogs.ru"><img src="http://phpprogs.ru/php_action/banner101.gi
