Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы по курсу СЭКрит к экзамену 2011.doc
Скачиваний:
23
Добавлен:
05.08.2019
Размер:
720.9 Кб
Скачать
  1. Сервер баз данных MySql. Создание и модификация таблиц. Запросы на выборку информации.

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

MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.

Краткий перечень возможностей MySQL.

  • Поддерживается неограниченное количество пользователей, одновременно работающих с базой данных.

  • Количество строк в таблицах может достигать 50 млн.

  • Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих.

  • Простая и эффективная система безопасности.

Создание базы данных MySQL (CREATE DATABASE)

Синтаксис команды: CREATE DATABASE database_name

$sql="CREATE DATABASE db_test";

mysql_query($sql);

Создание таблицы в базе данных MySQL (CREATE TABLE)

CREATE TABLE table_name(column_name1 type, column_name2 type,...)

table_name - имя новой таблицы;

column_name - имена колонок (полей), которые будут присутствовать в создаваемой таблице.

type - определяет тип создаваемой колонки.

$sql="CREATE TABLE tel_numb(fio text, address text, tel text)";

mysql_query($sql);

Удаление таблицы из базы данных MySQL (DROP TABLE)

DROP TABLE table_name

$sql="DROP TABLE tel_numb";

mysql_query($sql);

Переименование таблицы (ALTER TABLE RENAME)

ALTER TABLE table_name_old RENAME table_name_new

$sql="ALTER TABLE search RENAME search_en";

mysql_query($sql);

Вставка столбцов (ALTER TABLE ADD)

ALTER TABLE table_name ADD field_name parameters table_name - имя таблицы, в которой будет вставлен новый столбец;

field_name - имя вставляемого столбца;

parametrs - параметры, описывающие вставляемый столбец.

$sql="ALTER TABLE my_frends ADD adress_2 TEXT";

mysql_query($sql);

По умолчанию новый столбец вставляется в конец таблицы. Если необходимо, чтобы столбец встал в начало таблицы, нужно после параметров вставляемого столбца написать ключевое слово FIRST.

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

Если нужно дописать к таблице не один, а несколько столбцов, то для каждого столбца нужно ADD field_name parametrs записать через запятую.

Изменение свойств столбца (ALTER TABLE CHANGE)

ALTER TABLE table_name CHANGE field_name_old field_name_new parameters

$sql="ALTER TABLE my_table CHANGE field_1 field_1 TEXT";

mysql_query($sql);

Удаление столбцов (ALTER TABLE DROP)

ALTER TABLE table_name DROP field_name $sql="ALTER TABLE search DROP id_num";

mysql_query($sql);

Вставка строки в таблицу (INSERT INTO)

INSERT INTO table_name(field_name1, field_name2,...) values('content1', 'content2',...)

Данная команда добавляет в таблицу table_name запись, у которой поля, обозначеные как field_nameN, установлены в значение contentN.

Те поля, которые небыли перечислены в команде вставки, получают "неопределенные" значения (неопределенное значение - это не пустая строка, а просто признак, который говорит MySQL, что у данного поля нет никакого значения).

Надо отметить, что если при создании таблицы поле было отмечено флагом NOT NULL, и оно при вставке записи получило неопределенное значение, то MySQL возвратит ошибку.

При вставке в таблицу бинарных данных (или текстовых, содержащих апострофы и слеши) некоторые символы должны быть защищены обратными слешами, а именно, символы \, ' и символ с нулевым кодом.

Удаление строк из таблицы (DELETE FROM)

DELETE FROM table_name WHERE (выражение)

Данная команда удаляет из таблицы table_name все записи, для которых выполнено выражение.

выражение - это просто логическое выражение.

Обновление записей в таблице(UPDATE)

UPDATE table_name SET field_name1='var1', field_name2='var2',... WHERE (выражение)

Данная команда для всех записей в таблице table_name, удовлетворяющих выражению выражение, устанавливает указанные поля field_nameN в значение varN.

Эту команду удобно применять, если не требуется обновлять не все поля какой-то записи, а нужно обновить только некоторые.

Поиск записей в таблице(SELECT)

SELECT * FROM table_name WHERE (выражение) [order by field_name [desc][asc]]

Эта команда ищет все записи в таблице table_name, которые удовлетворяют выражению выражение.

Если записей несколько, то при указаном предложении order by они будут отсортированы по тому полю, имя которого записывается правее этого ключевого слова (если задано слово desc, то упорядочивание происходит в обратном порядке). В предложении order by могут также задаваться несколько полей.

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

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

В этом параметре задается два значения:

LIMIT start,length

start - указывает, с какой позиции нужно выдавать найденные записи

length - кол-во записей