ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 18.05.2024

Просмотров: 529

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

1. Історія php

2. Можливості php

3. Установка і настройка по

3.1. Установка Apache 1.3.29 під Windows xp

3.2. Установка php 4.3.4 під Windows

1. Основний синтаксис

1.1 Розділення інструкцій

1.2 Коментарі

2. Змінні, константи і оператори

2.3 Константи

2.4 Оператори

1. Основний синтаксис

1.1 Розділення інструкцій

1.2 Коментарі

2. Змінні, константи і оператори

2.3 Константи

2.4 Оператори

1.2 Оператор else

1.3 Оператор elseif

1.4 Оператор switch

2 Цикли

3 Оператори передачі управління

4 Оператори включення

4. Лекція

2 Типи серверів

3 Протокол http і способи передачі даних на сервер

4 Методи

5 Використання html-форм для передачі даних на сервер

5. Лекція:

1 Функції, створені користувачем

2 Аргументи функцій

3 Списки аргументів змінної довжини

4 Статичні змінні

5 Значення, що повертаються

6 Повернення посилання

7 Внутрішні (убудовані) функції

6. Лекція:

2 Ініціалізація змінних

4 Спадкування extends

5 Оператор ::

6 Оператор parent

7. Лекція:

1 Масиви

2 Операції з масивами

3 Функції обробки масивів

4 Сортування масивів

5 Виділення підмасива

8. Лекція:

2 Запис даних у файл

3 Читання даних з файлу

4 Перевірка існування файлу

5 Видалення файлу

6 Завантаження файлу на сервер

10. Лекція:

1 Бази даних: основні поняття

2 Ключі

3 Індексація

4 Субд MySql

5 Язик sql

6 Основні оператори язика sql

6.1 Оператор create table

6.2 Оператор drop table

6.3 Оператор alter table

7 Оператор select

8 Оператор insert

9 Оператор update

10 Оператор delete

11. Лекція:

1 Побудова інтерфейсу для додавання інформації

2 Запис даних в базу даних

3 Відображення даних, що зберігаються в MySql

1 Побудова інтерфейсу для додавання інформації

2 Запис даних в базу даних

3 Відображення даних, що зберігаються в MySql

12. Лекція:

2 Механізм сесій

3 Настройка сесій

4 Робота з сесіями

4.1 Створення сесії

4.2 Реєстрація змінних сесії

4.3 Видалення змінних сесії

5 Безпека

6.2 Оператор drop table

Оператор DROP TABLE видаляє одну або декілька таблиць. Всі табличні дані і визначення віддаляються, так що при роботі з цією командою слід дотримуватися обережності.

Синтаксис:

DROP TABLE [IF EXISTS] ім’я_таблиці [, ім’я_таблиці...] [RESTRICT | CASCADE]

У версії MySQL 3.22 і більш пізніх можна використовувати ключові слова IF EXISTS, щоб попередити помилку, якщо вказані таблиці не існують.

Опції RESTRICT і CASCADE дозволяють спростити перенесення програми з інших СУБД. В даний момент вони не задіяні.

mysql> DROP TABLE IF EXISTS Persons Artifacts, test;

Приклад 10.2. Використовування оператора DROP TABLE

6.3 Оператор alter table

Оператор ALTER TABLE забезпечує можливість змінювати структуру існуючої таблиці. Наприклад, можна додавати або видаляти стовпці, створювати або знищувати індекси або перейменовувати стовпці або саму таблицю. Можна також змінювати коментар для таблиці і її тип.

Синтаксис:

ALTER [IGNORE] TABLE ім’я_таблиці alter_specification [, alter_specification ...]

Можна проводити наступні зміни в таблиці (всі вони записуються в alter_specification ):

додавання поля:

ADD [COLUMN] визначення_колонки [FIRST | AFTER ім’я_колонки ]

або

ADD [COLUMN] (визначення_колонки...)

Тут, як і далі, визначення_колонки записується так само, як при створенні таблиці.

Додавання індексів:

ADD INDEX [ім’я_індекса] (ім’я_індексованої_колонки...)

або

ADD PRIMARY KEY (ім’я_індексованої_колонки...)

або

ADD UNIQUE [ім’я_індекса] (ім’я_індексованої_колонки...)

або

ADD FULLTEXT [ім’я_індекса] (ім’я_індексованої_колонки...)

Зміна поля:

ALTER [COLUMN] ім’я_колонки {SET DEFAULT literal | DROP DEFAULT}

або

CHANGE [COLUMN] старе_ім’я_колонки визначення_колонки

або

MODIFY [COLUMN] визначення_колонки

Видалення поля, індексу, ключа:

DROP [COLUMN] ім’я_колонки

DROP PRIMARY KEY

DROP INDEX ім’я_індекса

Перейменування таблиці:

RENAME [TO] нове_ім’я_таблиці

