Базы данных MySQL

Нижегородский Технический Университет  им. Р.Е. Алексеева

 

 

 

 

 

Пояснительная записка к курсовой работе

«Базы данных MySQL»

Дисциплина: «Информационные технологии»

 

 

 

Выполнили:

Студнеты группы 09-СБК

Игнатьев А. А.

Зуйков Д.

Проверила:

Федюшкина Т.

 

 

 

 

 

Н. Ногород 2011г.

Содержание:

  1. Установка сервера MySQL.
  2. Настройка и запуск сервера MySQL.
  3. Нормализация объектов в MySQL.
    1. Первая нормальная форма.
    2. Вторая нормальная форма.
    3. Третья нормальная форма.
  4. Идентификация и типы данных в MySQL.
    1. Идентификация записей в СУБД.
    2. Типы данных в MySQL.
  5. Движки MySQL, как технология хранения информации.
  6. Создание базы данных MySQL.
    1. Перед стартом.
    2. Подключение к серверу.
    3. Создание базы данных.
    4. Удаление базы данных.
    5. Выбор рабочей БД.
  7. Создание таблиц в БД MySQL.
    1. Создание таблиц.
    2. Изменение структуры таблицы.
    3. Клонирование структуры таблицы.
    4. Удаление таблицы.
  8. Добавление записей в таблицу БД .
  9. Выполнение запросов.
  10. Литература

 

 

 

       

 

 

 

 

  1. Установка сервера MySQL

База данных служит для  хранения информации на сервере и в любых других структурах и отраслях, где возможен какой-либо свод однородной и однотипной информации.

Последнюю версию MySQL сервера можно скачать на официальном сайте разработчика: mysql.com. Дистрибутив поставляется в стандартном инсталляционном пакете MSI.

Шаг 1: После того, как Вы скачали и запустили инсталлятор, появится окно приветствия. Нажимаем Next

Шаг 2: Устанавливаем флажок «I accept the terms in the license agreement» - Я соглашаюсь с представленным лицензионным соглашением. Нажимаем Next.

Шаг 3: Инсталлятор предлагает выбрать тип установки. Для детальной настройки выбираем “Custom”. Нажимаем Next

Шаг 4: Указываем путь установки в папку C:\SERVER\MySQL. Далее выбираем в иерархическом списке пункт Server data files и ему тоже указываем путь установки C:\SERVER\MySQL. Нажимаем Next

Шаг 5: Все готово к установке. Нажимаем Install

Шаг 6: Всё, сервер установлен. Флажок «Launch the MySQL instance Cofiguration Wizard» переводится как «Запустить мастер настройки сервера»

 

 

 

 

 

 

 

 

 

 

 

 

  1. Настройка и запуск сервера MySQL

Шаг 1: После запуска “MySQL Server Instance Config Wizard”, появится окно приветствия. Нажимаем Next

 

Шаг 2: Далее мастер предлагает выбрать тип настройки, выбираем “Detailed Configuration” – Детальная натсройка. Нажимаем Next

Шаг 3: На текущем этапе, помощник спрашивает, в каком объеме будут использоваться ресурсы машины на сервер.

► Developer Machine - Машина разработчика (минимальный затрат ресурсов).

► Server Machine - Серверная машина (средний затрат ресурсов).

► Dedicated MySQL Server Machine - Выделенный сервер (максимальный затрат ресурсов).

Выбираем "Developer Machine". Нажимаем Next.

 

Шаг 4: На текущем этапе, мастер просит указать, какие движки баз данных следует установить.

► Multifunctional Database - Все движки.

► Transactional Database Only - Только транзакционные движки (например InnoDB).

► Non-Transactional Database Only - Только не транзакционные движки (например MyISAM).

Выберем "Multifunctional Database". Нажимаем Next.

Шаг 5: Мастер просит указать путь хранения самих данных базы, для движка InnoDB. На больших серверах, как правило принято сами данные хранить отдельно от сервера.

Т.к. для разработки веб  приложений не требуется большие  базы данных, можно хранить все  в папке MySQL (и данные и сам сервер).

Выбираем “Installation Path” – Инсталляционный путь. Нажимаем Next

Шаг 6: Выбираем тип соединения клиентов с сервером баз данных:

► Decision Support (DSS)/OLAP - Аналитическая обработка запросов в реальном времени.

► Online Transaction Proccessing OLTP - Обработка транзакций в реальном времени.

► Manual Setting - Указать количество соединений.

