
- •9. Функции в php: синтаксис, примеры
- •10. Работа с файлами/каталогами (права доступа и атрибуты файлов) в php
- •11. Основы объектно-ориентированного программирования
- •12. Генерация изображения с помощью php
- •Заголовок. Он же header. Создание изображения
- •13. Наследование и виртуальные методы
- •14. Классы в php
- •15 Модель mvc Модель-Представление-Контроллер (mvc)
- •16. Сессии и cookie в php
- •17 Типы данных MySql
- •18. Выборка определенных строк в MySql. Операторы select, insert, update: синтаксис, условия, маски.
- •Синтаксис оператора select
- •6.4.1 Синтаксис оператора select
- •20 Изменение структуры таблиц, удаление таблиц
- •21. Php и MySql: связь с базами данных
- •Пример 1
- •22 Php и MySql. Извлечение информации из базы данных.
16. Сессии и cookie в php
Сессии и cookies предназначены для хранения сведений о пользователях при переходах между несколькими страницами. При использовании сессий данные сохраняются во временных файлах на сервере. Файлы с cookies хранятся на компьютере пользователя, и по запросу отсылаются браузером серверу. Использование сессий и cookies очень удобно и оправдано в таких приложениях как Интернет-магазины, форумы, доски объявлений, когда, во-первых, необходимо сохранять информацию о пользователях на протяжении нескольких станиц, а, во-вторых, своевременно предоставлять пользователю новую информацию.
17 Типы данных MySql
MySQL — реляционная СУБД, которая поддерживает несколько типов данных, которые можно разделить на три категории: числовые данные, дата и время, и данные типа строка. Для более подробной информации смотрите руководство по MySQL.
18. Выборка определенных строк в MySql. Операторы select, insert, update: синтаксис, условия, маски.
Синтаксис оператора select
6.4.1 Синтаксис оператора 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]
[PROCEDURE procedure_name]
[FOR UPDATE | LOCK IN SHARE MODE]]
SELECT применяется для извлечения строк, выбранных из одной или нескольких таблиц. Выражение select_expression задает столбцы, в которых необходимо проводить выборку. Кроме того, оператор SELECT можно использовать для извлечения строк, вычисленных без ссылки на какую-либо таблицу. Например:
mysql> SELECT 1 + 1;
-> 2
Синтаксис оператора INSERT
table_name [[AS] alias] [USE INDEX (key_list)] [IGNORE INDEX (key_list)]
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES (expression,...),(...),...
или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)]
SELECT ...
или INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name
SET col_name=expression, col_name=expression, ...
Оператор INSERT вставляет новые строки в существующую таблицу. Форма данной команды INSERT ... VALUES вставляет строки в соответствии с точно указанными в команде значениями. Форма INSERT ... SELECT вставляет строки, выбранные из другой таблицы или таблиц. Форма INSERT ... VALUES со списком из нескольких значений поддерживается в версии MySQL 3.22.5 и более поздних. Синтаксис выражения col_name=expression поддерживается в версии MySQL 3.22.10 и более поздних.
Синтаксис оператора UPDATE
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2, ...]
[WHERE where_definition]
[LIMIT #]
Оператор UPDATE обновляет столбцы в соответствии с их новыми значениями в строках существующей таблицы. В выражении SET указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE, если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки. Если задано выражение ORDER BY, то строки будут обновляться в указанном в нем порядке.
Узнаем, какие условия можно задавать, используя ключевое слово WHERE.
Оператор = (равно)
Пример: SELECT * FROM topics WHERE id_author=4;
> (больше)
Пример: SELECT * FROM topics WHERE id_author>2;
< (меньше)
Пример: SELECT * FROM topics WHERE id_author<3;
>= (больше или равно)
Пример: SELECT * FROM topics WHERE id_author>=2;
<= (меньше или равно)
Пример: SELECT * FROM topics WHERE id_author<=3;
!= (не равно)
Пример: SELECT * FROM topics WHERE id_author!=1;
IS NOT NULL
Пример: SELECT * FROM topics WHERE id_author IS NOT NULL;
IS NULL
Пример: SELECT * FROM topics WHERE id_author IS NULL; Empty set - нет таких строк.
BETWEEN (между)
Пример: SELECT * FROM topics WHERE id_author BETWEEN 1 AND 3
IN (значение содержится)
Пример: SELECT * FROM topics WHERE id_author IN (1, 4);
NOT IN (значение не содержится)
Пример: SELECT * FROM topics WHERE id_author NOT IN (1, 4);
LIKE (соответствие)
Пример: SELECT * FROM topics WHERE topic_name LIKE 'вел%';
Возможные метасимволы оператора LIKE будут рассмотрены ниже.
NOT LIKE (не соответствие)
Пример: SELECT * FROM topics WHERE topic_name NOT LIKE 'вел%';
19. Создание таблиц в mysql.
Для создания таблиц в SQL существует оператор create table. Создание базы данных имеет следующий синтаксис:
create table имя_таблицы (имя_первого_столбца тип, имя_второго_столбца тип, ..., имя_последнего_столбца тип );
Итак, мы создали таблицу topics (темы) с тремя столбцами:
id_topic int - id темы (целочисленное значение),
topic_name text - имя темы (строка),
id_author int - id автора (целочисленное значение). show databases - показать все имеющиеся БД,
show tables - показать список таблиц текущей БД (предварительно ее надо выбрать с помощью оператора use),
describe имя_таблицы - показать описание столбцов указанной таблицы.
Следующий пример создает таблицу users с 3 полями, где первое поле - уникальный идентификатор записи, второе поле - имя пользователя, а третье поле - его возраст: