Cnpaвочник no основам MySQL

Это приложение - очень поверхностный взгляд на SQL (Structured Query Language - язык структурированных запросов) и некоторые основные функции, которые вы можете использовать с MySQL. Тем не менее даже это значительно облегчит разработку ваших сценариев. Ознакомиться с полным руководством по MySQL можно по адресу: http://www.mysql.com/ для получения всеобъемлющего перечня функций MySQL и элементов языка.

Создание и удаление базы данных

Начнем с самого простого. Вы можете использовать команду CREATE, чтобы создать новую базу данных. Синтаксис команды следующий:

CREATE DATABASE IF NOT EXISTS имя_базы_данных;

Когда вы создаете базу данных с помощью этой команды, вы в действительности создаете папку (каталог), которая будет хранить файлы, являющиеся таблицами в базе данных.

Чтобы удалить базу данных из системы, используется команда DROP:

DROP DATABASE IF EXISTS имя_базы_данных;

Будьте предельно внимательны, когда используете команду DROP, потому что, удалив базу данных, вы также удалите все таблицы, которые в ней хранятся.

Создание и удаление таблиц

Вы можете также использовать команду CREATE для создания таблицы внутри текущей базы данных. Синтаксис команды следующий:

CREATE TABLE имя_таблицы (имя_поля1 [тип], имя_поля2 [тип], имя_поля3 [тип] , ,..) [опции] ;

Вот некоторые типы данных: int, float, char, varchar, date, time, datetime, text и blob. Обратитесь к руководству по MySQL для получения списка поддерживаемых типов данных, размеров полей для разных типов данных и ограничений для данных. Или ознакомьтесь с учебником на странице. http://www.thickbook.com/extra/phpjdatatypes.phtml.

Чтобы удалить таблицу из текущей базы данных, используйте команду DROP:

DROP TABLE имя_таблицы;

Будьте предельно внимательны, когда используете команду DROP, потому что, удал таблицу, вы ее уже не восстановите.

Изменение таблицы

Команда ALTER дает вам возможность изменять элементы отдельной таблицы, например, переименовать столбцы, изменить тип столбцов, добавить столбцы, удалить столбцы и так далее. Ниже следует список некоторых обычных применений команды:

Чтобы добавить в таблицу столбец, используйте следующую команду:

ALTER TABLE имя_таблицы ADD имя_столбца тип_поля;

Чтобы удалить столбец из таблицы, используйте команду:

ALTER TABLE имя_таблицы DROP имя_столбца;

Чтобы изменить тип столбца, используйте команду:

ALTER TABLE имя_таблицы CHANGE имя_столбца новый_тип_поля;

Чтобы сделать уникальным столбец в вашей таблице, используйте команду:

ALTER TABLE имя_таблицы ADD UNIQUE имя_столбца (имя_столбца);

Чтобы проиндексировать столбец в вашей таблице, используйте команду:

ALTER TABLE имя_таблицы ADD INDEX имя_столбца (имя_столбца);

Использование команды ALTER позволяет избежать удаления всей таблицы и ее создание с нуля только потому, что в имени поля сделана опечатка или другие небольшие ошибки.

Вcтaвкa, обновление или замена в таблице

Команды INSERT и REPLACE за один раз добавляют или заменяют одну запись в таблице. Синтаксис команды INSERT следующий:

INSERT INTO имя_таблицы (имя_поля1, имя_поля2, ...)
VALUES (' [Значение_для_поля1] ' , ' [Значение_для_поля2] ' , ...) ;