OLAP рассчитан на сложные запросы по работе с большим объемом информации, такие операции могут занимать много времени и затрачивать много ресурсов компьютера. В то время как OLTP рассчитан на быструю вставку информации в базу данных и затрачивает минимум ресурсов и идеально подходит для web-разработчиков. Выбираем OLTP. Жмем Next.

 

Шаг 7: “Enable TCP\IP Networking” позволяет осуществлять соединение с БД по протоколу TCP\IP. Ставим флажок «Add firewall exception for this port» - Добавление порта как исключение для фаерволла Windows. Стандартный порт 3306.

«Enable Strick Mode» – Позволяет  установить жесткий контроль к синтаксису SQL. Ставим флажки и нажимаем Next.

 

Шаг 8: Выбираем кодировку, в которой сервер будет хранить данные:

► Standart Character Set - Стандартная кодировка latin1.

► Best Support For Multilingualism - Наилучшая многоязыковая поддержка UTF-8.

► Manual Selected Default Character Set - Самостоятельно указать кодировку.

Если выбрать 1-й пункт, то сервер сможет хранить у себя только латиницу (английский, французский, немецкий и т.д.), русские символы при неправильной настройке кодировки соединения, могут выводиться как "??????". 3-й пункт позволяет выбрать самостоятельно кодировку. Во 2-м пункте, сервер будет настроен на кодировку UTF-8, которая поддерживает абсолютно все языки мира, выбираем 2-й пункт и нажимаем Next.

 

Шаг 9: Ставим флажок «Install As Windows Service» - Установить службу Windows. Имя службы указываем например «MySQL». Если установлен флажок «Запускать сервер автоматически», то сервер MySQL будет запускаться при загрузке Windows (Изменить режим запуска можно в панели управления в «Службах»). Ставим флажок «include Bin Directory in Windows PATH», это позволит выполнять команды к серверу прямо из командной строки Windows.

 

Шаг 10: Устанавливаем пароль для главного пользователя. Флажок «Enable root access from remote machines» - «включить доступ гланого пользователя с удаленных машин» устанавливать не стоит, т.к. это противоречит политике безопастности. Флажок «Create An Anoymous Account» - «Создать анонимный аккаунт» так же не устанавливаем, т.к. не это не нужно. Нажимаем Next.

 

Шаг 11: Все готово для установки настроек. Нажимаем Exeсute

 

Шаг 12: Готово. Конфигурационный файл создан (в пункте “Write configuration file” указан его путь). Сервер успешно запущен. Настройки безопасности успешно применены

Сервер  MySQL может быть запущен и остановлен через командную строку Windows.

Для запуска команда net start mysql

Для остановки - net stop mysql

 

  1. Нормализация объектов в MySQL

Нормализация БД - один из важнейших этапов при проектировании базы данных. Нормализация - это проектирование базы данных так, чтобы она была компактной и не несла логическую избыточность. Это своего рода правила проектировки БД. Всего несколько разновидностей нормализации, так называемые нормальные формы, их порядка ~6-7. Все они идут в порядке усложнения от простого. Все рассматривать не будем, т.к. для проектировки приложений достаточно, чтобы база данных отвечала второй нормальной форме, максимум третьей.

3.1 Первая нормальная форма:

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

Т.е.: одно поле - одно значение.

Пример таблицы, которая не атамарна, а значит и не отвечает правилам первой нормальной формы:

1. Если у нескольких  товаров одинаковая цена, то для  каждого товара должна быть  отдельная запись.

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

3. Часто операторы БД  пишут цену с пробелом в качестве разделения числового разряда. Это не правильно, потому что для базы это совершенно два разных значения, причем если поле будет с типом int, то база выдаст ошибку.

А вот пример той же таблицы, которая атомарна, а значит и отвечает правилам первой нормальной формы:

 

3.2 Вторая нормальная форма:

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

Вот пример таблицы, вышеупомянутой таблицы, находящийся во второй нормальной форме:

1. Таким образом, в таблице  для каждого товара мы пишем не названия склада, а указываем его первичный ключ именуемый как ID. А сами названия складов выносим в отдельную таблицу.

2. Исходя из пункта  №1 можно сделать вывод, что  наличие первичного ключа, у  всех таблиц обязательно.

Это самый популярный способ проектирования БД. Условно предположим, что у Вас на предприятии поменялось название склада, Вам необходимо будет  сделать всего лишь одно исправление в таблице "Склады", а не править несколько тысяч записей. А это пришлось бы делать, если бы в каждом поле "Склад", название его было бы прописано в ручную. Вот таким образом мы и произвели отделение полной функциональной зависимости (складов) в отдельную таблицу.

 
3.3 Третья нормальная форма:

