среда, 10 февраля 2010 г.

Создание таблицы в SQL

Сегодня я снова возвращаюсь к теме баз данных, и мы будет учиться создавать таблицы на языке SQL. Это довольно просто, если не вникать в глубокие подробности.

Рассмотрим такую простую таблицу, как список имён и фамилий.



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

Таблицу можно редактировать вручную. Добавьте несколько строк и попробуйте это сделать. А теперь приступим к сохранению таблицы в базу данных.



Схема тоже несложная. Но для начала вам нужно добавить несколько строк в таблицу и заполнить их. Когда вы нажмёте «Сохранить», то появится окно для ввода имени таблицы. Именно таблицы, а не самой базы данных. Указывайте только на латинице.

Потом выберите в диалоге имя уже самой базы (файла) для сохранения. При этом БД будет открыта, хотя самого файла ещё нет. Он создаётся дальше. Наверняка вы заметили, что компонент для работы с SQLite уже другой. Он находится в группе «Data Source» вкладки «Базы данных». Я использую его потому, что он поддерживает технологию менеджеров, то есть беспроводной связи. Но можно использовать и тот, что я показывал в прошлых статьях.

После этого приступаем к выполнению запроса SQL. Здесь используется компонент DSC_Exec - запрос на выполнение, а не просто запрос к базе данных, но это здесь не имеет значения. Отличие компонентов для простого запроса и запроса на выполнение лишь в том, что при простом запросе выдаются полученные столбцы и строки таблицы, а в запросе на выполнение соответствующих точек нет. А сам запрос будет выполняться в любом из этих компонентов (но понятно, что из компонента запроса на выполнение извлечь данные не удастся, так что если нужно получить данные, то используется компонент для простого запроса, а если записать - любой компонент).


CREATE TABLE %1 (number int, firstname char, lastname char)
CREATE TABLE - создаёт новую таблицу, имя которой указывается вместо %1. В скобках пишутся имена столбцов (полей), а через пробел - тип (int - число, char - строка).

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

INSERT INTO %1 VALUES (%2, '%3', '%4')
INSERT INTO - вставляет в таблицу с именем %1 новую строку, а значения для ячеек указываются после VALUES в скобках через запятую. Обратите внимание, что для числовой тип в кавычки брать не надо, а строки - надо.



Ну а здесь реализуется чтение. Так как столбцы в таблице уже есть, то новые мы не добавляем, а добавляем лишь записи-строки.

Конечно, это довольно простые примеры, а на самом деле существует много настроек таблиц, индексы и т. д. Но для одной статьи это было бы слишком много.






Электронная коммерция - блог об электронной коммерции, продвижениии сайта, SEO. Много интересных статей.

Компания Almacor предлагает профессиональный нейминг для вашей продукции, соответствующий важнейшим требованиям нейминга.

Избавиться от проблем со здоровьем и красотой поможет мезотерапия - микроинъекции с помощью тончайшей иглы, которые действуют только на выбранный участок, а не весь организм.

3 комментария:

  1. В примере показано, что таблица создаётся при сохранении в файл. А если нужно сохранить нескольк раз, то каждый раз будет создаваться новая таблица?

    ОтветитьУдалить
  2. Здесь схема для одноразового использования. В ней даже после сохранения нет отключения от базы данных. Поэтому второй раз сохранять здесь не целесообразно. В следующем посте сделана более совершенная схема, там всё сохраняется автоматически.

    ОтветитьУдалить
  3. По SQL Бояров крутые уроки даёт - https://www.youtube.com/playlist?list=PLvItDmb0sZw_NDm3pDMQ4_9bV_zKzBmNv

    ОтветитьУдалить