Joomla портал
seo seo Subscribe
seo
0
seo

Поле comment останется без изменений, как

и поле id.

Совсем другая была бы ситуация, если бы поле id не было ключевым, т. е.

могло содержать повторяющиеся значения. Тогда теоретически в нашей

таблице могло существовать две записи с одинаковым значением этого поля.

Поскольку нам нужно обновить только одну запись, а не все, которые содержат

такое же значение поля id, следует указать дополнительное условие — limit:

UPDATE friends

SET name=fIgorf, [email protected]

WHERE id=l LIMIT 1;

limit задает количество записей, которые будут затронуты в результате

обработки запроса. В этом случае будет изменена одна из записей (обычно

первая попавшаяся). Но что делать, если нам требуется изменить не любую

запись с заданным условием, а конкретную запись? Думаю, вы уже догадались:

мы будем идентифицировать запись по другому полю, например по email:

UPDATE friends

SET name=fIgorf, [email protected]

WHERE [email protected] LIMIT 1;

Понятно, что если запись со значением [email protected] поля email не

будет найдена, то и обновления не произойдет. Для большей точности можно

дополнительно указать поле id:

UPDATE friends

SET name=fIgorf, [email protected]

WHERE (id=l) and ([email protected])

LIMIT 1;

Вот теперь точно будет обновлена нужная запись.

П3.8. Выборка записей

Выборка записей из таблицы выполняется с помощью оператора select.

Синтаксис этого оператора довольно сложный, поэтому рассмотрим его

сокращенную версию:

SELECT список_полей

FROM таблица

[WHERE условие];

Приложение 3. Основы SQL

331

Например:

SELECT *

FROM friends;

В приведенном примере оператор select выведет все записи из таблицы

friends. Вместо списка полей мы указали *, поэтому будут выведены все

поля. Понятно, что в нашей таблице есть поле comment, которое может

содержать большой текст и его вывод, мягко говоря, нежелателен, поэтому

целесообразнее следующий оператор:

SELECT id, name, email »

FROM friends;

Данный оператор также выведет все записи (пока у нас только одна запись) из

таблицы friends, но при этом будут выведены все поля, кроме comment. Чтобы

увидеть поле comment, которое соответствует определенной записи, нам нужно

задать условие оператора select. Предположим, что вам требуется вывести

поле comment для первой записи (обычно ее id будет равен единице):

SELECT comment

FROM friends

WHERE id=l;

Примечание

Полный синтаксис оператора select выглядит так:

SELECT [DISTINCT I ALL] {*| [поле1 AS псевдоним] [,..., полеЫ AS

псевдоним] }

FROM Имя_таблицы1 [,..., Имя_таблицыЫ]

[WHERE условие]

[GROUP BY список полей] [HAVING условие]

[ORDER BY список полей]

О том, как использовать все его возможности, вы узнаете чуть позже.

П3.9. Удаление записей

Условия удаления записи устанавливаются аналогично условиям обновления

записи.

332

Приложения

Удаление записей осуществляется оператором delete:

DELETE

FROM таблица

WHERE условие;

Вот небольшой пример:

DELETE

FROM friends

WHERE id=l;

Данный оператор удаляет первую запись в таблице. Удалить все записи из

таблицы можно, указав оператор:

DELETE

FROM friends;

П3.10. Встроенные функции

В SQL есть встроенные функции, например: count, min, max, avg, sum

(существуют и другие, но эти — самые полезные). Функция count вычисляет число

элементов, min и мах — минимальное и максимальное значения, avg —

среднее значение, a sum — сумму элементов.

Использовать эти функции очень просто. Предположим, что у нас имеется

таблица, созданная следующим оператором create (естественно, будем

считать, что таблицу сразу после создания заполнили реальными данными):

CREATE TABLE books (

bid int auto_increment,

title varchar(50) not null,

autor varchar(50) not null,

price double,

primary key (bid)

);

Следующий оператор выведет число записей в таблице:

SELECT COUNT(*)

FROM books;

Вообще, в этом операторе особого смысла нет, поскольку существует

функция mysqinumrows (), но иногда он тоже может пригодиться.

Приложение 3.

seo
5th Фев 2011
Теги:
seo

Написать ответ

seo
 
Все права защищены © 2023 Joomla портал
 
 
seo