Объект базы данных находится  в третьей нормальной форме тогда, когда он находится во второй нормальной форме и отсутствуют транзитивные зависимости не ключевых объектов от ключевых.  Транзитивная зависимость - это очевидная зависимость между полями. Если поле  А равно "чему то", то поле Б обязательно будет равно "вот этому" и никак иначе. А если поле  Б равно "вот этому", то тогда поле "С" будет равно "другому" и никак иначе. Вот такой зависимости между объектами быть не должно.

Предположим, что в таблице "Склады" добавилась информация об их адресах (добавлены столбцы "Город" и "Почтовый индекс"):

В данном примере есть транзитивная зависимость, а именно это поля "Город" и "Индекс". Если индекс равен 630423, то мы уже знаем, что это явно Новосибирск  и никак иначе, других городов  с таким индексом нет. Вот это  и есть транзитивная зависимость  от которой необходимо избавляться, путем разбиения ее на отдельные  таблицы.

В конечном итоге, наша таблица  складов разбилась на 2 таблицы и полностью отвечает правилам третьей нормальной формы:

В таблице "Индексы" в качестве первичного ключа используется не ID (суррогатный ключ генерируемый самой системой), а сам номер индекса т.к. он уникален, не может повторяться и не изменяется с течением времени.

  1. Идентификация и Типизация объектов в MySQL

4.1 Идентификация записей в СУБД

Например, у нас есть таблица  с сотрудниками, и в этой таблице  есть несколько записей. Условно  предположим, что на предприятии  работают два сотрудника с фамилиями Петров. Бухгалтер, для начисления зарплаты должен в некой программе выбрать Петрова, и начислить ему з/п. Как сиcтема узнает какому именно Петрову необходимо произвести зачисление? Вот для этого и существует понятие идентификации записи.

В качестве идентификатора записи в таблице, может выступать любое поле однозначно определяющее эту запись и не изменяться с течением времени. Для того же сотрудника таковым полем может являться паспортные данные, ИНН, адрес прописки, номер сотового телефона и пр. Т.е. все то, что уникальное и не повторяется дважды. Такое поле будет называться Первичный ключ (PRIMARY KEY). Как только поле перестает быть уникальным - оно также и перестает быть ключевым и по такому полю идентификация записи невозможна.

Также существует понятие Составной ключ. Это парный ключ, а точнее их комбинация. Например, ФИО человека и его номер паспорта - уникальная комбинация, номер телефона и адрес проживания и т.д.

При разработке любого проекта, в 99% случаев, в качестве первичного ключа используют Суррогатный ключ - ключ, который генерирует сама база данных. Чаще всего - это простые числа от 1 до n (ID). Для большинства задач этого вполне достаточно.

 
4.2 Типы данных в MySQL

Для каждого поля, в котором  будет храниться информация, при его создании, необходимо обязательно указывать его тип данных. Их много: числовые, дробные, строковые, даты, бинарные и пр. Числовые типы данных могут иметь дополнительный параметр UNSIGNED (беззнаковое, только положительные). Рассмотрим наиболее часто используемые при проектировки БД:

 

 

Числовые

TINYINT - Целое. Занимает 1 байт. Хранит значения от -128 до 127.

Если UNSIGNED - от 0 до 255

SMALLINT - Целое. Занимает 2 байта. Хранит значения от -32 768 до 32 767.

Если UNSIGNED - от 0 до 65535

MEDIUMINT - Целое. Занимает 3 байта. Хранит значения от -8 388 608 до 8 388 607.

Если UNSIGNED - от 0 до 16 777 215

INT - Целое. Занимает 4 байта. Хранит значения от -2 147 483 648 до 2 147 483 647.

Если UNSIGNED - от 0 до 4 294 967 295

Положительное число всегда меньше отрицательного на единицу. Эту самую единицу автоматически занимает знак числа. Если Вы точно знаете, что у Вас в поле будет лежать значение только 1 или 0, то такому полю определять тип данных INT  особого смысла нет, вполне хватит TINYINT.

Строковые

CHAR - Хранит длину строки до 255 символов. 1 символ - 1 байт.

VARCHAR - Хранит длину строки до 255 символов. (1 символ - 1 байт) + 1 байт.

