sql скрипт для заполнения таблицы
SQL Создать новую таблицу
SQL CREATE TABLE
Инструкция CREATE TABLE используется для создания новой таблицы в базе данных.
Синтаксис
Параметры столбцов задают имена столбцов таблицы.
Параметр datatype указывает тип данных, которые может содержать столбец (например, varchar, integer, date и т.д.).
Совет: Для получения обзора доступных типов данных перейдите Справочник Типы данных.
SQL Пример CREATE TABLE
В следующем примере создается таблица «Persons», содержащая пять столбцов: PersonID, LastName, FirstName, Address, и City:
Пример
Столбец PersonID имеет тип int и будет содержать целое число.
Столбцы LastName, FirstName, Address, and City имеют тип varchar и будут содержать символы, а максимальная длина этих полей составляет 255 символов.
Пустая таблица «Persons» теперь будет выглядеть так:
Совет: Пустая таблица «Persons» теперь может быть заполнена данными с помощью инструкции SQL INSERT INTO.
Создать таблицу, используя другую таблицу
Копия существующей таблицы также может быть создана с помощью команды CREATE TABLE.
Новая таблица получает те же определения столбцов. Можно выбрать все столбцы или отдельные столбцы.
Если вы создадите новую таблицу, используя существующую таблицу, новая таблица будет заполнена существующими значениями из старой таблицы.
Синтаксис
Следующий SQL создает новую таблицу под названием «TestTables» (которая является копией таблицы «Customers»):
Как сгенерировать SQL скрипт создания объектов и данных в Microsoft SQL Server?
Привет! Сегодня мы поговорим о том, как можно сгенерировать SQL скрипты создания объектов базы данных Microsoft SQL Server, включая сами данные, стандартными средствами SQL Server Management Studio (SSMS).
Что такое SQL скрипт объекта базы данных?
SQL скрипт объекта базы данных – это SQL инструкция, с помощью которой создается этот объект, сохраненная в текстовом файле.
Такой SQL скрипт можно открыть любым текстовым редактором, скопировать текст SQL запроса и выполнить, например, в среде SQL Server Management Studio, таким образом, создав объект базы данных, не разрабатывая соответствующие SQL инструкции самостоятельно.
Также SQL скрипты можно открыть специальными программами, которые умеют работать с SQL скриптами, и выполнять их на базе данных.
Что могут содержать SQL скрипты?
SQL скрипты объектов базы данных могут содержать:
Для чего могут потребоваться SQL скрипты объектов базы данных?
SQL скрипты объектов базы данных могут потребоваться администраторам или разработчикам, например, для того, чтобы в случае необходимости иметь возможность быстро восстановить эти объекты.
Или для того, чтобы передать эти SQL скрипты другому администратору, разработчику или заказчику, чтобы он создал подобные объекты на своем экземпляре SQL Server.
Таким образом, такие SQL скрипты необходимы для хранения копий SQL инструкций, с помощью которых создавались объекты базы данных.
Как создать SQL скрипт объекта базы данных в Microsoft SQL Server?
Так как SQL скрипт – это обычный текстовый файл, его можно создать вручную, например, когда Вы разрабатываете объект БД, Вы просто сохраняете SQL инструкцию в файл, и добавляете в него по мере необходимости другие SQL инструкции.
Однако также возможно автоматически сгенерировать SQL скрипты объектов базы данных специальными инструментами, например, в среде SQL Server Management Studio (SSMS). А как это делается, я сейчас и покажу.
Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.
Создание SQL скрипта объекта базы данных Microsoft SQL Server
В качестве исходных данных у меня будет база данных TestDB и таблица Goods, SQL скрипт которой мне и нужно создать. При этом мне необходимо, чтобы скрипт включал не только определение инструкции CREATE, но и данные, которые содержит эта таблица.
В качестве инструмента я буду использовать SQL Server Management Studio.
Итак, давайте начнем.
Шаг 1 – Запускаем SSMS
Сначала запускаем среду SQL Server Management Studio любым удобным для Вас способом, иными словами, никаких особых манипуляций с открытием SSMS выполнять не требуется.
Шаг 2 – Запускаем задачу «Сформировать скрипты»
Далее в обозревателе объектов находим нужную нам базу данных, затем открываем контекстное меню правой кнопкой мыши, ищем пункт «Задачи», и выбираем задачу «Сформировать скрипты».
В итоге запустится мастер создания скриптов. В окне «Введение» можем сразу нажать «Далее».
Шаг 3 – Выбираем объекты для включения в SQL скрипт
После этого нам нужно выбрать объекты базы данных, которые необходимо включить в SQL скрипт. При этом нам доступно два варианта:
Так как мне нужно сохранить только одну таблицу, я выбираю второй вариант и отмечаю нужную таблицу, т.е. в моем случае Goods.
Шаг 4 – Задание параметров SQL скрипта
Теперь мы можем указать параметры формирования скрипта, в частности, каким образом мы хотим получить скрипт.
Доступно 3 способа:
Также есть и дополнительные параметры, чтобы их открыть, необходимо нажать на соответствующую кнопку.
В дополнительных параметрах мы можем более тонко настроить принцип формирования SQL скрипта, например, для того чтобы скрипт включал еще и SQL инструкции создания данных, необходимо в параметрах отметить соответствующий пункт, т.е. указать «Схема и данные».
Также Вы можете включить в скрипты инструкции DROP на случай, если Вам нужно пересоздать объекты.
После того как все параметры заданы, нажимаем «ОК», а после для продолжения кнопку «Далее».
Шаг 5 – Проверка параметров и запуск процесса создания скрипта
На данном шаге все проверяем и запускаем сам процесс формирования скрипта, т.е. нажимаем «Далее».
Шаг 6 – Завершение процесса и результат
Когда процесс будет завершен, программа сообщит Вам об этом, нажимаем «Готово».
Если его открыть, например, текстовым редактором, то можно посмотреть на все SQL инструкции. Они будут выглядеть примерно следующим образом.
Видео-инструкция
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Sql скрипт для заполнения таблицы
insert into Customer (ID, Name) values (1, Alex);
insert into Customer (ID, Name) values (2, John);
insert into Customer (ID, Name) values (3, NULL);
| |
locky Member Posted via ActualForum NNTP Server 1.3 | |
22 ��� 05, 20:21����[1903306] �������� | ���������� �������� ���������� |
| |
GreenSunrise Member | |
26 ��� 05, 15:46����[1910540] �������� | ���������� �������� ���������� |
| |
Defiler Member | |
26 ��� 05, 15:56����[1910623] �������� | ���������� �������� ���������� |
| |
Glory Member ������: | ��� �������� ����������� ���� 🙂 |
26 ��� 05, 16:26����[1910817] �������� | ���������� �������� ���������� |
| |
locky Member Posted via ActualForum NNTP Server 1.3 | |
26 ��� 05, 16:33����[1910855] �������� | ���������� �������� ���������� |
| |
Defiler Member | |
11 ��� 09, 11:51����[7521361] �������� | ���������� �������� ���������� |
| |
Uladzimir_Hul Member Declare @TableName varchar(64), Set @SqlStr = ‘SELECT ‘ SET @StrColumns = SUBSTRING(@StrColumns, 1, Len(@StrColumns)-1) SELECT @StrValues = @StrValues + SET @StrValues = SUBSTRING(@StrValues, 1, Len(@StrValues)-6) Итак, мы познакомились с типами данных, теперь будем усовершенствовать таблицы для нашего форума. Сначала разберем их. И начнем с таблицы users (пользователи). В ней у нас 4 столбца: Все значения полей обязательны для заполнения, значит надо добавить тип NOT NULL. id_user int (10) NOT NULL id_user int (10) AUTO_INCREMENT Теперь надо указать, что поле id_user является первичным ключом. Для этого в SQL используется ключевое слово PRIMARY KEY (), в скобочках указывается имя ключевого поля. Внесем изменения: id_user int (10) AUTO_INCREMENT Итак, таблица готова, и ее окончательный вариант выглядит так: create table users ( id_topic int (10) AUTO_INCREMENT Но в модели нашей БД поле id_author является внешним ключом, т.е. оно может иметь только те значения, которые есть в поле id_user таблицы users. Для того, чтобы указать это в SQL есть ключевое слово FOREIGN KEY (), которое имеет следующий синтаксис: FOREIGN KEY (имя_столбца_которое_является_внешним_ключом) REFERENCES имя_таблицы_родителя (имя_столбца_родителя); id_topic int (10) AUTO_INCREMENT Таблица готова, и ее окончательный вариант выглядит так: create table topics ( create table posts ( Обратите внимание, внешних ключей у таблицы может быть несколько, а первичный ключ в MySQL может быть только один. В первом уроке мы удалили нашу БД forum, пришло время создать ее вновь. Помните, если вы сделали что-то не так, всегда можно удалить таблицу или всю БД с помощью оператора DROP. Исправлять что-то в командной строке крайне неудобно, поэтому иногда (особенно на начальном этапе) проще писать запросы в каком-нибудь редакторе, например в Блокноте, а затем копировать и вставлять их в черное окошко. Итак, таблицы созданы, чтобы убедиться в этом вспомним о команде show tables: И, наконец, посмотрим структуру нашей последней таблицы posts: Теперь становятся понятны значения всех полей структуры, кроме поля DEFAULT. Это поле значений по умолчанию. Мы могли бы для какого-нибудь столбца (или для всех) указать значение по умолчанию. Например, если бы у нас было поле с названием «Женаты\Замужем» и типом ENUM (‘да’, ‘нет’), то было бы разумно сделать одно из значений значением по умолчанию. Синтаксис был бы следующий: married enum (‘да’, ‘нет’) NOT NULL default(‘да’) Т.е. это ключевое слово пишется через пробел после указания типа данных, а в скобках указывается значение по умолчанию. Но вернемся к нашим таблицам. Теперь нам необходимо внести данные в наши таблицы. На сайтах, вы обычно вводите информацию в какие-нибудь html-формы, затем сценарий на каком-либо языке (php, java. ) извлекает эти данные из формы и заносит их в БД. Делает он это посредством SQL-запроса на внесение данных в базу. Писать сценарии на php мы пока не умеем, а вот отправлять SQL-запросы на внесение данных сейчас научимся. Для этого используется оператор INSERT. Синтаксис можно использовать двух видов. Первый вариант используется для внесения данных во все поля таблицы: Давайте попробуем внести в нашу таблицу users следующие значения: INSERT INTO users VALUES (‘1′,’sergey’, ‘sergey@mail.ru’, ‘1111’); Второй вариант используется для внесения данных в некоторые поля таблицы: INSERT INTO users (name, email, password) VALUES (‘valera’, ‘valera@mail.ru’, ‘2222’); Если бы у нас были поля с типом NULL, т.е. необязательные для заполнения, мы бы тоже могли их проигнорировать. А вот если попытаться оставить пустым поле со значением NOT NULL, то сервер выдаст сообщение об ошибке и не выполнит запрос. Кроме того, при внесении данных сервер проверяет связи между таблицами. Поэтому вам не удастся внести в поле, являющееся внешним ключом, значение, отсутствующее в связанной таблице. В этом вы убедитесь, внося данные в оставшиеся две таблицы. Но прежде внесем информацию еще о нескольких пользователях. Чтобы добавить сразу несколько строк, надо просто перечислять скобки со значениями через запятую: Теперь давайте попробуем внести еще одну тему, но с id_author, которого в таблице users нет (т.к. мы внесли в таблицу users только 5 пользователей, то не существует): Сервер выдает ошибку и говорит, что не может внести такую строку, т.к. в поле, являющемся внешним ключом, стоит значение, отсутствующее в связанной таблице users. Теперь внесем несколько строк в таблицу posts (сообщения), помня, что в ней у нас 2 внешних ключа, т.е. id_author и id_topic, которые мы будем вносить должны присутствовать в связанных с ними таблицах: Видеоуроки php + mysqlЕсли этот сайт оказался вам полезен, пожалуйста, посмотрите другие наши статьи и разделы. Создание таблицы в SQLДля создания таблиц используется оператор CREATE TABLE. Для примера используем ранее созданные таблицы. Используем следующие правила: Название таблицы может быть написано и без кавычек, так как состоит из одного слова. Поле name будет строковым, ограничим его в 25 символов ( VARCHAR(25) ), поле тоже обязательно для заполнения, поэтому добавим NOT NULL : `name` VARCHAR(25) NOT NULL, `zarplata` INT(11), `premia` INT(11), После перечисления всех полей указываем ключевое поле: Получаем код создания таблицы teachers : CREATE TABLE `teachers` ( `id` INT(11) NOT NULL, `name` VARCHAR(25) NOT NULL, `zarplata` INT(11), `premia` INT(11), PRIMARY KEY (`id`) ); Проверить результат можно в сервисе онлайн визуализации схемы базы данных https://dbdesigner.net/, указания по работе с сервисом можно прочитать здесь. Для заполнения таблицы данными используется оператор INSERT языка SQL. Обновление таблиц: удаление и добавление полейALTER TABLE teachers ADD phone CHAR (20); Протестируем в сервисе http://sqlfiddle.com/ (инструкция по использованию сервиса здесь). select * from teachers; ALTER TABLE teachers DROP COLUMN phone CREATE TABLE `teachers` ( `id` INT(11) NOT NULL, `name` VARCHAR(25) NOT NULL, `zarplata` INT(11), `premia` INT(11), `phone` char(20), PRIMARY KEY (`id`) ); ALTER TABLE teachers DROP COLUMN phone; INSERT INTO teachers VALUES (1, ‘Иванов’,10000,500), (2, ‘Петров’,15000,1000), (3, ‘Сидоров’,14000,800), (4,’Боброва’,11000,800);
|