71751

Предикаты раздела WHERE оператора SELECT

Лабораторная работа

Информатика, кибернетика и программирование

Вводит данные в таблицу, заменяя при этом все записи, вызывающие конфликт. Этот оператор аналогичен INSERT за исключением того, что при конфликте нового значения с существующим уникальным ключом новое значение будет записано вместо старого. Первый вариант оператора просто вставит указанные...

Русский

2014-11-11

55 KB

1 чел.

Лабораторная работа №4. Предикаты раздела WHERE оператора SELECT

REPLACE

REPLACE INTO table [(column, ...)] VALUES (value, ....)

REPLACE INTO table [(column, ...)] SELECT select_clause

Вводит данные в таблицу, заменяя при этом все записи, вызывающие конфликт. Этот оператор аналогичен INSERT за исключением того, что при конфликте нового значения с существующим уникальным ключом новое значение будет записано вместо старого. Первый вариант оператора просто вставит указанные значения в указанные поля. Поля, значения которых не определены, получат значение по умолчанию либо NULL. Второй вариант вставляет в таблицу данные, полученные в результате запроса SELECT.

Примеры

# Вставить запись в таблицу 'people'.

REPLACE INTO people ( name, rank, senal_number ) VALUES ( 'Bob Smith', 'Captain', 12345 )

# Скопировать все записи, которые старше определенной даты, из

# таблицы 'data' в таблицу 'old_data'. Обычно за этим следует удаление

# старых записей из 'data'

REPLACE INTO old_data ( id, date, field )

SELECT ( id, date, field) FROM data WHERE date < 87459300

UPDATE

UPDATE table SET column=value, . . . [WHERE clause]

Изменяет данные в таблице. Выражение используется для изменения имеющихся данных без модификации структуры самой таблицы. Можно использовать имя столбца как источник значения value при установке нового значения. Например, UPDATE health SET miles_ran=miles_ran+5 добавит 5 к текущему значению поля miles_ran. Возвращает число измененных записей.

Для выполнения выражения необходимы права UPDATE .

Пример

# Изменить имя 'John Deo' на 'John Doe' во всей таблице 'people'.

UPDATE people SET name='John Doe' WHERE name='John Deo'

SELECT

SELECT [STRAIGHTJOIN] [DISTINCT|ALL] value[, value2...]

[INTO OUTFILE 'filename' delimiters] FROM table[, table2...] [clause]

Выбирает данные из таблицы. Оператор SELECT является основным методом чтения данных из таблиц баз данных.

Если вы укажете несколько таблиц, MySQL автоматически объединит таблицы таким образом, что вы сможете сравнить значения в них. В случае если MySQL недостаточно эффективно выполняет соединение, вы можете указать предикат (ключевое слово) STRAIGHT_JOIN и заставить сервер объединить таблицы в порядке, заданном в запросе. Если указано ключевое слово DISTINCT, будет показана только одна запись из каждой группы одинаковых записей возвращаемого набора. Ключевое слово ALL, напротив, выдаст все возвращенные записи. По умолчанию действует ALL.

Возвращаемые значения могут быть следующего вида:

Aliases

Любые сложные имена столбцов или функций можно упростить, создав для них псевдонимы (alias). Внутри оператора SELECT к значению можно всегда обратиться по его псевдониму с любого места. (Например, SELECT DATE_FORMAT(date, "%W, %M %d %Y") as nice_date FROM calendar .)

Column names

Имена столбцов могут быть определены как column, table.column или database, table.column . Длинные формы необходимы только для того, чтобы отличать столбцы с одинаковыми именами, но их можно использовать в любое время (например, SELECT name FROM people; SELECT mydata.people.name FROM people ).

Если выражение не задано, SELECT вернет все данные из выбранных таблиц (таблицы).

Предложение отбора может содержать любые из следующих подфраз:

WHERE statement

Команда WHERE - это самый обычный способ выборки данных в SQL. Обычно фраза является сравнением какого-либо типа, но также может содержать любые из указанных ниже функций, кроме агрегатных. Также могут быть использованы имена, такие как имена столбцов и псевдонимы, числовые константы и строки. Поддерживаются следующие операторы:

()

Скобки используются для группировки операторов, чтобы указать старшинство.

+

Сложение двух числовых значений.

-

Вычитание двух числовых значений. *

Умножение двух числовых значений.

/

Деление двух числовых значений.

%

Выдает модуль двух числовых значений (определение остатка).

Осуществляет побитовое ИЛИ (OR) двух целочисленных значений.

&

Осуществляет побитовое И (AND) двух целочисленных значений.

<<

Осуществляет побитовый левый сдвиг целочисленного значения.

>>

Осуществляет побитовый правый сдвиг целочисленного значения.

NOT или !

Выполняет логическое НЕ (возвращает 1, если значение было 0, и наоборот).

OR или ||

Выполняет логическое ИЛИ (возвращает 1, если любой из аргу-мещов не равен 0, иначе возвращает 1).

AND или &&

Выполняет логическое И (вернет 0, если хоть один из аргументов равен 0, иначе вернет 1).

