История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2017-07-01 | 300 |
5.00
из
|
Заказать работу |
|
|
Если нужно хранить данные, для которых не хватит 255 символов столбца типа char или varchar, вам понадобится один из текстовых типов.
Tinytext 255
Text 65 535
Mediumtext 16 777 215
Longtext 4 294 967 295
Выбирая тот или иной текстовый тип, необходимо помнить следующее:
• Если размер данных, загружаемых в текстовый столбец, превышает максимальный размер для этого типа, не поместившиеся данные отсекаются.
• В отличие от столбца типа varchar, при загрузке данных в такой столбец пробелы в конце строки не удаляются.
• При использовании столбцов типа text для сортировки или группировки используются только первые 1024 байта, хотя при необходимости это ограничивающее значение можно увеличить.
• Разные текстовые типы присущи исключительно MySQL. У SQL Server для больших символьных данных есть только один тип text, а в DB2 и Oracle применяется тип данных под названием clob (Character Large Object, большой символьный объект). При создании столбца для данных произвольного форм
Примеры:
Сокращенные названия государств
Индекс города
Фамилия человека
Описание товара
Хранения отзыва о компании
Названия месяцев
Столбец, являющийся индикатором поставки заказа покупателю
Первичный ключ для таблицы транзакций, генерируемый системой
Номер позиции в клиентской электронной корзине для покупок
Данные позиционирования сверлильного станка для печатных плат
Дата будущего события, например доставки заказа покупателю
Фактическая дата доставки заказа покупателю
Дата и время изменения пользователем определенной строки таблицы
Дата рождения сотрудника
Время, необходимое для монтажа электропроводки в автомобиле на сборочном конвейере
|
MySQL - это система управления реляционными базами данных.
Программное обеспечение MySQL - это ПО с открытым кодом.
Большинство реляционных баз данных, за исключением MS Access, состоят из двух отдельных компонентов: «back-end», где хранятся данные и «front-end» — пользовательский интерфейс для взаимодействия с данными. Этот тип конструкции достаточно умный, так как он распараллеливает двухуровневую модель программирования, которая отделяет слой данных от пользовательского интерфейса и позволяет сконцентрировать рынок ПО непосредственно на улучшении своих продуктов. Эта модель открывает двери для третьих сторон, которые создают свои приложения для взаимодействия с различными базами данных.
MySQL – это сервер, для работы с сервером имеется консольный клиент mysql.
В Интернете каждый может найти много продуктов для разработки и администрирования баз данных MySQL. Приведу примеры самых распространенных инструментов разработки:
MySQL Workbench
Navicat
PHPMyAdmin
DbForge Studio for MySQL
Нет смысла изучать какую-то одну из этих программ. Если вы изучите команды языка SQL, то сможете работать в любой среде. Поэтому мы будем учиться писать команды и запросы в консоли. Но для удобства иногда будем использовать MySQL Workbench.
Немного поговорим о консоли. Она входит в поставку. Она умеет практически все, что нужно для создания и администрирования БД.
Особенности работы в консоли:
Окончание команды обозначается точкой с запятой. Команды могут писаться через энтер, как только прошла точка с запятой, так значит команда пошла на выполнение. Команду можно закончить и по другому: \g – выводит как таблицу. или \G – выводит в виде списка.
Если ошиблись, то отменять команду: \с или clear
Все команды можно увидеть набрав команду help.
Команды могут быть буквенными либо в сокращенном виде.
\t \T – автоматом пишется в файле или отключает запись в файл.
Source (\.) – прогон команд из файла.
Комментарии пишут следующим образом:
|
-- одну строку закомментировать
/* */ - блок комментарий.
# - тоже однострочный комментарий.
Посмотрим в консоли команды:
SELECT user, password FROM mysql.user;
SELECT now();
SHOW DATABASES;
Примеры:
CREATE DATABASES module3;
CREATE DATABASES module 3; //ошибка
CREATE DATABASES `module 3`; //нет ошибки
CREATE DATABASES IF NOT EXISTS module3; //если не существует, то создать
DROP DATABASES `module 3`;
CREATE DATABASES IF NOT EXISTS module3; //если не существует, то удалить
USE module3; //использовать базу данных
Создание таблиц.
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement]
CREATE TABLE устанавливает новую таблицу, ее столбцы и ограничения целостности в существующей базе данных. Пользователь, который создает таблицу, становится владельцем таблицы и получает полные привилегии для этого, включая возможность предоставления (GRANT) привилегий другим пользователям, триггерам, и сохраненным процедурам.
CREATE TABLE поддерживает несколько опций для определения столбцов:
Предложение COLLATE позволяет указать специфический порядок сортировки для типов данных CHAR, VARCAHR и BLOB-текст. Выбор порядка сортировки ограничен теми, которые поддерживаются для данной кодировки столбца, это или кодировка по умолчанию для базы данных в целом или другая установленная в предложении CHARACTER SET как часть определения типа данных. Смотри Language Reference, чтобы получить полный список возможных сортировок.
|
Атрибут NOT NULL предотвращает ввод NULL или неизвестного значения в столбец.
Ограничения целостности могут быть определены для таблицы, когда она создана. Ограничения целостности это правила, которые контролируют базу данных и ее компоненты, связи типа столбец-таблица и таблица-таблица, и проверку вводимых данных. Они охватывают все транзакции к базе данных и автоматически поддерживаются системой. CREATE TABLE может создавать следующие типы ограничений целостности:
Для не именованных ограничений, система создает уникальное имя, сохраненное в системной таблице RDB$RELATION_CONSTRAINTS.
Обратите внимание: Ограничения не допустимы на выражениях.
[] – необязательно присутствует.
Пример.
Рассмотрим две таблицы. Первая таблица содержит информацию о людях. Вторая об их предпочтениях в еде, т.е. любимые блюда.
PERSON | |
Person_id | Smallint(unsigned) |
fname | VARCHAR(20) |
Iname | VARCHAR(20) |
gender | CHAR(1) |
birth_date | DATE |
И таблицу
Favorite_food | |
Person_id | Smallint(unsigned) |
Food | VARCHAR(20) |
У таблицы person есть первичный ключ (person_id), гарантирующий уникальность. Столбцы person_id и food (блюдо) образуют первичный ключ таблицы favorite_food. Столбец person_id также является внешним ключом к таблице person.
|
Команда создания первой таблицы:
CREATE TABLE person (person_id SMALLINT UNSIGNED,
fname VARCHAR(20),
lname VARCHAR(20),
gender CHAR(1),
birth_date DATE,
CONSTRAINT pk_person PRIMARY KEY (person_id));
В этом выражении должно быть понятно все, кроме последнего элемента. При описании таблицы необходимо сообщить серверу БД, какой столбец или столбцы будут играть роль первичного ключа таблицы. Осуществляется это путем создания ограничения (constraint) для таблицы. В описание таблицы можно добавить ограничение одного из нескольких типов. Данное ограничение является ограничением первичного ключа (primary key constraint). Оно накладывается на столбец person_id и получает имя pk_person. Обычно начинают имена ограничений первичного ключа с приставки pk_, а затем указываю имя таблицы, чтобы при просмотре списка таких ограничений было ясно, чем каждое из них является.
Говоря об ограничении, упомянем еще один тип, который мог бы быть полезным для таблицы person. Некоторым полям можно указать допустимые значения (например 'M' и 'F' для столбца gender). Это другой тип ограничения – проверочное ограничение (check constraint), ограничивающее допустимые значения конкретного столбца. MySQL позволяет вводить в описание столбца проверочное ограничение:
gender ENUM('M','F'),
Если требуется убедиться, что таблица person действительно существует, можно использовать команду describe (описать) (или desc для краткости) и посмотреть описание таблицы.
mysql> DESC person;
Теперь, после создания таблицы person, следующий шаг – создать таблицу favorite_food:
CREATE TABLE favorite_food
(person_id SMALLINT UNSIGNED,
food VARCHAR(20),
CONSTRAINT pk_favorite_food PRIMARY KEY (person_id, food),
CONSTRAINT fk_person_id FOREIGN KEY (person_id)
REFERENCES person (person_id)
);
Это очень похоже на выражение create table для таблицы person, за несколькими исключениями:
• Поскольку у человека может быть несколько любимых блюд (что и стало причиной создания данной таблицы), одного столбца person_id для обеспечения уникальности в таблице недостаточно. Поэтому первичный ключ данной таблицы состоит из двух столбцов: person_id и food.
• Таблица favorite_food содержит другой тип ограничения – ограничение внешнего ключа (foreign key constraint). Оно ограничивает значения столбца person_id таблицы favorite_food, позволяя ему включать только те значения, которые есть в таблице person. При таком ограничении не получится включить в таблицу favorite_food строку, показывающую, что person_id 27 любит пиццу, если в таблице person нет строки со значением 27 для person_id.
просмотр структуры таблицы:
DESC favorite_food;
Команды модификации.
1. Добавление столбца.
ALTER TABLE favorite_food
ADD recipe VARCHAR(200)
2. Модификация столбца.
Изменение столбца невозможно, если:
|
• столбец участвует в ограничениях PRIMARY KEY или FOREGIG KEY;
• на столбец наложены ограничения целостности CHECK или UNIQUE
(исключение – столбцы, имеющие тип данных переменной длины, т.е. типы данных, начинающиеся на var);
• со столбцом связано значение по умолчанию.
ALTER TABLE favorite_food
MODIFY recipe VARCHAR(300) NOT NULL
3. Удаление столбца.
Нельзя удалять столбцы с ограничением целостности CHECK, FOREIGN KEY, UNIQUE или PRIMARY KEY,
а также столбцы, для которых определены значения по умолчанию.
ALTER TABLE favorite_food
DROP COLUMN recipe
4. Переименование столбца
ALTER TABLE favorite_food
CHANGE COLUMN recipe disc VARCHAR(300) NOT NULL;
5.Переименование таблицы
ALTER TABLE favorite_food
RENAME TO Ffavorite_food;
6 Удаление таблицы:
DROP TABLE Ffavorite_food;
|
|
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!