Переупорядковування полів таблиці:

ORDER поле

Якщо оператор ALTER TABLE використовується для зміни визначення типу стовпця, але DESCRIBE ім’я_таблиці показує, що стовпець не змінився, то, можливо, MySQL ігнорує дану модифікацію по одній з причин, описаних в спеціальному розділі документації. Наприклад, при спробі змінити стовпець VARCHAR на CHAR MySQL продовжуватиме використовувати VARCHAR, якщо дана таблиця містить інші стовпці із змінною довжиною.


Оператор ALTER TABLE під час роботи створює тимчасову копію початкової таблиці. Необхідна зміна виконується на копії, потім початкова таблиця віддаляється, а нова перейменовується. Це робиться для того, щоб в нову таблицю автоматично потрапляли всі оновлення, окрім невдалих. Під час виконання ALTER TABLE початкова таблиця доступна для читання іншими клієнтами. Операції оновлення і запису в цій таблиці припиняються, поки не буде готова нова таблиця. Слід зазначити, що при використанні будь-якої іншої опції для ALTER TABLE, окрім RENAME, MySQL завжди створюватиме тимчасову таблицю, навіть якщо дані, строго кажучи, і не потребують копіювання (наприклад, при зміні імені стовпця).

Пример10.3. Додамо в створену таблицю Persons поле для запису року народження людини:

mysql> ALTER TABLE Persons ADD bday INTEGER AFTER last_name;

Приклад 10.3. Додавання в таблицю Persons поля для запису року народження людини

Отже, ми навчилися працювати з таблицями: створювати, видаляти і змінювати їх. Тепер розберемося, як робити те ж саме з даними, які в цих таблицях зберігаються.


7 Оператор select

Оператор SELECT застосовується для витягання рядків, вибраних з однієї або декількох таблиць. Тобто з його допомогою ми задаємо стовпці або вирази, які треба витягнути (select_вырази), таблиці (table_references ), з яких повинна проводитися вибірка, і, можливо, умову (where_definition), якій винні відповідати дані в цих стовпцях, і порядок, в якому ці дані потрібно видати.

Крім того, оператор SELECT можна використовувати для витягання рядків, обчислених без посилання на яку-небудь таблицю. Наприклад, щоб обчислити, чому рівно 2*2, потрібно просто написати

mysql> SELECT 2*2;

Спрощений структуру оператора SELECT можна представити таким чином:

SELECT select_вираз1, select_вираз2

[FROM table_references

[WHERE where_definition]

[ORDER {число | ім’я_колонки | формула} [ASC | DESC] ...]]

Квадратні дужки [ ] означають, що використання оператора, що знаходиться в них, необов'язкове, вертикальна межа | означає перелік можливих варіантів. Після ключового слова ORDER указують ім'я стовпця, число (ціле беззнакове) або формулу і спосіб впорядкування (за збільшенням – ASC, або по убуванню – DESC ). За умовчанням використовується впорядкування за збільшенням.

Коли в select_виразі ми пишемо " * ", це значить вибрати всі стовпці. Окрім " * " в select_вирази можуть використовуватися функції типу max, min і avg.

Приклад 10.4. Вибрати з таблиці Persons всі дані, для яких поле first_name має значення 'Олександр':

mysql> SELECT * FROM Persons

WHERE first_name='Олександр';

Приклад 10.4. Використовування оператора SELECT

Вибрати назву і опис ( title, description ) артефакту під номером 10:

mysql> SELECT title,description

FROM Artifacts WHERE id=10;

8 Оператор insert

Оператор INSERT вставляє нові рядки в існуючу таблицю. Оператор має декілька форм. Параметр ім’я_таблиці у всіх цих формах задає таблицю, в яку повинні бути внесені рядки. Стовпці, для яких задаються значення, указуються в списку імен стовпців (ім’я_колонки) або в частині SET.

Синтаксис:

INSERT [LOW_PRIORITY | DELAYED] [IGNORE]

[INTO] ім’я_таблиці [(ім’я_колонки...)]

VALUES (вираз...),(...)...

Ця форма команди INSERT вставляє рядки відповідно до точно вказаних в команді значень. В дужках після імені таблиці перераховуються стовпці, а після ключового слова VALUES – їх значення.

Наприклад:

mysql> INSERT INTO Persons (last_name, bday) VALUES ('Іванов', '1934');


вставить в таблицю Persons рядок, в якому значення прізвища ( last_name ) і дати народження ( bday ) будуть задані відповідно як "Іванов" і "1934".

Наприклад:

mysql> INSERT INTO Artifacts (author)

SELECT id FROM Persons

WHERE last_name='Иванов'

AND bday='1934';

вставить в таблицю Artifacts в полі "автор" ( author ) значення ідентифікатора, вибраного з таблиці Persons по умові, що прізвище людини Іванов і рік народження 1934.