=

Выбирает запись, если значения совпадают. При сравнении MySQL автоматически производит преобразование типов.

<> или !=

Выбирает запись, если значения не совпадают.

<=

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

<

Выбирает запись, если левое значение меньше правого.

>=

Выбирает записи, где значение слева от операнда больше или равно правому.

>

Выбирает записи, в которых значение слева от операнда больше правого.

value BETWEEN value1 AND value2

Выбирает записи, если value находится в диапазоне между valuel и value2 или равно одному из них.

value IN (valuel,value2,... )

Выбирает записи, если value находится среди указанных значений.

value NOT IN (value1, value2,.., )

Выбирает записи, если value не находится среди указанных значений.

valuel LIKE value2

Сравнивает value1и value2 и выбирает записи, где они совпадают. Значение справа может содержать знак подстановки ' %', которому удовлетворяет любое число символов (включая 0) и знак '_', заменяющий ровно один символ. Это, возможно, самое употребительное в SQL сравнение. Чаще всего используется сравнение поля с некоторым символом и знаком подстановки (например, SELECT name FROM people WHERE name LIKE 'B%' ).

valuel NOT LIKE value2

Сравнивает valuel и value2 и выбирает записи, где они не совпадают. Команда идентична NOT (valuel LIKE value2).

valuel REGEXP/RLIKE value2

Сравнивает valuel и value2, используя расширенный синтаксис регулярных выражений, и выбирает записи, если они совпадают. Значение справа может содержать полные подстановочные выражения и конструкции Unix (например, SELECT name FROM people WHERE name RLIKE '^B. *').

valuel NOT REGEXP value2

Сравнивает valuel и value2, используя расширенный синтаксис регулярных выражений, и выбирает записи, если они не совпадают. Команда идентична NOT (valuel REXEXP value2).

Предложение WHERE вернет все полученные в выражении значения, которые отличаются от 0 или NULL (т. е. все, что не является логически ложным). Поэтому SELECT age FROM people WHERE age>10 вернет только те записи, где возраст больше 10.

Специальные атрибуты столбцов:

AUTO_INCREMENT

Атрибут позволяет автоматически обновлять числовое поле. Это удобно для создания уникальных идентификаторов для записей в таблице. Данные могут быть записаны и прочитаны из такого поля, как из обычного, но при вводе значения NULL или 0 существующее значение автоматически увеличивается на единицу. Текущее значение поля AUTO_INCREMENT может быть получено с помощью функции LAST_INSERT_ID (см. SELECT ниже).

PRIMARY KEY

Атрибут автоматически делает поле первичным ключом таблицы. Таблица может иметь только один первичный ключ (см. ниже). Любое поле, являющееся первичным ключом, должно иметь атрибут NOT NULL.

RAND ([seed])

Возвращает случайную десятичную дробь от 0 до 1. Если задан аргумент, он используется как источник (seed) для генератора случайных чисел (например, RAND(3) может вернуть 0.435434).

Резервирование и перенос данных Mysql.

Обычная командная строка!

Утилита Mysqldump

Записывает содержимое таблиц в файл в виде sql команд, используется для переноса и резервирование данных.
Основные параметры Mysqldump.


-?

Помощь

-u

Имя пользователя БД. Управление всеми БД –u root

-p

пароль пользователя БД.

-v

Вывод информации

=d

Резервирование только схем таблиц.

-P или--port

Порт для связи

Снятие дампа; mysqldump -u пользователе -p -v название БД > название дампа .sql
водим пароль пользователя Mysql и нажимаем ввод.

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

Используем утилиту mysql, для Windows открываем командную строку . Водим команду
mysql -u Пользователь -p название БД < название дампа .sql

Практические задания.

0. Восстановить базу из дампа.

1. Напишите запрос, позволяющий получить список товаров (название и цена).

2. Напишите запрос, который выведет список клиентов мужского пола

3. Напишите запрос, который выведет список клиентов с фамилиями, идущими в алфавитном порядке после фамилии Perez

4. Выбрать товары стоимостью в диапазоне от 50 до 150 у.е. включительно. Представить 2 варианта запроса: с использованием оператора AND и оператора BETWEEN.

5. Выбрать товары, принадлежащие к группам VITAMIINID (код группы 1) и MINERAALSED LISANDID (код группы 7).

6. Выбрать клиентов, номера телефонов которых начинаются с цифр 990 или 411.

7. Напишите запрос, который выводит список товаров, принадлежащих к группе HAAVANDTOVE RAVIMID (код группы 6), с указанием текущей стоимости и стоимости, уменьшенной на 10%.

8. Подсчитать количество сделок, совершенных в течение года.


 

А также другие работы, которые могут Вас заинтересовать

81521. Последовательность событий на рибосоме при сборке полипептидной цепи. Функционирование полирибосом. Посттрансляционный процессинг белков 111.26 KB
  Каждая эукариотическая мРНК кодирует строение только одной полипептидной цепи т. она моноцистронна в отличие от прокариотических мРНК которые часто содержат информацию о нескольких пептидах т. Кроме того на полицистронных мРНК синтез белка начинается до того как заканчивается их собственный синтез так как процессы транскрипции и трансляции не разделены.