TEXT - Хранит длину строки до 65 535 символов. (1 символ - 1 байт) + 2 байта.

MEDIUMTEXT - Хранит длину строки до 16 777 215 символов. (1 символ - 1 байт) + 3 байта.

LONGTEXT - Хранит длину строки до 4 294 967 295 символов. (1 символ - 1 байт) + 4 байта.

2 типа данных CHAR и VARCHAR хранят в себе одинаковое количество  символов, а VARCHAR всегда на 1 байт  занимает больше. CHAR - фиксированная длина строки, а VARCHAR -переменная. На сайте разработчиков MySQL есть вот такая табличка:

Если мы определяем для  поля тип данных CHAR(4), то сколько бы символов мы туда не писали, их там будет ровно 4. Недостающая разница добавляется пробелами. Это разумно использовать при фиксированных величинах: артикул товара, номер паспорта, почтовый индекс, табельный номер сотрудника, номер сотового телефона, которые всегда равны фиксированной длине. Используется достаточно редко. А вот VARCHAR(4), занимает всегда на 1 байт больше, чем туда положили, зато не добавляется пробелами. В этом самом одном байте хранится информация о количестве символов, хранящихся в этом поле. Используется повсеместно: логины, пароли, контактная информация, пути к файлам и т.д.

Дата и время

DATETIME - Хранит дату и время (через пробел) в формате: ГГГГ-ММ-ДД ЧЧ:ММ:СС

Например: 2011-05-25 01:35:12

YEAR - Хранит год в формате: ГГГГ

Например: 2011

DATE - Хранит дату в формате: ГГГГ-ММ-ДД

Например: 2011-05-25

TIME - Как уже не сложно догадаться время в формате: ЧЧ:ММ:СС

Например: 01:35:12

TIMESTAMP - Хранит количество секунд, прошедших с 1 января 1970 года (начало "Эры UNIX-систем") до текущей точки времени.

 

 

  1. Движки MySQL, как технология хранения информации

MySQL предоставляет широкий выбор вариантов хранения информации на сервере. Эти механизмы хранения называются движками или Storage Engine. Основных 7-8, почти все они оптимизированы под OLTP соединения. У каждого движка есть свои неоспоримые плюсы и минусы, на основании которых уже можно и нужно сделать вывод, на каком из них хранить информацию базы данных.

InnoDB

Один их самых популярных используемых движков. Поддерживает почти  весь функционал сервера MySQL. Используется по умолчанию. Данных движок хорошо себя показывает на больших проектах с  высокой нагрузкой. Лимит дискового  пространства 64 Тб.

Особенности:

● Хранит все данных в  одном файле.

Плюсы:

● Поддержка транзакций.

● Поддержка внешних ключей.

● Позволяет управлять  конкурентным доступом с помощью  многоверсионности (MVCC).

● Поддержка блокировок таблиц (LOCK).

● Быстрая выборка (SELECT).

● Индексация полей.

Минусы:

● Не поддерживает полнотекстовый поиск.

 

 

 

MyISAM

Очень популярный движок для web-проектов. Очень быстрая вставка  и изменение записей, за счет отсутствия внешних ключей и транзакций. В  отличии от InnoDB, все данные хранит по отдельности (все базы данных лежат  в папке C:/SERVER/MySQL/Data/, 1 папка - 1 база): файлы с расширением . MYI (MYIndex) содержат индексы полей. Файлы с расширением .MYD (MYData) содержат сами данные. Файлы с расширением .frm (format) содержат структуру таблиц. Чаще всего используется для справочников, Лимит дискового пространства 256 Тб.

Особенности:

● Отсутствует поддержка  транзакций.

● Не поддерживает внешние  ключи.

● Хранит все данные отдельно друг от друга.

Плюсы:

● Поддержка блокировок таблиц (LOCK).

● Быстрая вставка строк (INSERT).

● Быстрое изменение строк (UPDATE).

● Быстрое удаление строк (DELETE).

● Поддержка полнотекстового  поиска.

● Индексация полей.

Минусы:

● Гораздо медленнее производит выборку (SELECT), чем InnoDB, да и многие другие.

● Отсутствует возможность  восстановления данных по журналу.

● Отсутствуют инструменты  резервного копирования.

● Слабая реализация сортировки.

● Риски нарушения стабилизации работы, потери данных.

 

Archive

Этот движок предназначен для хранения редко изменяющихся данных в большом объеме.

Особенности:

● Транзакций нет.