Когда вы вставляете данные, убедитесь, что данные в строке разделены кавычками или двойными кавычками. Если в вашей строке вы используете одинарные кавычки и добавляемые данные содержат апострофы, то, чтобы избежать ошибки, необходимо маскировать апострофы (\') внутри команды INSERT. Точно так же, если в вашей строке вы используете двойные кавычки и добавляемые данные содержат двойные кавычки, то чтобы избежать ошибки, необходимо маскировать двойные кавычки (\") внутри команды INSERT.

Команда REPLACE имеет такой же синтаксис и требования, что и команда INSERT. Отличие только в том, что, используя REPLACE, вы заменяете все поля в существующей записи таблицы:

REPLACE INTO имя_таблицы (имя_поля1, имя_поля2, ...)
VALUES ( ' [значеиие_для_поля1] ' , ' [значение_для_поля2] ' , ...) ;

Команда UPDATE изменяет только часть записи без замены всей записи. Чтобы обновить всю колонку в таблице и заполнить ее одним и теми же новым значением, используйте команду:

UPDATE имя таблицы SET имя поля = '[новое_значение]';

Если вы хотите обновить только одну определенную строку, то используйте параметр WHERE:

UPDATE имя_таблицы SET имя_поля = '[новое_значение]' WHERE [выражение] ;

Команда UPDATE может быть очень мощной командой SQL. Например, вы можете выполнить строковые функции и математические функции над существующими записями и использовать команду UPDATE, чтобы изменить их значение.

Удаление записей из таблицы

Использование команды DELETE, так же как команды DROP, без должного внимания к тому, что вы делаете, может иметь ужасные последствия. Однажды удалив таблицу или запись, вы теряете ее навсегда. Не бойтесь, просто будьте внимательны. Чтобы удалить все содержимое таблицы, используйте следующий формат команды:

DELETE FROM имя_таблицы;

Если вы хотите удалить только одну указанную строку, используйте параметр WHERE:

DELETE FROM имя_таблицы WHERE [выражение];

Если вы начинаете удаление записей, убедитесь, что у вас имеется резервная копия. Просто на случай непредвиденных ошибок.

Выбор из базы данных

Когда создан управляемый базой данных Web-сайт, команда SELECT будет самой часто используемой командой в вашем арсенале. Команда SELECT осуществляет выбор конкретной записи в вашей таблице, основываясь на определенном вами критерии.

Основной синтаксис команды SELECT следующий:

SELECT [имена полей]
FROM [имя_таблицы]
WHERE [выражение]
ORDRT BY [имена полей];

Чтобы выбрать все записи в таблице, используйте команду:

SELECT * FROM имя_таблицы;

Чтобы выбрать один столбец из таблицы, используйте команду:

SELECT имя_столбца FROM имя_таблицы;

Чтобы выбрать все записи в таблице и получить их в определенном порядке, используйте параметр ORDER BY. Например, если вы имеете в записи поле даты с именем date и хотите просмотреть все записи, начиная с новой до старой, используйте следующую команду:

SELECT * FROM имя_таблицы ORDER BY date DESC;

DESC от английского descending (убывание).

Чтобы просмотреть записи от старой до новой, вместо DESC используется параметр ASC от ascending (возрастание). ASC установлено по умолчанию.

Вы можете также выполнять математические и строковые функции внутри операторов SQL, используя таким образом SELECT для получения большего, чем просто отображение существующих данных. Далее следует несколько примеров.

Несколько строковых функций

Этот список содержит лишь несколько из большого списка строковых функций, содержащихся в руководстве по MySQL. Посетите сайт в Интернете по адресу: http://www.mysql.com/ и посмотрите руководство для получения дополнительной информации.

Вы можете объединить значения, используя функцию CONCAT ( ). Синтаксис функции следующий:

SELECT CONCAT (поле1, поле2, ...) AS новое_имя FROM имя_таблицы;

Вы можете преобразовать ваш результат в нижний регистр, используя функцию LOWER ( ). Синтаксис функции следующий:

SELECT LOWER (поле1, поле2 , ...) FROM имя_таблицы ;

Вы можете преобразовать ваш результат в верхний регистр, используя функцию UPPER ( ). Синтаксис функции следующий:

SELECT UPPER (поле1, поле2, ...) FROM имя_таблицы ;

Несколько функций времени и даты

Этот список содержит лишь несколько из большого списка функций связанных с датой и временем, содержащихся в руководстве по MySQL. Посетите сайт в Интернете по адресу: http://www.mysql.com/ и посмотрите руководство для получения дополнительной информации.

Чтобы получить день недели (1 = воскресенье, 2 = понедельник, ...) из поля базы данных, содержащего дату, используется функция DAYOFWEEK ( ). Синтаксис функции следующий:

SELECT DAYOFWEEK(дата) FROM имя_таблицы;

Чтобы получить день недели (0 = понедельник, 1 = вторник, ...) из поля базы данных, содержащего дату, используется функция WEEKDAY ( ). Синтаксис функции следующий:

SELECT WEEKDAY(дата) FROM имя таблицы;

Разница между функциями DAYOFWEEK ( ) и WEEKDAY о в начале отсчета дня недели. Когда вы используете функцию DAYOFWEEK ( ), то первым днем недели считается воскресенье, когда вы используете функцию WEEKDAY ( ) - нулевым днем считается понедельник.

Чтобы получить день месяца (от 1 до 31) из поля базы данных, содержащего дату, используется функция DAYOFMONTH ( ). Синтаксис функции следующий:

SELECT DAYOFMONTH(дата) FROM имя_таблицы;

Чтобы получить день года (от 1 до 366) из поля базы данных, содержащего дату, используется функция DAYOFYEARA() . Синтаксис функции следующий:

SELECT DAYOFYAER(дата) FROM имя_таблицы;

Чтобы получить месяц года (от 1 до 12) из поля базы данных, содержащего дату, используется функция MONTH ( ). Синтаксис функции следующий:

SELECT MONTH(дата) FROM имя_таблицы;

Чтобы получить имя месяца года (January, February, ...) из поля базы данных, содержащего дату, используется функция MONTHNAME ( ). Синтаксис функции следующий:

SELECT MONTHNAME(дата) FROM имя_таблицы;

Чтобы получить имя дня недели (Monday, Tuesday, ...) из поля базы данных, содержащего дату, используется функция DAYNAME ( ). Синтаксис функции следующий:

SELECT DAYNAME(дата) FROM имя_таблицы;

Чтобы получить номер недели (от 0 до 53) из поля базы данных, содержащего дату, используется функция WEEKO. Начало недели с воскресенья (0) или понедельника (1). Синтаксис функции следующий:

SELECT WEEK(дата, [0 или 1]) FROM имя_таблицы;

Чтобы получить год (от 1000 до 9999) из поля базы данных, содержащего дату, используется функция YEAR(). Синтаксис функции следующий:

SELECT YEAR(дата) FROM имя таблицы;



Hosted by uCoz