Главная · Статьи · Файлы · Фото галерея · Видео онлайн
Библиотека
По авторам
По жанрам
Поиск по названию
Навигация
Главная
Статьи
Файлы
Обратная связь
Фото галерея
Видео онлайн
Поиск

Работа
Заказать сайт или программу

Примеры работ
Последние статьи
Технология уничтожения
«Мы – русские»
Ф.М. Достоевский - Д...
Европа против России...
Первые английские ко...
Reklama

Урок 11. MySQL. Основные операторы

Создадим каталог ссылок с описанием.


Первым делом создайте в базе таблицу amd_uroki


Вот структура таблицы ввиде SQL запроса.


В таблице 3 поля.


Первое ID - целочисленное. Служит для создания
уникального ID каждой записи. С этой целью испоьзуется
auto_increment. При вставки записи в таблицу значение ID
увеличивается автоматически на 1.


Второе поле  NAME. В него мы будем записывать
ссылки. Тип поля VARCHAR и размер 50 символов
максимум.


Третье поле TEXT, Служит для хранения описания
ссылки. Тип поля TEXT - текстовый, позволяет хранить
текст размером до 65кБ.


CREATE TABLE -оператор создания таблицы.


IF NOT EXISTS  - проверка на существование таблицы. если она
несуществует то будет созхдана. Если же существует, то оператор не выполныется.


 


CREATE TABLE IF NOT EXISTS `amd_uroki` (

`id` int(11) NOT NULL auto_increment,

`name` varchar(50) NOT NULL,

`text` text NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;






Вставка данных в таблицу. Используется оператор INSERT


Структура запроса - оператор INSERT INTO  имя
таблицы VALUES значения вставляемые в таблицу


  INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES (expression,...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expression, ... ]
или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name
SET col_name=(expression | DEFAULT), ...
[ ON DUPLICATE KEY UPDATE col_name=expression, ... ]

Оператор INSERT вставляет новые строки в
существующую таблицу. Форма данной команды INSERT ...
VALUES
вставляет строки в соответствии с точно указанными в команде
значениями. Форма INSERT ... SELECT вставляет
строки, выбранные из другой таблицы или таблиц. Форма
INSERT ... VALUES
со списком из нескольких значений поддерживается в
версии MySQL 3.22.5 и более поздних.


 




INSERT INTO `amd_uroki` VALUES

(1, 'www.darkagesworld.com', 'Бесплатная игра Смутные времена'),

(2, 'www.smuta.com', 'Форум игры Смутные времена');

 


Оператор SELECT


Оператор SELECT имеет следующую структуру:


SELECT [STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[LIMIT [offset,] rows | rows OFFSET offset]
[PROCEDURE procedure_name(argument_list)]
[FOR UPDATE | LOCK IN SHARE MODE]]

SELECT применяется для извлечения строк,
выбранных из одной или нескольких таблиц. Выражение
select_expression
задает столбцы, в которых необходимо проводить выборку.
Кроме того, оператор SELECT можно использовать для
извлечения строк, вычисленных без ссылки на какую-либо таблицу. Например:


mysql> SELECT 1 + 1;
-> 2

При указании ключевых слов следует точно соблюдать порядок, указанный выше.
Например, выражение HAVING должно располагаться
после всех выражений GROUP BY и перед всеми
выражениями ORDER BY.




  • Используя ключевое слово AS, выражению в
    SELECT можно присвоить псевдоним. Псевдоним
    используется в качестве имени столбца в данном выражении и может применяться
    в ORDER BY или HAVING.
    Например:
    mysql> SELECT CONCAT(last_name,', ',first_name) AS full_name
    FROM mytable ORDER BY full_name;




Для получения данных из нашей таблицы


select * from amd_uroki


Если надо выбрать какую-то определенную запись. К примеру с
ID  равным 1


select * from amd_uroki where
id=1 


Если надо выбрать с алфавитном порядке  по
полю NAME


select * from amd_uroki order by
name ASC


В обратном алфавитном порядке


select * from amd_uroki order by
name DESC


Оператор DELETE


DELETE [LOW_PRIORITY] [QUICK] FROM table_name
[WHERE where_definition]
[ORDER BY ...]
[LIMIT rows]

или


DELETE [LOW_PRIORITY] [QUICK] table_name[.*] [, table_name[.*] ...]
FROM table-references
[WHERE where_definition]

или


DELETE [LOW_PRIORITY] [QUICK]
FROM table_name[.*] [, table_name[.*] ...]
USING table-references
[WHERE where_definition]

Оператор DELETE удаляет из таблицы
table_name строки, удовлетворяющие заданным в
where_definition условиям, и возвращает число
удаленных записей.


Если оператор DELETE запускается без определения
WHERE, то удаляются все строки.


Удаление в нашей таблице.


delete from amd_uroki - удалятся все записи


delete from amd_uroki where id=2
- удаление записи с ID = 2


Оператор UPDATE


UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
[ORDER BY ...]
[LIMIT rows]
или
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name [, tbl_name ...]
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]

Оператор UPDATE обновляет столбцы в соответствии
с их новыми значениями в строках существующей таблицы. В выражении
SET указывается, какие именно столбцы следует
модифицировать и какие величины должны быть в них установлены. В выражении
WHERE, если оно присутствует, задается, какие
строки подлежат обновлению. В остальных случаях обновляются все строки. Если
задано выражение ORDER BY, то строки будут
обновляться в указанном в нем порядке.


Если указывается ключевое слово LOW_PRIORITY, то
выполнение данной команды UPDATE задерживается до
тех пор, пока другие клиенты не завершат чтение этой таблицы.


Если указывается ключевое слово IGNORE, то
команда обновления не будет прервана, даже если при обновлении возникнет ошибка
дублирования ключей. Строки, из-за которых возникают конфликтные ситуации,
обновлены не будут.


Если доступ к столбцу из указанного выражения осуществляется по аргументу
tbl_name, то команда UPDATE
использует для этого столбца его текущее значение. Например, следующая команда
устанавливает столбец age в значение, на единицу
большее его текущей величины:


mysql> UPDATE persondata SET age=age+1;

Значения команда UPDATE присваивает слева
направо. Например, следующая команда удваивает значение в столбце
age, затем инкрементирует его:


mysql> UPDATE persondata SET age=age*2, age=age+1;

Если столбец устанавливается в его текущее значение, то MySQL замечает это и
не обновляет его.


Команда UPDATE возвращает количество фактически
измененных строк.


Для нашей таблицы


Хотим поменять ссылку на СВ. Это запись имеет
ID = 1


update amd_uroki set name="www2.darkagesworld.com" 
where id=1


Если хотим поменять и описание


update amd_uroki set name="www2.darkagesworld.com",text="Новое
описание" where id=1


изменяемые значения указываются через запятую.


вариант изменения


update amd_uroki set ("","www2.darkagesworld.com","Новое
описание") where id=1


значения первого поля мы не задаем т.к. его значение присваивается
автоматически.


 


Существуют и другие операторы. Но для рабты сайта нам хватит
вышеперечисленных. Остальные вы можете найти в интернете.


В следующем уроке познакомимся со способами применения данных операторов в
PHP.


Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь.
Сейчас на сайте
Гостей: 4
На сайте нет зарегистрированных пользователей

Пользователей: 1
Не активированный пользователь: 0
новичок: AMD
Статистика
Яндекс.Метрика
Rambler's Top100


PR-CY.ru
Protected by Copyscape Online Plagiarism Checker
Back To Top Back To Top Back To Top

Best Viewed 1280x1024