● Отсутствует поддержка  первичного ключа, внешних соответственно тоже.

● Отсутствие индексации, полнотекстовый поиск соответственно.

 

CSV

Comma Separated Values (CSV) - переводится  как данные, разделенные запятыми. Текстовый документ, в котором  построчно записаны строки таблиц  базы, разделенные запятыми. 1 строка  документа - 1 строка таблицы базы  данных.

 
Memory (HEAP)

Данный движок предназначен для создания временных таблиц (TEMPORARY TABLE). Все данные хранит в оперативной  памяти машины, на котором стоит  сервер. Мгновенная скорость работы с  данными. После остановки сервера, все данные теряются.

 
MERGE

Этот движок предназначен для объединения идентичных таблиц MyISAM. Применяется в основном для расчета статистических данных, сводки: например, анализ архивов за несколько лет.

Особенности:

● Наличие идентичной структуры.

● Порядок полей (колонок) должен совпадать.

● Отсутствие полнотекстового  поиска.

 

  1. Создание базы данных MySQL

Работать будем в командной  строке Windows - это самый доступный клиент для БД. Хотя можно использовать и любой другой клиент, например MySQL Workbench, в нем проще работать, но, на мой взгляд, лучше всё делать в ручную.

 
6.1 Перед стартом

Если создать какой-либо объект БД в имени которого содержатся русские символы, можно получить «иероглифы» на выводе на экран в командной строке

Дело в том, что командная строка Windows работает с кодировкой cp866, а сервер отправляет данные в кодировке utf-8.

Открываем конфиг-файл сервера (C:/SERVER/MySQL/my.ini), и в нем есть 3 секции:

[client] - Настройка для всех клиентских программ.

[mysql]- Настройка для командной строки Windows.

[mysqld]- Настройка для самого сервера MySQL.

 
Ищем секцию [mysql], находим там строку:

default-character-set=utf8

и меняем на:

default-character-set=cp866

Сохраняемся, перезапускаем  сервер и командную строку.

 

6.2 Подключение к серверу

Для подключения к БД в  командной строке используется команда:

mysql -uлогин -pпароль

По умолчанию логин root, а пароль тот, что Вы указывали в мастере по настройке сервера. У меня passw0rd.

Открываем командную строку Windows и пишем в:

mysql -uroot –ppassw0rd

После чего будет вот так:

Клиент подсказывает, что признаком концом строки является ; и \g. Именно этими символами и будет оканчиваться каждый запрос. Поэтому сам запрос можно формировать хоть построчно, хоть в одну строку.

Посмотрим, какие базы данных были автоматически созданы на сервере  с помощью команды:

SHOW DATABASES;

information_schema - База данных, которая содержит в себе всю информацию о структуре сервера: все названия таблиц, все названия баз данных, привилегий, индексов, колонок, кодировок и т.д. На самом деле физически это не база данных, просто сервер представляет эти данные как базу данных, чтобы администратор мог пользоваться служебной информацией сервера. mysql - Содержит все настройки сервера MySQL: пользователи, привилегии, часовые пояса, сообщения об ошибках и пр.

test - Пример пустой базы данных.

performance_schema - База данных, содержащая информацию для мониторинга производительности сервера.

 

6.3 Создание базы данных

Самый простой способ создать  пустую БД, надо выполнить запрос к  серверу следующего вида:

CREATE DATABASE [IF NOT EXISTS] имя_базы

В языке SQL все что создается, обычно начинается с CREATE. Необязательный параметр IF NOT EXISTS "Если не существует" будет осуществлять проверку на сосуществование уже имеющейся базы с таким же именем.

 

Выполним запрос:

CREATE DATABASE 09_SBK;

Query OK, 1 row affected (0.01 sec) - Запрос  успешно выполнен, обработан 1 ряд  за 0.01 сек.