81522. Адаптивная регуляция генов у про- и эукариотов. Теория оперона. Функционирование оперонов 127.06 KB
  Регуляция активности генов у прокариотов. В экспериментах гипотеза оперона получила полное подтверждение а предложенный в ней тип регуляции стали называть контролем синтеза белка на уровне транскрипции так как в этом случае изменение скорости синтеза белков осуществляется за счёт изменения скорости транскрипции генов т. Согласно теории Жакоба и Моно оперонами называют участки молекулы ДНК которые содержат информацию о группе функционально взаимосвязанных структурных белков и регуляторную зону контролирующую транскрипцию этих генов.
81523. Понятие о клеточной дифференцировке. Изменение белкового состава клеток при дифференцировке (на примере белкового состава полипептидных цепей гемоглобина) 105.05 KB
  Дифференцировка клеток определенного типа сводится к экспрессии в них комплекса генов специфичных для данной клеточной линии. Экспрессия этих генов в свою очередь контролируется регуляторными районами гена промоторами и энхансерами. Энхансеры регуляторные районы ДНК расположенные на некотором расстоянии от контролируемых ими генов но в том же локусе хромосомы. Для того чтобы промоторы и энхансеры тканеспецифических генов могли взаимодействовать с ТФ они должны быть открытыми т.
81524. Молекяулрные механизмы генетической изменчивости. Молекулярные мутации: типы, частота, значение 110.08 KB
  Молекулярные мутации: типы частота значение Классификация мутаций Тип мутаций Характер мутационных изменений Примеры последствий Геномный Изменение числа хромосом Болезнь Дауна появление дополнительной хромосомы 21 Хромосомные Общее число хромосом не меняется. Частота мутаций в половых клетках высока. Основные виды генных мутаций Виды мутаций Изменения в структуре ДНК Изменения в структуре белка ЗАМЕНА Без изменения смысла кодона Замена одного нуклеотида в кодоне Белок не изменён С изменением смысла кодона миссенсмутация ...
81525. Генетическая гетерогенность. Полиморфизм белков в популяции человека (варианты гемоглобина, гликозилтрансферазы, группоспецифических веществ и др) 107.01 KB
  Группы крови. Другой важный пример полиморфизма белков связанный с проблемой переливания крови существование в популяции людей 3 аллельных вариантов гена фермента гликозилтрансферазы А В и 0. Антитела к антигенам А и В обычно имеются в сыворотке крови людей на поверхности эритроцитов которых отсутствует соответшвующий антиген т. индивидуумы с антигенами А на поверхности эритроцитов продуцируют в сыворотку крови антитела к Вантигенам антиВ а люди с Вантигенами антитела к антигенам А антиА.
81526. Биохимические основы возникновения и проявления наследственных болезней (разнообразие, распространение) 104.52 KB
  За этой группой следуют белки модулирующие функции белков и участвующие в правильном сворачивании полипептидных цепей. Хорошо изученными наследственными заболеваниями связанными с нарушением синтеза α или βцепей НЬ являются талассемии. Синтез α и βцепей в норме регулируется таким образом что все молекулы протомеров используются на синтез тетрамера α2β2 Талассемии возникают как результат мутаций включающих замены или делеции одного или нескольких нуклеотидов а иногда и целого гена кодирующего структуру одного из протомеров....
81527. Основные системы межклеточной коммуникации: эндокринная, паракринная, аутокринная регуляция 100.4 KB
  По расстоянию от клетки продуцента гормона до клеткимишени различают эндокринный паракринный и аутокринный варианты регуляции. Клеткимишени могут отстоять от эндокринной клетки сколь угодно далеко. Пример: секреторные клетки эндокринных желёз гормоны из которых поступают в систему общего кровотока. Примеры: эндотелины вырабатываемые клетками эндотелия и воздействующие на эти же эндотелиальные клетки; Тлимфоциты секретирующие интерлейкины имеющие мишенями разные клетки в том числе и Тлимфоциты.
81528. Роль гормонов в системе регуляции метаболизма. Клетки-мишени и клеточные рецепторы гормонов 106.94 KB
  Клеткимишени и клеточные рецепторы гормонов Роль гормонов в регуляции обмена веществ и функций. Физиологический эффект гормона определяется разными факторами например концентрацией гормона которая определяется скоростью инактивации в результате распада гормонов протекающего в основном в печени и скоростью выведения гормонов и его метаболитов из организма его сродством к белкампереносчикам стероидные и тиреоидные гормоны транспортируются по кровеносному руслу В комплексе с белками количеством и типом рецепторов на поверхности...
81529. Механизмы передачи гормональных сигналов в клетки 98.08 KB
  По механизму действия гормоны можно разделить на 2 группы. К первой группе относят гормоны взаимодействующие с мембранными рецепторами пептидные гормоны адреналин а также гормоны местного действия цитокины эйкозаноиды. Вторая группа включает гормоны взаимодействующие с внутриклеточными рецепторами.