Діють наступні угоди.

Якщо не вказаний список стовпців для INSERT... VALUES або INSERT... SELECT, то величини для всіх стовпців повинні бути визначені в списку VALUES() або в результаті роботи SELECT . Якщо порядок стовпців в таблиці невідомий, для його отримання можна використовувати DESCRIBE ім’я_таблиці.

Будь-який стовпець, для якого явно не вказано значення, буде встановлений в своє значення за умовчанням. Наприклад, якщо в заданому списку стовпців не вказані всі стовпці в даній таблиці, то не згадані стовпці встановлюються в свої значення за умовчанням.

Вираз expression може відноситися до будь-якого стовпця, який раніше був внесений в список значень. Наприклад, можна вказати наступне:

mysql> INSERT INTO ім’я_таблиці (col1,col2) VALUES(15,col1*2);

Ми ще не обговорили три необов'язкові параметри, присутні у всіх трьох формах команди: LOW_PRIORITY, DELAYED і IGNORE.

Параметри LOW_PRIORITY і DELAYED використовуються, коли з таблицею працює велике число користувачів. Вони наказують встановлювати пріоритет даної операції перед операціями інших користувачів. Якщо указується ключове слово LOW_PRIORITY, то виконання даної команди INSERT буде затримано до тих пір, поки інші клієнти не завершать читання цієї таблиці. В цьому випадку клієнт повинен чекати, поки дана команда вставки не буде завершена, що у разі інтенсивного використовування таблиці може зажадати значний час. В протилежність цьому команда INSERT DELAYED дозволяє даному клієнту продовжувати операцію зразу ж, незалежно від інших користувачів.

Якщо в команді INSERT указується ключове слово IGNORE, то всі рядки, що мають ключі PRIMARY або UNIQUE, що дублюються, в цій таблиці, будуть проігноровані і не внесені в таблицю. Якщо не указувати IGNORE, то дана операція вставки припиняється при виявленні рядка, що має значення існуючого ключа, що дублюється.


9 Оператор update

Синтаксис:

UPDATE [LOW_PRIORITY] [IGNORE] ім’я_таблиці

SET ім’я_столбца1=вираз1 [, ім’я_столбца2=вираз2 ...]

[WHERE where_definition]

[LIMIT число]

Оператор UPDATE оновлення значення існуючих стовпців таблиці відповідно до введених значень. У виразі SET указується, які саме стовпці слід модифікувати і які величини повинні бути в них встановлені. У виразі WHERE, якщо воно присутнє, задається, які рядки підлягають оновленню. В решті випадків обновляються всі рядки. Якщо заданий вираз ORDER, то рядки обновлятимуться у вказаному в ньому порядку.

Якщо указується ключове слово LOW_PRIORITY, то виконання даної команди UPDATE затримується до тих пір, поки інші клієнти не завершать читання цієї таблиці.

Якщо указується ключове слово IGNORE, то команда оновлення не буде перервана, навіть якщо виникне помилка дублювання ключів. Рядки, через які виникають конфліктні ситуації, оновлені не будуть.

Якщо у виразі, який задає нове значення стовпця, використовується ім'я цього поля, то команда UPDATE використовує для цього стовпця його поточне значення. Наприклад, наступна команда встановлює стовпець death_date в значення, на одиницю більше його поточної величини:

mysql> UPDATE Persons SET death_date=death_date+1;

У версії MySQL 3.23 можна використовувати параметр LIMIT #, щоб переконатися, що була змінена тільки задана кількість рядків.

Наприклад, така операція замінить в першому рядку нашої таблиці експонатів назву title на рядок "Лампова ЕОМ":

mysql> UPDATE Artifacts SET title='Лампова ЕОМ' Limit 1;

10 Оператор delete

Оператор DELETE видаляє з таблиці ім’я_таблиці рядки, що задовольняють заданим в where_definition умовам, і повертає число видалених записів.

Якщо оператор DELETE запускається без визначення WHERE, то віддаляються всі рядки.

Синтаксис:

DELETE [LOW_PRIORITY] FROM ім’я_таблиці

[WHERE where_definition]

[LIMIT rows]

Наприклад, наступна команда видалить з таблиці Persons всі записи, у яких поле "рік народження" ( bday ) більше 2003:

mysql> DELETE FROM Persons WHERE bday>2003;

Видалити всі записи в таблиці можна ще і за допомогою такої команди:

mysql> DELETE FROM Persons WHERE 1>0;

Але цей метод працює набагато повільніше, ніж використовування тієї ж команди без умови:

mysql> DELETE FROM Persons;

Специфічна для MySQL опція LIMIT для команди DELETE указує серверу максимальну кількість рядків, які слід видалити до повернення управління клієнту. Ця опція може використовуватися для гарантії того, що дана команда DELETE не зажадає дуже багато часу для виконання.


Смотрите также файлы