Также сервер поддерживает имена с пробелами, только для  этого необходимо само имя заключать  вот в символ: `

Затем посмотрим список созданных БД:

SHOW DATABASES;

 

 

6.4 Удаление базы данных

Удаление объектов в языке SQL, как правило начинается с ключевого слова DROP. Синтаксис удаления БД имеет следующий вид:

DROP DATABASE [IF EXISTS] Имя_БД

Необязательный параметр IF EXISTS, "Если существует" осуществляет удаление только когда БД с указанным именем существует.

Например: чтобы удалить  БД «test_bd» нужно написать запрос

DROP DATABASE test_bd;

 

6.5 Выбор рабочей БД

Чтобы выбрать Базу данных, с которой будем работать выполним запрос

USE 09_sbk;

 

 

 

 

  1. Создание таблиц в БД MySQL

Таблицы являются основным механизмом хранения данных. Задать ее структуру можно напрямую запросом либо на основании выборки (в основном для временного хранения). Основные действия над структурой таблицы: добавление/изменение/удаление колонок, изменение типа данных полей. Над информацией содержащийся в  таблице - вставка/изменение/удаление строк.

 

7.1 Создание таблиц

Общий синтаксис прямого  указания структуры выглядит так:

 

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] <имя_таблицы>

[DEFINITION] [TABLE_OPTIONS] [SELECT_STATEMENT]


Значение в квадратных скобках являются не обязательными.

[TEMPORARY] - если указано ключевое слово TEMPORARY, будет создана временная таблица и она будет удалена после окончания сеанса.

[IF NOT EXISTS] - проверка, на существование таблицы с таким же именем.

[DEFINITION] - указывается структура таблицы: имена и типы данных полей, индексы, ключи и пр.

[TABLE_OPTIONS] - дополнительные атрибуты к таблице, так называемые EXTRA параметры: указание движка, генерация суррогатного ключа и пр.

[SELECT_STATEMENT] - поля и их значения в полученные после выборки SELELCT. Это как раз тот случай создания таблиц на основе запросов.

Cоздадим новую таблицу “Prodav”, которая будет содержать в себе информацию о продавцах выполнив запрос:

mysql> CREATE TABLE prodav

-> (name_prodav char(10), city_prodav char (10), comiss float, cod_prodav int(11));

   

Таблица создана. Чтобы просмотреть ее стурктуру, необходимо выполнить команду DESCRIBE или сокращенно DESC

 

DESCRIBE prodav;


Аналогично создадим и  выведем описание для таблиц “pokup”  и “sale”.

mysql> CREATE TABLE pokup

-> (cod_pokup int(11), name_pokup char(10), city_pokup char(10), rating int(11), cod_prodav int(11));

mysql> DESCRIBE pokup;

mysql> CREATE TABLE sale

->(cod_s int(11), cost_s float, date_s date, cod_pokup int(11), cod_prodav int(11));

mysql> DESCRIBE sale;

 

7.2 Изменение структуры таблицы

Например, в таблице «pokup»  добавим новую колонку phone после колонки name_pokup. Для этого используется команда ALTER:

 

ALTER TABLE pokup ADD phone TINYTEXT NOT NULL AFTER name_pokup;


 

И после этого выполним DESC для просмотра текущей структуры таблицы:

 

7.3 Клонирование структуры таблицы

Для создания полной копии  структуры таблицы в новую, используется оператор LIKE:

 

 

   CREATE TABLE kopia LIKE pokup;


И просмотреть список всех таблиц:

 

SHOW TABLES;


 

7.4 Удаление таблицы

Для удаения таблицы используем оператор DROP TABLE:

 

DROP TABLE kopia;


Клонированная таблица удалена.

 

  1. Добавление записей в таблицу БД

Вариант 1:

 

INSERT INTO <имя_таблицы> (<имя_столбца_1>, <имя_столбца_2>, <имя_столбца_3> ...)     

VALUES (<значение_1>, <значение_2>, <значение_3> ...)


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

При таком способе добавления записей, некоторые поля можно опустить. Не указанные поля будут заполнены  автоматически значением "По-умолчанию". Исключение составляют поля, свойство которых указано NOT NULL т.е. пустым такое поле оставлять нельзя.

 
Вариант 2:

 

INSERT INTO <имя_таблицы> VALUES (<значение_1>, <значение_2>, <значение_3> ...)


К заполнению обязательны  все значения с сохранением последовательности столбцов таблицы и значений соответственно.

 

 

 

 

 

 

Заполним наши таблицы  данными. Сначала заполним таблицу sale

mysql> INSERT INTO sale

-> VALUES (3003, 767, "2005-03-04", 2001, 1001);

mysql> INSERT INTO sale

-> VALUES (3002, 1900, "2006-05-06", 2007, 1004);

mysql> INSERT INTO sale

-> VALUES (3005, 5160, "2006-05-09", 2003, 1002);

mysql> INSERT INTO sale

-> VALUES (3006, 1098, "2006-12-31", 2008, 1007);

mysql> INSERT INTO sale

-> VALUES (3009, 1713, "2005-09-09", 2002, 1003);

Базы данных MySQL