Create sql: Оператор SQL CREATE: примеры, синтаксис
Содержание
Создание базы данных Microsoft SQL Server и подключение к ней с помощью Amazon RDS
На этом шаге с помощью Amazon RDS будет создан инстанс БД Microsoft SQL Server класса db.t2.micro с хранилищем на 20 ГБ и активацией автоматического резервного копирования (срок хранения копий равен одному дню). Напоминаем, что все эти операции доступны на уровне бесплатного пользования.
a) В правом верхнем углу консоли Amazon RDS выберите регион, в котором требуется создать инстанс БД.
Примечание. Ресурсы AWS Cloud расположены в высокодоступных центрах обработки данных по всему миру. Вы можете самостоятельно выбирать регион, в котором будут работать ресурсы Amazon RDS.
б) В разделе создания базы данных выберите Create database.
в) Теперь можно выбрать ядро СУБД. Чтобы выполнить задание этого учебного пособия, щелкните значок Microsoft SQL Server. Выберите SQL Server Express Edition, оставьте указанные по умолчанию версию движка и лицензию без изменений и щелкните на шаблоне Уровень бесплатного пользования.
г) Теперь необходимо настроить инстанс БД. Примените перечисленные ниже настройки конфигурации:
Параметры
- Идентификатор инстанса БД: укажите имя инстанса БД. Оно должно быть уникальным в рамках аккаунта пользователя в выбранном регионе. Введите значение myrdstest.
- Master Username (Главное имя пользователя): укажите имя пользователя для входа в инстанс БД. В данном примере будет использоваться значение masterUsername.
- Master Password (Главный пароль): в качестве главного пароля укажите комбинацию, содержащую от 8 до 41 печатного символа в кодировке ASCII (кроме символов «/», «»» и «@»).
- Подтвердите пароль: введите пароль повторно.
Спецификации инстанса:
- DB Instance Class: выберите значение по умолчанию db.t2.micro — 1 vCPU, 1 GIB RAM. Это значение соответствует памяти объемом 1 ГБ и одному виртуальному ЦП. Список поддерживаемых классов инстансов см. на странице Сведения о продукте Amazon RDS.
- Тип хранилища: выберите значение «Общего назначения» (SSD). Подробную информацию о хранении см. в разделе Хранилище для Amazon RDS.
- Выделенное хранилище: выберите значение по умолчанию 20. Для базы данных будет выделено 20 ГБ. При работе с Amazon RDS for SQL Server возможно масштабирование до 64 ТБ.
- Включить автомасштабирование хранилища: если рабочая нагрузка имеет циклический и непредсказуемый характер, рекомендуется включить функцию автомасштабирования хранилища, чтобы при необходимости сервис RDS мог автоматически масштабировать хранилище. При выполнении заданий этого учебного пособия мы не будем использовать этот параметр.
д) Вы находитесь на странице Возможности подключения, где можно указать дополнительную информацию, необходимую RDS для запуска инстанса БД Microsoft SQL Server. Чтобы просмотреть примеры настроек для инстанса БД, разверните раскрывающееся окно ниже.
Сеть и безопасность
Дополнительная настройка подключения
- Группа подсетей: выберите группу подсетей по умолчанию. Дополнительную информацию о группах подсетей см. в разделе Работа с группами подсетей БД.
- Общий доступ: выберите Да. Инстансу базы данных будет присвоен IP-адрес, что позволит подключаться к базе данных непосредственно с пользовательского устройства.
- Зона доступности: выберите значение Нет предпочтений. Для получения дополнительной информации см. раздел Регионы и зоны доступности.
- Группы безопасности VPC: выберите Создать группу безопасности VPC. Будет создана группа безопасности, поддерживающая соединение между IP-адресом используемого устройства и созданной базой данных.
- Порт: сохраните значение по умолчанию 1433.
Аутентификация Microsoft SQL Server для Windows
- Каталог: оставьте этот параметр выключенным.
В разделе Дополнительные настройки:
Настройки базы данных
- Имя базы данных: введите имя базы данных, которое может содержать от 1 до 64 буквенно-цифровых символов. Если имя не указано, Amazon RDS не сможет автоматически создать базу данных на основе нового инстанса БД.
- Группа параметров БД: используйте значение по умолчанию. Дополнительную информацию см. в разделе Работа с группами параметров БД.
- Группа параметров: используйте значение по умолчанию. С помощью групп настроек в Amazon RDS активируются и настраиваются дополнительные возможности. Дополнительную информацию см. в разделе Работа с группами настроек.
Шифрование
Эта настройка недоступна на уровне бесплатного пользования. Дополнительную информацию см. в разделе Шифрование ресурсов Amazon RDS.
Резервное копирование
- Срок хранения резервных копий: в этом поле можно выбрать количество дней, в течение которых сохраняются резервные данные. Для данного курса выберите значение 1 день.
- Окно резервного копирования: задайте значение по умолчанию – Нет предпочтений.
Мониторинг
- Включить расширенный мониторинг: задайте значение по умолчанию – Включить расширенный мониторинг. При активации расширенного мониторинга в режиме реального времени становятся доступны метрики для операционной системы (ОС), на которой работает инстанс БД. Дополнительную информацию см. в разделе Просмотр метрик инстанса БД.
Обслуживание
- Автоматическое промежуточное обновление версии: выберите Включить автоматическое промежуточное обновление версии, чтобы получать автоматические обновления, как только они станут доступны.
- Окно обслуживания: : выберите Нет предпочтений
Защита от удаления
Отключите параметр Включить защиту от удаления для выполнения заданий этого учебного пособия. Если этот параметр включен, базу данных невозможно удалить.
Нажмите кнопку «Создать базу данных».
е) Идет создание инстанса БД. Щелкните View Your DB Instances (Просмотреть инстансы БД).
Примечание. В зависимости от класса инстанса БД и присвоенного ему хранилища, новый инстанс БД может стать доступным через несколько минут.
Новый инстанс БД появится в списке инстансов БД в консоли RDS. Пока инстанс БД не будет создан и готов к использованию, он будет иметь статус creating (создается). Когда статус изменится на available (доступен), к базе данных можно будет подключиться через инстанс БД.
Можно не дожидаться доступности инстанса БД и перейти к следующему этапу.
Create (SQL) — это… Что такое Create (SQL)?
- Правильный заголовок этой статьи — CREATE. Он показан некорректно из-за технических ограничений.
CREATE — DDL оператор языка SQL, используемый для создания объектов базы данных. Различные СУБД работают с различными объектами.
Стандарт SQL-92
Стандарт SQL-92 определяет команду CREATE
в вариантах:
CREATE ASSERTION
[1] — создание утвержденияCREATE CHARACTER SET
[2] — создание набора символовCREATE COLLATION
— создание правила сортировки для набора символовCREATE DOMAIN
— создание домена (пользовательского типа данных столбца).CREATE SCHEMA
— создание схемы (именованной группы объектов)CREATE TABLE
— создание таблицы базы данныхCREATE TRANSLATION
— создание правила преобразования (трансляции) из одного набора символов в другой (используется в оператореTRANSLATE
)CREATE VIEW
— создание представления данных
Наиболее общие команды (поддерживаются большинством СУБД): CREATE TABLE
и CREATE VIEW
Примеры
Таблица — Table
[3]
CREATE TABLE Student ( Code INTEGER NOT NULL, Name CHAR (30) NOT NULL , Address CHAR (50), Mark DECIMAL );
Представление — VIEW
[4]
CREATE VIEW London_view AS SELECT * FROM Salespeople WHERE city = ‘London’;
Счётчик — SEQUENCE (SQL-99, DB2, Oracle, PostgreSQL, Firebird), GENERATOR (Interbase/Firebird)
Oracle:
CREATE SEQUENCE PEAK_NO INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE NOCACHE ORDER;
PostgreSQL:
CREATE SEQUENCE PEAK_NO INCREMENT BY 1 MINVALUE 1000 NO MAXVALUE CACHE 1 NO CYCLE;
Пользователь — User
[5]
CREATE USER alfredo IDENTIFIED BY alfredos_secret;
Схема — SCHEMA
Схема (SCHEMA)[6] — является одним из основных объектов базы данных. Она привязывается только к одному пользователю (USER) и является логическим набором объектов базы данных. Схема создается при создании пользователем первого объекта, и все последующие объекты созданные этим пользователем становятся частью этой схемы.
Оператор CREATE SCHEMA применяется тогда, когда требуется гарантировать успешное создание всех объектов и назначение привилегий за одну операцию.
Утверждение — Assertion (SQL 92)
Синоним — SYNONYM
Подключение к базе данных — Database Connection
Пакет — PACKAGE (Oracle)
Тело пакета — PACKAGE BODY (Oracle)
Процедура — PROCEDURE
Тригер — TRIGGER
Тип — TYPE
Тело типа — TYPE BODY
Примечания
Создать скрипт create table SQL для всех таблиц в базе данных
Мне нужно создать код SQL, который в своем выводе вернет CREATE TABLE SQL для всех таблиц в текущей базе данных.
Есть предложения?
sql
sql-server
database
performance
Поделиться
Источник
IgO
16 сентября 2015 в 11:48
2 ответа
- Create SQL скрипт для создания базы данных и таблиц
У меня есть база данных SQL и таблицы, которые я хотел бы реплицировать в другой SQL Server. Я хотел бы создать скрипт SQL, который создает базу данных и таблицы в одном скрипте. Я могу создать сценарий Create с помощью студии управления SQL для каждого случая (базы данных и таблиц), но я хотел бы…
- Как работать «script Table as», «Create table» скрипт в sql management studio
Я хочу получить сценарий CREATE для всех таблиц. Есть ли какой-нибудь скрипт, например sp_helptext? Как я могу вызвать скрипт, когда выбран Script Table as — > Create table ?
28
В SQL Server Management Studio(SSMS)
Щелкните правой кнопкой мыши на ИМЕНИ базы данных -> Выберите Задачу -> Выберите Создать сценарий.
Следуйте представленному мастеру и выберите все таблицы в этой базе данных для создания сценариев.
Поделиться
Rahul
16 сентября 2015 в 11:53
1
Используйте проект базы данных Visual Studio SQL Server следующим образом:
- Создайте проект базы данных Visual Studio SQL Server.
В меню проект выберите Импорт > база данных …
Щелкните правой кнопкой мыши на проекте и выберите пункт опубликовать.
Поделиться
Dale K
29 ноября 2019 в 00:42
Похожие вопросы:
Как создать хранимую процедуру sql server для просмотра всех таблиц в базе данных?
До сих пор на веб-сайте я нашел только хранимые процедуры для перечисления всех таблиц в базе данных, но что я действительно хочу знать, так это как создать хранимую процедуру в SQL Server для…
Генерация скрипта всех индексов в базе данных
Я хочу сгенерировать скрипт всех индексов в базе данных(Create Index). Мне не нужен индексный скрипт вместе со скриптом create table. как мы можем сгенерировать его в SQL Server (2005 или 2008)….
Как сгенерировать DDL для всех таблиц в базе данных в MySQL
Как сгенерировать DDL для всех таблиц в базе данных MySQL сразу. Я знаю, что следующий запрос выведет DDL для таблицы. Но я хочу DDL всех таблиц сразу, потому что у меня есть сотни таблиц в моей…
Create SQL скрипт для создания базы данных и таблиц
У меня есть база данных SQL и таблицы, которые я хотел бы реплицировать в другой SQL Server. Я хотел бы создать скрипт SQL, который создает базу данных и таблицы в одном скрипте. Я могу создать…
Как работать «script Table as», «Create table» скрипт в sql management studio
Я хочу получить сценарий CREATE для всех таблиц. Есть ли какой-нибудь скрипт, например sp_helptext? Как я могу вызвать скрипт, когда выбран Script Table as — > Create table ?
Хотите создать скрипт для экспорта данных, таблиц и представлений в скрипт sql
Хотите создать скрипт для экспорта данных, таблиц и представлений в скрипт sql. У меня SQL Server 2008 r2. До сих пор мне удавалось только автоматически генерировать sqlscript для всех таблиц и…
SQL Server: как создать скрипт всех данных в базе данных
Как создать скрипт всех данных в конкретной базе данных? Спасибо, Сачин
Скрипт всех таблиц в базе данных
У меня есть база данных, которая содержит более 1000 таблиц. Мне просто нужна структура базы данных (Create Table script) Я могу сделать это один за другим, но это займет много времени. Есть ли…
Как создать сценарии для всех триггеров и таблиц в базе данных с помощью pgAdmin4
Я хотел бы создать скрипт SQL, содержащий SQL, для создания всех триггеров и таблиц, существующих в нашей базе данных. Я уже пробовал метод, при котором вы щелкаете правой кнопкой мыши по таблице и…
Как создать только индексный скрипт всех таблиц из базы данных в MS SQL server?
Я хочу сгенерировать скрипт всех индексов в базе данных(Create Index). Из целевой базы данных -> -> параметр создать скрипт вам только создать таблицу с первичным ключом индекса. Поэтому мне…
Инструкция CREATE/ALTER DATABASE — SQL программирование
CREATE DATABASE
В стандарте ANSI в действительности нет инструкции CREATE DATABASE. Однако, поскольку работать с SQL базами данных без этой команды почти невозможно, мы внесли эту инструкцию в книгу. Почти все платформы баз данных поддерживают какой-нибудь вариант этой инструкции.
Общие правила
Эта команда создает новую пустую базу данных с указанным именем. Большинство платформ СУРБД требуют, чтобы для создания новой базы пользователь имел привилегии администратора. Как только новая база данных создана, вы можете заполнять ее объектами (такими, как таблицы, представления, триггеры и тому подобное), а таблицы заполнять данными. Команда CREATE DATABASE может также создавать в файловой системе, в зависимости от платформы, соответствующие файлы, содержащие данные и метаданные базы.
Советы и хитрости программирования
Поскольку команда CREATE DATABASE не входит в число стандартных инструкций ANSI, между платформами существуют довольно большие различия в ее синтаксисе.
DB2
Инструкция DB2 CREATE DATABASE инициализирует новую базу с различными, определяемыми пользователем характеристиками, например опциями автоматического конфигурирования и сопоставления (collation). Кроме того, инструкция создает три исходных табличных пространства, системные таблицы и журналы восстановления, необходимые для базы данных DB2.
CREATE {DATABASE | DB имя_базы_данных
[AT DBPARITIONNUM] [ON путь_и_диск] [ALIAS псевдоним_базы_данных] [USING DCOESET
набор_кодов TERRITORY регион] [COLLATE USING {COMPATIBILTIY | IDENTITY | NLSCHAR | SYSTEM}]
[NUMSEGS int] [DFT_EXTENT_SZ int]
[CATALOG TABLESPACE определение_табличного_пространства] [USER TABlESPACE определение_табличного_пространства]
[TEMPORARY TABLESPACE определение_табличного_пространства] [WITH ‘комментарии’]
[AUl’OCCNFIGURE [USING параметр значение […]] [APPLY {DB ONLY | DB AND DBM | NONE}]
Где:
CREATE {DATABASE DB} имя_базы_данных
Создается база данных с именем имя_базы_данных. Имя должно быть уникальным среди других имен баз данных в локальной и системной директории баз данных.
База данных создается в той секции, в которой была выполнена команда. Эта команда используется только для повторного создания удаленной базы данных. Ее нельзя использовать для создания совершенно новой базы. При подаче команды CREATE DATABASE AT DBPARTITIONNUM база данных должна быть немедленно восстановлена на узле.
COMPATIBILITY
Используется схема сопоставления DB2 v2 для обратной совместимости.
IDENTITY
Используется схема сопоставления по идентичности, когда строки сравниваются побайтно.
NLSCHAR
Используется схема сопоставления, уникальная для набора кодов и региона базы данных. В настоящее время эта опция поддерживается только для Тайской кодовой страницы (СР874).
SYSTEM
Используется схема сопоставления для текущего региона.
NUMSEGS int
В виде целого числа (int) указывается число директорий сегментов, которые создаются для хранения файлов DAT, IDX, LF, LB и LBA для любых табличных пространств по умолчанию, относящихся к типу SMS (System Managed Space). Этот параметр не влияет на табличные пространства DMS, табличные пространства SMS с явно указанными параметрами создания и табличные пространства SMS, созданные после того, как была создана база данных.
DFT_EXTENT_SZ int
В виде целого числа (int) указывается значение по умолчанию предельного размера табличных пространств базы данных.
CATALOG TABLESPACE определение табличного пространства
Определяется табличное пространство, в котором хранятся таблицы каталога. Подробности синтаксиса параметра определение_табличного_пространства приведены ниже. Если это предложение опущено, таблицы каталога будут создаваться в табличном пространстве SMS с именем SYSCATSPACE, а его параметры будут определяться значениями предложений NUMSEGS и DFT_EXTENT_SZ.
USER TABLESPACE определение_табличного_пространства
Определяется табличное пространство, которое представляет собой исходное табличное пространство пользователя. Подробности синтаксиса параметра определение_табличного_пространства приведены ниже. Если это предложение опущено, пользовательское табличное пространство будет создаваться в табличном пространстве SMS с именем USERSPACE1, а его параметры будут определяться значениями предложений NUMSEGS и DFT_EXTENT_SZ.
TEMPORARY TABLESPACE определение_табличного_пространства
Определяется табличное пространство, которое представляет собой исходное временное табличное пространство системы. Подробности синтаксиса параметра определение_табличного пространства приведены ниже. Если это предложение опущено, временное табличное пространство системы будет создаваться в табличном пространстве SMS с именем TEMPSPACE1, а его параметры будут определяться значениями предложений NUMSEGS и DFT_EXTENT_SZ.
WITH ‘комментарии’
Создается описание базы данных в директории баз данных длиной до 30 символов.
AUTOCONFIGURE [USING параметр значение […]]
Определяются пользовательские настройки важных системных параметров, таких, как размер буферного пула. При использовании команды без предложения USING платформа DB2 вычисляет оптимальные параметры и использует их. Ниже приводится список параметров и их возможные значения.
mem_ percent
Определяет процентную долю памяти, отведенную базе данных. По умолчанию установлено значение 25, допустимыми являются значения в диапазоне 1-100. Если на сервере работают другие приложения, не устанавливайте здесь значение 100.
Создание базы данных Microsoft SQL Server и подключение к ней с помощью Amazon RDS
На этом этапе мы будем использовать Amazon RDS для создания инстанса БД Microsoft SQL Server с классом инстанса БД db.t2.micro, 20 ГБ хранилища и включенными автоматическими резервными копиями со сроком хранения в один день. Напоминаем, что все это доступно для бесплатного пользования.
а. В правом верхнем углу консоли Amazon RDS выберите , регион , в котором вы хотите создать инстанс БД.
Примечание : облачные ресурсы AWS размещаются в высокодоступных центрах обработки данных в разных регионах мира. У вас есть возможность выбрать, в каком регионе будет размещаться ваша деятельность Amazon RDS.
г. В разделе Создать базу данных выберите Создать базу данных .
г.Теперь у вас есть возможность выбрать свой двигатель. В этом руководстве щелкните значок Microsoft SQL Server . Выберите SQL Server Express Edition , оставьте значение по умолчанию для версии ядра и лицензии и щелкните шаблон Free Tier .
г. Теперь вы настроите свой экземпляр БД. Введите параметры конфигурации, перечисленные ниже:
Настройки :
- Идентификатор экземпляра БД : введите имя экземпляра БД, уникальное для вашей учетной записи в выбранном регионе.В этом руководстве введите myrdstest .
- Главное имя пользователя : Введите имя пользователя, которое вы будете использовать для входа в свой экземпляр БД. В этом примере мы будем использовать masterUsername .
- Главный пароль : Введите пароль, который содержит от 8 до 41 печатаемых символов ASCII (за исключением /, «и @) для вашего главного пароля пользователя.
- Подтвердите пароль : введите пароль еще раз.
Характеристики экземпляра:
- Класс экземпляра БД : выберите значение по умолчанию, d b.t2.micro — 1 vCPU, 1 GIB RAM . Это соответствует 1 ГБ памяти и 1 виртуальному ЦП. Чтобы увидеть список поддерживаемых классов инстансов, см. Цены на Amazon RDS.
- Тип хранилища : выберите универсальное (SSD). Дополнительные сведения о хранилище см. В разделе Хранилище для Amazon RDS.
- Выделенное хранилище : выберите значение по умолчанию 20, чтобы выделить 20 ГБ хранилища для вашей базы данных. Вы можете масштабировать до 64 ТБ с помощью Amazon RDS для SQL Server.
- Включить автоматическое масштабирование хранилища g: Если ваша рабочая нагрузка циклична или непредсказуема, вы можете включить автоматическое масштабирование хранилища, чтобы RDS автоматически увеличивал объем хранилища при необходимости. Этот параметр не применяется к этому руководству.
e.Теперь вы находитесь в разделе Connectivity , где вы можете предоставить дополнительную информацию, необходимую RDS для запуска экземпляра базы данных Microsoft SQL Server. Разверните раскрывающийся список ниже, чтобы увидеть пример настроек для вашего экземпляра БД.
Сеть и безопасность
Дополнительные конфигурации подключения
- Группа подсетей : выберите группу подсетей по умолчанию .Дополнительные сведения о группах подсетей см. В разделе Работа с группами подсетей БД.
- Общедоступность : выберите Да . Это позволит выделить IP-адрес для вашего экземпляра базы данных, чтобы вы могли напрямую подключиться к базе данных со своего собственного устройства.
- Зона доступности : выберите Без предпочтения . См. Подробности в разделе «Регионы и зоны доступности».
- Группы безопасности VPC : выберите Создать новую группу безопасности VPC .Это создаст группу безопасности, которая позволит подключаться с IP-адреса устройства, которое вы в настоящее время используете, к созданной базе данных.
- Порт : оставьте значение по умолчанию 1433.
Microsoft SQL Server Проверка подлинности Windows
- Каталог : оставьте этот параметр отключенным.
В разделе дополнительных конфигураций :
Параметры базы данных
- Имя базы данных : Введите имя базы данных, содержащее от 1 до 64 буквенно-цифровых символов.Если вы не укажете имя, Amazon RDS не будет автоматически создавать базу данных в инстансе БД, который вы создаете.
- Группа параметров БД : оставьте значение по умолчанию. Для получения дополнительной информации см. Работа с группами параметров БД.
- Группа опций : оставьте значение по умолчанию. Amazon RDS использует группы параметров для включения и настройки дополнительных функций. Для получения дополнительной информации см. Работа с группами опций.
Шифрование
Этот параметр недоступен на уровне бесплатного пользования.Для получения дополнительной информации см. Шифрование ресурсов Amazon RDS.
Резервное копирование
- Срок хранения резервной копии : Вы можете выбрать количество дней для хранения сделанной резервной копии. В этом руководстве установите это значение на 1 день .
- Окно резервного копирования : Используйте значение по умолчанию Без предпочтения .
Мониторинг
- Расширенный мониторинг : используйте значение по умолчанию Включить расширенный мониторинг.Включение расширенного мониторинга предоставит вам метрики в реальном времени для операционной системы (ОС), в которой работает ваш инстанс БД. Дополнительные сведения см. В разделе «Просмотр показателей инстанса БД».
Техническое обслуживание
- Автоматическое обновление дополнительной версии : выберите Включить автоматическое обновление дополнительной версии , чтобы получать автоматические обновления, когда они становятся доступными.
- Окно обслуживания : выберите Без предпочтения .
Защита от удаления
Очистить Включить защиту от удаления для этого руководства. Когда эта опция включена, вы не можете удалить базу данных.
ф. Ваш инстанс БД сейчас создается. Щелкните Просмотр инстансов БД .
Примечание : В зависимости от класса инстанса БД и выделенного хранилища может потребоваться несколько минут, чтобы новый инстанс БД стал доступным.
Новый экземпляр БД появится в списке экземпляров БД на консоли RDS. Экземпляр БД будет иметь статус , создающий , пока он не будет создан и готов к использованию. Когда состояние изменится на доступно , вы можете подключиться к базе данных в экземпляре БД.
Не стесняйтесь переходить к следующему шагу, ожидая, пока инстанс БД станет доступным.
Заявление
SQL CREATE DATABASE — Tutorial Republic
В этом руководстве вы узнаете, как создать базу данных в системе управления реляционными базами данных, например MySQL, SQL Server и т. Д., С использованием SQL.
Создание базы данных
Прежде чем что-либо делать с данными, мы должны сначала создать базу данных. Мы предполагаем, что у вас уже есть MySQL или SQL Server, доступный для вашего использования, а также у вас есть все необходимые привилегии, в противном случае ознакомьтесь с руководством по началу работы.
Оператор SQL CREATE DATABASE
используется для создания базы данных.
Синтаксис
Базовый синтаксис для создания базы данных может быть задан следующим образом:
СОЗДАТЬ БАЗУ ДАННЫХ имя_базы_данных ;
Следующий оператор SQL создает базу данных с именем demo :
Создание базы данных не выбирает ее для использования.Итак, прежде чем двигаться дальше, нам нужно выбрать целевую базу данных с помощью оператора USE
. Например, демонстрация USE ; Команда
устанавливает базу данных demo в качестве целевой базы данных для всех будущих команд.
Примечание: В Unix имена базы данных и таблиц чувствительны к регистру, поэтому вы всегда должны ссылаться на свою базу данных как demo
, а не как Demo
, DEMO
или что-то еще. Но ключевые слова SQL нечувствительны к регистру, например, CREATE DATABASE
совпадает с create database
.
Создание базы данных в MySQL
Давайте создадим базу данных в MySQL с помощью инструмента командной строки.
Шаг 1. Вызов инструмента командной строки MySQL
Чтобы вызвать командную строку MySQL, мы сначала должны войти на сервер MySQL. Чтобы войти в систему как пользователь root
, введите следующую команду в терминале и нажмите клавишу ВВОД. Вам будет предложено ввести пароль. Введите свой пароль и нажмите Enter. Если он правильный, появится приглашение mysql>
, с помощью которого вы сможете вводить операторы SQL и просматривать результаты.
Шаг 2. Создание базы данных MySQL
Теперь выполните следующую команду, чтобы создать базу данных с именем demo .
mysql> CREATE DATABASE demo;
Если база данных создана успешно, вы увидите что-то вроде этого:
Запрос в порядке, затронута 1 строка (0,03 сек)
Если вы попытаетесь создать уже существующую базу данных, вы получите сообщение об ошибке.Чтобы избежать этого в MySQL, вы можете использовать необязательное предложение IF NOT EXISTS
следующим образом:
mysql> СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ demo;
Шаг 3. Выбор базы данных
Введите следующую команду и нажмите ввод. Вы увидите вывод «База данных изменена» . Теперь наша демонстрационная база данных выбрана в качестве базы данных по умолчанию для всех будущих операций.
Совет: Если вы хотите увидеть список существующих баз данных на сервере MySQL, вы можете выполнить оператор SHOW DATABASES;
в командной строке.
Оператор создания таблицы SQL — с примером синтаксиса
SQL — один из самых надежных и простых языков запросов. Он обеспечивает четкий синтаксис, который легко читается, не отвлекаясь от смысла функциональности.
Если вам нужна некоторая история языка, а также некоторые интересные факты, ознакомьтесь с вводной частью моей статьи об обновлении SQL.
В этой статье мы рассмотрим важные части создания таблицы в SQL. Я предпочитаю SQL Server, но информация о создании таблицы довольно распространена во всех вариантах SQL.
Если вы никогда не использовали SQL или не знаете, что такое таблица, не бойтесь! Вкратце (и в широком смысле) таблица — это объект базы данных, который содержит или содержит все данные в этой части базы данных. Он хранит эти данные в именованных столбцах и пронумерованных строках, что хорошо, если вы когда-либо использовали какую-либо программу для работы с электронными таблицами.Каждая строка представляет собой всю запись базы данных.
Если бы данные были в форме коробки, то таблица была бы частью складской стеллажа, в которой мы храним эти коробки.
Фото Наны Смирновой на Unsplash
Я сильно упрощаю объяснение, и в таблицах SQL есть гораздо больше, но это выходит за рамки данной статьи. Если вам не терпится получить более подробное объяснение таблиц, я рекомендую вам погрузиться в документацию Microsoft Database Design.
Прежде чем мы научимся создавать таблицу, важно узнать, какие типы данных могут хранить эти столбцы и строки.
Типы данных
Таблицы
SQL могут содержать текст, числа, комбинацию текста и чисел, а также изображения и ссылки.
При создании нашей таблицы мы указываем тип данных, которые будут содержать ее строки и столбцы. Вот общая классификация данных:
- Приблизительные цифры
- Струны
- Дата и время
- Строки символов Юникода
- Точные числа
- Другое
Я перечислю некоторые из наиболее часто используемых типов данных ниже, но если вы хотите получить больше информации обо всех типах данных, я предлагаю вам ознакомиться с этой исчерпывающей статьей от Microsoft по каждому типу.
Вот наиболее часто используемые типы данных из моего опыта, в произвольном порядке:
- char (size) — строка фиксированной длины , которая может содержать буквы, числа, специальные символы
- varchar (размер) — строка переменной длины , которая может содержать буквы, цифры и специальные символы
- boolean — Ноль (или значения, которые равны 0) ложно, ненулевое значение истинно
- int (размер опционально ) — число длиной до 10 символов, принимает отрицательные и положительные числа
- bigint (размер опционально ) — число длиной до 19 символов, принимает отрицательные и положительные числа.
- float (size, d) — число с общим размером, представленным размером, и количеством символов после десятичной дроби, представленным числом d
- date — дата в формате YYYY-MM-DD
- datetime — дата и время в формате ГГГ-ММ-ДД чч: мм: сс
- time — время в формате чч: мм: сс
Хорошо, теперь, когда мы знаем, какие типы данных могут содержать строки и столбцы, давайте перейдем к интересным частям!
Создание таблицы
Фото Никхила Митры на Unsplash
Прежде чем мы начнем, важно отметить, что я буду предоставлять все свои примеры независимо от какой-либо программы.
Однако, если вы хотите начать писать запросы и не знаете, с чего начать, взгляните на SQL Server Management Studio. Это бесплатная и надежная программа, которая широко используется и поддерживается сообществом.
Кроме того, есть несколько вариантов, включая DB Fiddle, которые позволяют создавать схемы и писать запросы прямо в браузере.
Начнем с простого оператора для создания базовой таблицы:
CREATE TABLE имя_таблицы (
column1_name тип данных,
column2_name тип данных,
column3_name тип данных,
column4_name тип данных,
column5_name datatype,)
Есть и другие параметры, которые мы можем добавить после типа данных
для увеличения столбцов:
-
NOT NULL
— передача этого параметра гарантирует, что столбец не может содержать значениеNULL
-
UNIQUE
— передача этого параметра предотвратит сохранение в столбце одного и того же значения более одного раза -
UNIQUE KEY
— передача этого параметра назначит этот столбец уникальным идентификатором.По сути, это комбинация двух предыдущих параметров.
Теперь мы собираемся создать таблицу (с именем doggo_info, которая должна соответствовать стандартам идентификаторов для баз данных) для хранения информации о жителях Woof Woof Retreat, вымышленного детского сада для собак, о котором я только что подумал 🙂
CREATE TABLE doggo_info (
ID int УНИКАЛЬНЫЙ КЛЮЧ,
Имя varchar (50) NOT NULL,
Цвет варчар (50),
Порода варчар (50),
Возраст int,
Вес int,
Высота int,
Fav_Food varchar (100),
Fav_Toy varchar (100),
Не любит варчар (500),
Аллергия варчар (500) НЕ ПУСТО
)
А вот и новая таблица, которую мы только что создали:
Имя | Цвет | Порода | Возраст | Вес | Высота | Fav_Food | Игрушка Fav_Toy | Дизлайки | Аллергия |
Вы заметите, что наша таблица полностью пуста, потому что мы еще не добавили в нее никаких данных.Это выходит за рамки данной статьи, но я хотел, чтобы вы знали об этом лакомом кусочке.
Создание таблицы из существующей таблицы
Также возможно создать новую таблицу на основе существующей таблицы.
Это довольно просто и не требует особого синтаксиса. Нам нужно выбрать таблицу и столбцы для «копирования» из:
CREATE TABLE new_table_name AS
ВЫБРАТЬ столбец1, столбец2, столбец3, столбец4 (используйте *, чтобы выбрать все столбцы, которые будут добавлены в новую_таблицу)
ИЗ имя_текущей_таблицы
WHERE conditions_exist
Итак, ради целесообразности, я добавил некоторые данные в нашу таблицу doggo_info
, и теперь она выглядит так, как показано ниже:
Имя | Цвет | Порода | Возраст | Вес | Высота | Fav_Food | Игрушка Fav_Toy | Дизлайки | Аллергия |
ромашка | красный | Такса стандартная | 1 | 14 | 6 | Кусок со вкусом лосося | скрипучий мяч | птица летит над двором | кошки, бани, чистота |
начальник | чёрно-коричневый | ротвейлер | 3 | 41 | 17 | буквально все что угодно | буксир | не вставать с дивана | слушать, вести себя, не слюни во всем |
Сэмми | светлый мед | золотистый ретривер | 9 | 46 | 19 | Кусок со вкусом говядины | ее кровать | щенки рамбутсиса | неизвестно |
Теперь мы можем создать другую таблицу на основе данных, имеющихся в нашей таблице doggo_info
, выполнив следующий запрос:
CREATE TABLE puppies_only AS
ВЫБРАТЬ *
ОТ doggo_info
WHERE Age
Мы хотим создать новую таблицу со всеми столбцами из таблицы doggo_info
, но только там, где Age
меньше 4.После выполнения этого запроса наша новая таблица будет выглядеть так:
Имя | Цвет | Порода | Возраст | Вес | Высота | Fav_Food | Игрушка Fav_Toy | Дизлайки | Аллергия |
ромашка | красный | Такса стандартная | 1 | 14 | 6 | Кусок со вкусом лосося | скрипучий мяч | птица летит над двором | кошки, бани, чистота |
начальник | чёрно-коричневый | ротвейлер | 3 | 41 | 17 | буквально все что угодно | буксир | не вставать с дивана | слушать, вести себя, не слюни во всем |
Надеюсь, вы видите, насколько мощным может быть это утверждение.С помощью нескольких строк в нашем запросе мы фактически скопировали данные из одной таблицы в другую, но только те строки, которые нам нужны.
Это не только удобный инструмент в вашем арсенале инструментов разработчика - он сэкономит вам неисчислимое количество времени, когда вам нужно перемещать данные по таблицам.
Завершение
Теперь, когда вы знаете, как создать (или скопировать) таблицу в SQL, независимо от того, в какой ситуации вы оказались, вы можете начать заполнять столбцы и строки данными для хранения!
Оператор CREATE TABLE
чрезвычайно полезен и эффективен.Вы готовы начать использовать его с пользой.
Если вы нашли эту статью полезной, загляните в мой блог, где я часто публикую статьи о веб-разработке, жизни и обучении.
Пока вы там, почему бы не подписаться на мою рассылку новостей? Вы можете сделать это в правом верхнем углу главной страницы блога. Мне нравится присылать интересные статьи (свои и другие), ресурсы и инструменты для разработчиков время от времени.
Если у вас есть вопросы по этой статье или просто дайте мне знать - приходите поздороваться в Twitter или в любой из моих других социальных сетей, которые вы можете найти под рассылкой новостей, подпишитесь на главной странице моего блога или в моем профиле здесь, в FCC 🙂
Хорошего дня! Удачного обучения и программирования, друг!
Как создать соединение Excel с базой данных SQL
Microsoft Excel может быть мощным инструментом для оценки данных SQL.В Excel можно создать соединение для прямой ссылки на конкретную базу данных, отфильтрованную в соответствии с вашими требованиями. Это позволяет вам сообщать данные SQL, прикреплять таблицу данных в Excel, создавать сводную таблицу и лучше управлять вашими данными SQL.
Это соединение должно быть подтверждено с помощью входа в систему SQL, чтобы обеспечить безопасность содержимого ваших баз данных. Соединение можно обновить для обновления содержимого из базы данных SQL.
Для создания подключения к Excel:
- Открыть Microsoft Excel
- Выберите вкладку «Данные»
- Нажмите «Получить данные»
- Выберите «Из базы данных»
- Выбрать из базы данных SQL Server
- Введите имя сервера SQL
- При желании вы можете ввести здесь имя базы данных, если вы его знаете.
- В противном случае вы сможете выбрать базу данных на следующем шаге
- Определите учетные данные, которые вы собираетесь использовать.
- «Использовать мои текущие учетные данные» по умолчанию. Это будет использовать ваш логин Windows, который вы использовали для подключения к Windows.
- «Использовать альтернативные учетные данные» использует другую учетную запись Windows, отличную от текущей.
- Выберите База данных слева, чтобы использовать учетные данные базы данных SQL.
- Выберите учетную запись Microsoft слева, чтобы использовать свой логин Microsoft365
- Нажмите Connect
- Выберите базу данных и таблицу, которую вы хотите использовать для запроса
- Вы можете использовать строку поиска для поиска таблицы
- Вы можете установить флажок «Выбрать несколько элементов», чтобы отобразить более одной таблицы.
- Теперь вы можете выбрать 1) Как вы хотите загрузить данные; либо «Загрузить», который помещает данные в таблицу Excel, либо «Загрузить в», который позволяет загружать данные в виде запроса, а не таблицы.«Загрузить в» — для более сложных отчетов. 2) Вы можете «Преобразовать данные»; это открывает редактор Microsoft Power Query Editor и позволяет добавлять поля, удалять поля, изменять типы данных и т. Д.
- После нажатия на «Загрузить» данные загружаются в таблицу Excel.
Обновление подключения Excel к базе данных SQL
Чтобы обновить соединение с Excel:
- Выберите вкладку Data
- Выбрать Обновить
- Обновить: обновит текущий запрос, в котором вы находитесь.
- Обновить все: обновит все запросы в книге.
Обратитесь в ArcherPoint, чтобы получить помощь по всем вопросам, связанным с Microsoft Dynamics 365 Business Central и отчетностью. Мы здесь, чтобы помочь!
Сценарий
— как в SQL Server создать оператор CREATE TABLE для данной таблицы?
— или вы могли бы создать хранимую процедуру … сначала с созданием идентификатора
ИСПОЛЬЗОВАНИЕ [db]
ИДТИ
/ ****** Объект: хранимая процедура [dbo].[procUtils_InsertGeneratorWithId] Дата сценария: 13.06.2009 22:18:11 ****** /
УСТАНОВИТЬ ANSI_NULLS ON
ИДТИ
ВКЛЮЧИТЬ QUOTED_IDENTIFIER
ИДТИ
создать PROC [dbo]. [procUtils_InsertGeneratorWithId]
(
@domain_user varchar (50),
@tableName varchar (100)
)
в качестве
- Объявить курсор для получения информации о столбце для указанной таблицы
ЗАЯВИТЬ КУРСОР cursCol FAST_FORWARD ДЛЯ
ВЫБЕРИТЕ имя_столбца, тип_данных FROM information_schema.columns ГДЕ table_name = @tableName
ОТКРЫТЬ cursCol
DECLARE @string nvarchar (3000) - для хранения первой половины оператора INSERT
DECLARE @stringData nvarchar (3000) - для хранения оператора, связанного с данными (ЗНАЧЕНИЯ)
DECLARE @dataType nvarchar (1000) - типы данных, возвращаемые для соответствующих столбцов
ОБЪЯВИТЬ @IDENTITY_STRING nvarchar (100)
НАБОР @IDENTITY_STRING = ''
выберите @IDENTITY_STRING
НАБОР @ строка = 'ВСТАВИТЬ' + @ имя_таблицы + '('
НАБОР @ stringData = ''
ОБЪЯВИТЬ @colName nvarchar (50)
ВЫБРАТЬ ДАЛЕЕ ИЗ cursCol В @ colName, @ dataType
ЕСЛИ @@ fetch_status <> 0
начинать
print 'Table' + @ tableName + 'не найден, обработка пропущена.'
закрыть curscol
освободить curscol
возвращение
КОНЕЦ
ПОКА @@ FETCH_STATUS = 0
НАЧИНАТЬ
ЕСЛИ @dataType в ('varchar', 'char', 'nchar', 'nvarchar')
НАЧИНАТЬ
--SET @ stringData = @ stringData + '' '' '' '' '+ isnull (' + @ colName + ',' '' ') +' '' '' ',' '+' '
SET @ stringData = @ stringData + '' '' + '' '+ isnull (' '' '' + '' '' '+' + @ colName + '+' '' '+' '' '', '' NULL '') + '', '' + ''
КОНЕЦ
ЕЩЕ
if @dataType in ('text', 'ntext') - если тип данных - текст или что-то еще
НАЧИНАТЬ
SET @ stringData = @ stringData + '' '' '' '' '+ isnull (cast (' + @ colName + 'как varchar (2000)),' '' ') +' '' '' ',' '+'
КОНЕЦ
ЕЩЕ
IF @dataType = 'money' - потому что деньги не конвертируются из varchar неявно
НАЧИНАТЬ
SET @ stringData = @ stringData + '' 'convert (money,' '' '' '+ isnull (cast (' + @ colName + 'as varchar (200)),' '0.0000 '') + '' '' ''), '' + '
КОНЕЦ
ЕЩЕ
ЕСЛИ @ dataType = 'datetime'
НАЧИНАТЬ
--SET @ stringData = @ stringData + '' 'convert (datetime,' '' '' '+ isnull (cast (' + @ colName + 'as varchar (200)),' '0' ') +' '' '' '),' '+'
--ВЫБОР 'INSERT Authorizations (StatusDate) VALUES (' + 'convert (datetime,' + isnull ('' '' + convert (varchar (200), StatusDate, 121) + '' '', 'NULL') + ' , 121),) 'ИЗ авторизаций
--SET @ stringData = @ stringData + '' 'convert (money,' '' '' '+ isnull (cast (' + @ colName + 'as varchar (200)),' '0.0000' ') +' '' '' '),' '+'
SET @ stringData = @ stringData + '' 'convert (datetime,' + '' '+ isnull (' '' '' + '' '' '+ convert (varchar (200),' + @ colName + ', 121) +' '' '' + '' '' ',' 'NULL' ') +' ', 121),' '+'
- 'convert (datetime,' + isnull ('' '' + convert (varchar (200), StatusDate, 121) + '' '', 'NULL') + ', 121),)' ИЗ авторизации
КОНЕЦ
ЕЩЕ
ЕСЛИ @ dataType = 'изображение'
НАЧИНАТЬ
SET @ stringData = @ stringData + '' '' '' '' '+ isnull (cast (convert (varbinary,' + @ colName + ') as varchar (6)),' '0' ') +' '' '' ' , '' + '
КОНЕЦ
ELSE - предположим, что тип данных - int, bit, numeric, decimal
НАЧИНАТЬ
--SET @ stringData = @ stringData + '' '' '' '' '+ isnull (cast (' + @ colName + 'as varchar (200)),' '0' ') +' '' '' ',' '' ' + '
--SET @ stringData = @ stringData + '' 'convert (datetime,' + '' '+ isnull (' '' '' + '' '' '+ convert (varchar (200),' + @ colName + ', 121) + '' '' '+' '' '', '' NULL '') + '', 121), '' + '
SET @ stringData = @ stringData + '' '' + '' '+ isnull (' '' '' + '' '' '+ convert (varchar (200),' + @ colName + ') +' '' '' + ' '' '', '' NULL '') + '', '' + '
КОНЕЦ
SET @ строка = @ строка + @ colName + ','
ВЫБРАТЬ ДАЛЕЕ ИЗ cursCol В @ colName, @ dataType
КОНЕЦ
ОБЪЯВИТЬ @Query nvarchar (4000)
НАБОР @query = 'SELECT' '' + substring (@ string, 0, len (@string)) + ') VALUES (' '+' + substring (@ stringData, 0, len (@stringData) -2) + ' '' + '') '' ОТ '+ @ имя_таблицы
exec sp_executesql @query
--select @query
ЗАКРЫТЬ cursCol
ОТКЛЮЧИТЬ cursCol
/ *
ИСПОЛЬЗОВАНИЕ
* /
ИДТИ
— и второй без ВСТАВКИ ID
ИСПОЛЬЗОВАНИЕ [db]
ИДТИ
/ ****** Объект: хранимая процедура [dbo].[procUtils_InsertGenerator] Дата сценария: 13.06.2009 22:20:52 ****** /
УСТАНОВИТЬ ANSI_NULLS ON
ИДТИ
ВКЛЮЧИТЬ QUOTED_IDENTIFIER
ИДТИ
СОЗДАТЬ ПРОЦЕСС [dbo]. [ProcUtils_InsertGenerator]
(
@domain_user varchar (50),
@tableName varchar (100)
)
в качестве
- Объявить курсор для получения информации о столбце для указанной таблицы
ЗАЯВИТЬ КУРСОР cursCol FAST_FORWARD ДЛЯ
- ВЫБЕРИТЕ имя_столбца, тип_данных FROM information_schema.columns ГДЕ table_name = @tableName
/* НОВЫЙ
ВЫБРАТЬ c.имя, sc.data_type ИЗ sys.extended_properties AS ep
ВНУТРЕННЕЕ СОЕДИНЕНИЕ sys.tables AS t ON ep.major_id = t.object_id
ВНУТРЕННЕЕ СОЕДИНЕНИЕ sys.columns КАК c ON ep.major_id = c.object_id И ep.minor_id
= c.column_id
ВНУТРЕННЕЕ СОЕДИНЕНИЕ INFORMATION_SCHEMA.COLUMNS sc ON t.name = sc.table_name и
c.name = sc.column_name
ГДЕ t.name = @tableName и c.is_identity = 0
* /
выберите имя_объекта (c.object_id) "TABLE_NAME", c.имя "COLUMN_NAME", s.name "DATA_TYPE"
из sys.columns c
присоединиться к sys.systypes s на (s.xtype = c.system_type_id)
где имя_объекта (c.object_id) в (выберите имя из sys.tables, где имя не похоже на 'sysdiagrams')
И имя_объекта (c.object_id) в (выберите имя из sys.tables, где [name] = @ tableName) и c.is_identity = 0 и s.name не похоже на 'sysname'
ОТКРЫТЬ cursCol
DECLARE @string nvarchar (3000) - для хранения первой половины оператора INSERT
DECLARE @stringData nvarchar (3000) - для хранения оператора, связанного с данными (ЗНАЧЕНИЯ)
DECLARE @dataType nvarchar (1000) - типы данных, возвращаемые для соответствующих столбцов
ОБЪЯВИТЬ @IDENTITY_STRING nvarchar (100)
НАБОР @IDENTITY_STRING = ''
выберите @IDENTITY_STRING
НАБОР @ строка = 'ВСТАВИТЬ' + @ имя_таблицы + '('
НАБОР @ stringData = ''
ОБЪЯВИТЬ @colName nvarchar (50)
ВЫБРАТЬ ДАЛЕЕ ИЗ cursCol В @tableName, @ colName, @ dataType
ЕСЛИ @@ fetch_status <> 0
начинать
print 'Table' + @ tableName + 'не найден, обработка пропущена.'
закрыть curscol
освободить curscol
возвращение
КОНЕЦ
ПОКА @@ FETCH_STATUS = 0
НАЧИНАТЬ
ЕСЛИ @dataType в ('varchar', 'char', 'nchar', 'nvarchar')
НАЧИНАТЬ
--SET @ stringData = @ stringData + '' '' '' '' '+ isnull (' + @ colName + ',' '' ') +' '' '' ',' '+' '
SET @ stringData = @ stringData + '' '' + '' '+ isnull (' '' '' + '' '' '+' + @ colName + '+' '' '+' '' '', '' NULL '') + '', '' + ''
КОНЕЦ
ЕЩЕ
if @dataType in ('text', 'ntext') - если тип данных - текст или что-то еще
НАЧИНАТЬ
SET @ stringData = @ stringData + '' '' '' '' '+ isnull (cast (' + @ colName + 'как varchar (2000)),' '' ') +' '' '' ',' '+'
КОНЕЦ
ЕЩЕ
IF @dataType = 'money' - потому что деньги не конвертируются из varchar неявно
НАЧИНАТЬ
SET @ stringData = @ stringData + '' 'convert (money,' '' '' '+ isnull (cast (' + @ colName + 'as varchar (200)),' '0.0000 '') + '' '' ''), '' + '
КОНЕЦ
ЕЩЕ
ЕСЛИ @ dataType = 'datetime'
НАЧИНАТЬ
--SET @ stringData = @ stringData + '' 'convert (datetime,' '' '' '+ isnull (cast (' + @ colName + 'as varchar (200)),' '0' ') +' '' '' '),' '+'
--ВЫБОР 'INSERT Authorizations (StatusDate) VALUES (' + 'convert (datetime,' + isnull ('' '' + convert (varchar (200), StatusDate, 121) + '' '', 'NULL') + ' , 121),) 'ИЗ авторизаций
--SET @ stringData = @ stringData + '' 'convert (money,' '' '' '+ isnull (cast (' + @ colName + 'as varchar (200)),' '0.0000 '') + '' '' ''), '' + '
SET @ stringData = @ stringData + '' 'convert (datetime,' + '' '+ isnull (' '' '' + '' '' '+ convert (varchar (200),' + @ colName + ', 121) +' '' '' + '' '' ',' 'NULL' ') +' ', 121),' '+'
- 'convert (datetime,' + isnull ('' '' + convert (varchar (200), StatusDate, 121) + '' '', 'NULL') + ', 121),)' ИЗ авторизации
КОНЕЦ
ЕЩЕ
ЕСЛИ @ dataType = 'изображение'
НАЧИНАТЬ
SET @ stringData = @ stringData + '' '' '' '' '+ isnull (cast (convert (varbinary,' + @ colName + ') as varchar (6)),' '0' ') +' '' '' ' , '' + '
КОНЕЦ
ELSE - предположим, что тип данных - int, bit, numeric, decimal
НАЧИНАТЬ
--SET @ stringData = @ stringData + '' '' '' '' '+ isnull (cast (' + @ colName + 'as varchar (200)),' '0' ') +' '' '' ',' '' ' + '
--SET @ stringData = @ stringData + '' 'convert (datetime,' + '' '+ isnull (' '' '' + '' '' '+ convert (varchar (200),' + @ colName + ', 121) + '' '' '+' '' '', '' NULL '') + '', 121), '' + '
SET @ stringData = @ stringData + '' '' + '' '+ isnull (' '' '' + '' '' '+ convert (varchar (200),' + @ colName + ') +' '' '' + ' '' '', '' NULL '') + '', '' + '
КОНЕЦ
SET @ строка = @ строка + @ colName + ','
ВЫБРАТЬ ДАЛЕЕ ИЗ cursCol В @tableName, @ colName, @ dataType
КОНЕЦ
ОБЪЯВИТЬ @Query nvarchar (4000)
НАБОР @query = 'SELECT' '' + substring (@ string, 0, len (@string)) + ') VALUES (' '+' + substring (@ stringData, 0, len (@stringData) -2) + ' '' + '') '' ОТ '+ @ имя_таблицы
exec sp_executesql @query
--select @query
ЗАКРЫТЬ cursCol
ОТКЛЮЧИТЬ cursCol
/ *
использовать poc
идти
ОБЪЯВИТЬ @RC int
ОБЪЯВИТЬ @domain_user varchar (50)
ОБЪЯВИТЬ @tableName varchar (100)
- TODO: здесь установите значения параметров.установить @ domain_user = 'yorgeorg'
установить @tableName = 'tbGui_WizardTabButtonAreas'
ВЫПОЛНИТЬ @RC = [POC]. [Dbo]. [ProcUtils_InsertGenerator]
@domain_user
, @ tableName
* /
ИДТИ
SQL Server CREATE TABLE Заявление
В этом руководстве по SQL объясняется, как использовать оператор CREATE TABLE в SQL Server. Это руководство является первой частью из двух сообщений, описывающих операторы DDL (языка определения данных) в SQL Server.
Операторы DDL — это подмножество операторов SQL, используемых для создания, изменения или удаления структур базы данных.В этом посте вы узнаете, как создавать и удалять таблицы.
Это руководство позволяет вам ознакомиться со следующими темами:
В следующем посте будет описано, как использовать оператор SQL Server ALTER TABLE.
Заявление SQL Server CREATE TABLE
Оператор CREATE TABLE SQL Server используется для создания новых таблиц в базе данных.
Типы данных
Тип колонки | Описание | Пример |
VARCHAR ( размер ) | Строковый столбец.Значение в скобках указывает максимальный размер каждого поля в столбце (в символах) | VARCHAR (3) → «ABC» VARCHAR (3) → «AB» |
Десятичный (p, s) | Числовой столбец. P recision — количество цифр, S cale — сколько цифр находится после десятичной точки | ДЕСЯТИЧНЫЙ (5,2) → 476,29 ДЕСЯТИЧНЫЙ (5,2) → 6,29 |
ДАТА | Столбец формата даты | «ГГГГ-ММ-ДД» |
Значение по умолчанию для SQL Server
Столбцу можно присвоить значение по умолчанию с помощью ключевого слова DEFAULT.Ключевое слово DEFAULT предоставляет значение по умолчанию для столбца, когда инструкция SQL Server INSERT INTO не предоставляет конкретного значения. Значение по умолчанию может быть буквальным значением, выражением или функцией SQL, например GETDATE ().
Чтобы определить значение по умолчанию, используйте этот синтаксис:
ПО УМОЛЧАНИЮ default_value
Например:
СОЗДАТЬ ТАБЛИЦУ demo_tbl ( зарплата DECIMAL (8,2) ПО УМОЛЧАНИЮ 9500, rental_date ДАТА ПО УМОЛЧАНИЮ ’2011-01-27’, дата рождения ДАТА ПО УМОЛЧАНИЮ GETDATE () ) ВСТАВИТЬ demo_tbl ЗНАЧЕНИЯ (ПО УМОЛЧАНИЮ, ПО УМОЛЧАНИЮ, ПО УМОЛЧАНИЮ) ВЫБРАТЬ * ОТ demo_tbl зарплата наем_дата дата рождения ------ --------- ---------- 9500 2011-01-27 2014-01-13
Создание ограничений SQL Server
Ограничения применяют правила к данным в таблице всякий раз, когда строка вставляется, удаляется или обновляется.Ограничения можно определить на уровне столбца или таблицы.
Определение ограничений на уровне столбца
Ограничение на уровне столбца:
- Создается как часть определения столбца
- Всегда относится к одной колонке
- Ограничение на уровне столбца имеет следующую структуру:
CONSTRAINT имя_ограничения тип_ограничения
- Constraint_type — тип ограничения, которое должно применяться к столбцу (например, Unique или Not Null)
- Constraint_name — хотя и не является обязательным, всегда рекомендуется давать ограничению имя, что позволит вам легко идентифицировать его.
Многие разработчики баз данных обычно используют следующее соглашение об именах:
<имя таблицы> _ <имя_столбца> _ <сокращение ограничения>
Например:
Первичный ключ (PK)
В SQL Server ограничение первичного ключа — это столбец (или набор столбцов), который однозначно идентифицирует каждую строку в таблице, это ограничение обеспечивает уникальность и гарантирует, что ни один столбец, являющийся частью первичного ключа, не может содержать значение NULL.Для каждой таблицы можно создать только один первичный ключ.
Синтаксис для определения ограничения первичного ключа следующий:
имя_столбца тип_данных_столбца [значение ПО УМОЛЧАНИЮ] [имя_ограничения CONSTRAINT] ПЕРВИЧНЫЙ КЛЮЧ,
Например:
СОЗДАТЬ ТАБЛИЦЫ emps (emp_id decimal (3) CONSTRAINT emps_empid_pk PRIMARY KEY, emp_name varchar (25))
Обратите внимание — квадратные скобки в этой демонстрации (и в последующих) указывают на то, что заключенное в них необязательно, квадратные скобки не являются частью оператора CREATE TABLE.
Not Null (NN)
В SQL Server ограничение Not Null гарантирует, что столбец не содержит значений NULL. Синтаксис для определения ограничения Not Null следующий:
имя_столбца тип_данных_столбца [значение ПО УМОЛЧАНИЮ] [CONSTRAINT имя_ограничения] НЕ NULL,
Например:
СОЗДАТЬ ТАБЛИЦЫ emps (emp_id decimal (3) CONSTRAINT emps_empid_pk PRIMARY KEY, emp_name varchar (25) CONSTRAINT emps_emnm_nn NOT NULL)
Это ограничение может быть определено только на уровне столбца
УНИКАЛЬНЫЙ (UQ)
В SQL Server ограничение уникальности требует, чтобы каждое значение в столбце (или наборе столбцов) было уникальным.Синтаксис для определения ограничения UNIQUE следующий:
имя_столбца тип_данных_столбца [значение ПО УМОЛЧАНИЮ] [имя_ограничения CONSTRAINT] UNIQUE,
Например:
СОЗДАТЬ ТАБЛИЦЫ emps (emp_id decimal (3) CONSTRAINT emps_empid_pk PRIMARY KEY, emp_name varchar (25) CONSTRAINT emps_emnm_nn NOT NULL, emp_phone varchar (25) ОГРАНИЧЕНИЕ emps_empn_uq УНИКАЛЬНО)
ПРОВЕРКА (СК)
В SQL Server ограничение Check определяет условие, которому должна удовлетворять каждая строка.Синтаксис для определения ограничения проверки следующий:
имя_столбца тип_данных_столбца [значение ПО УМОЛЧАНИЮ] [КОНСТРАЙН имя_ограничения] ПРОВЕРКА (условие),
- Условие, записанное в CHECK, очень похоже по своей структуре на каждое из условий, записанных в операторе WHERE.
- Условие в части CHECK не должно включать:
- Значения, возвращаемые в результате использования ПОСЛЕДОВАТЕЛЬНОСТЕЙ
- Такие функции, как GETDATE ()
- Подзапросы
Например:
СОЗДАТЬ ТАБЛИЦЫ emps (emp_id decimal (3) CONSTRAINT emps_empid_pk PRIMARY KEY, emp_name varchar (25) CONSTRAINT emps_emnm_nn NOT NULL, emp_phone varchar (25) ОГРАНИЧЕНИЕ emps_empn_uq УНИКАЛЬНО, emp_mail varchar (25) CONSTRAINT emps_emml_ck CHECK (emp_mail LIKE _% @%.% '))
Другой пример:
СОЗДАТЬ ТАБЛИЦЫ emps (emp_id decimal (3) CONSTRAINT emps_empid_pk PRIMARY KEY, emp_name varchar (25) CONSTRAINT emps_emnm_nn NOT NULL, emp_phone varchar (25) ОГРАНИЧЕНИЕ emps_empn_uq УНИКАЛЬНО, emp_mail varchar (25) CONSTRAINT emps_emml_ck CHECK (emp_mail LIKE '_%@%.%'), emp_sal decimal (8,2) CONSTRAINT emp_sal_ck CHECK (emp_sal & amp; amp; amp; lt; & amp; amp; amp; gt; 5000))
ИНОСТРАННЫЙ КЛЮЧ (FK)
В SQL Server ограничение внешнего ключа обозначает столбец (или набор столбцов) как внешний ключ и устанавливает связь между первичным ключом (или уникальным) в другой таблице (или в той же таблице).Синтаксис для определения ограничения проверки следующий:
имя_столбца… [CONSTRAINT имя_ограничения] ССЫЛКИ имя_таблицы (имя_столбца) [ON DELETE CASCADE] [ON DELETE SET NULL]
Пример:
Родительский стол
СОЗДАТЬ ТАБЛИЦУ deps (dep_id decimal (3) ОГРАНИЧЕНИЕ deps_id_pk ПЕРВИЧНЫЙ КЛЮЧ, имя_использования varchar (25))
Детский стол
СОЗДАТЬ ТАБЛИЦЫ emps (emp_id decimal (3) CONSTRAINT emps_empid_pk PRIMARY KEY, emp_name varchar2 (25) CONSTRAINT emps_emnm_nn NOT NULL, emp_phone varchar2 (25) ОГРАНИЧЕНИЕ emps_empn_uq УНИКАЛЬНО, emp_mail varchar2 (25) CONSTRAINT emps_emml_ck CHECK (emp_mail LIKE '_% @%.% '), emp_sal decimal (8,2) КОНСТРЕЙНТ emp_sal_ck ПРОВЕРКА (emp_sal & amp; amp; gt; 5000), dep_id decimal (3) ОГРАНИЧЕНИЕ emp_depid_fk ССЫЛКИ deps (dep_id))
Ограничения уровня таблицы
- Создается после определения различных столбцов.
- Может относиться к более чем одному столбцу (ограничение, состоящее из двух столбцов вместе).
- Позволяет создать несколько ограничений для одного столбца.
- Невозможно создать ограничение NOT NULL с помощью этого метода.
Например:
СОЗДАТЬ ТАБЛИЦЫ emps (emp_id DECIMAL (3), emp_f_name VARCHAR (25), emp_l_name VARCHAR (25), emp_phone VARCHAR (25) ОГРАНИЧЕНИЕ emps_empn_nn NOT NULL, emp_mail VARCHAR (25), emp_sal DECIMAL (8,2), dep_id DECIMAL (3), ОГРАНИЧЕНИЕ emps_empid_pk ПЕРВИЧНЫЙ КЛЮЧ (emp_id), ОГРАНИЧЕНИЕ emps_empn_uq UNIQUE (emp_f_name, emp_l_name), CONSTRAINT emps_emml_ck1 CHECK (emp_mail LIKE '_%@%.%'), CONSTRAINT emps_emml_ck2 CHECK (LENGTH (emp_mail) & amp; amp; gt; 15), ОГРАНИЧЕНИЕ emps_emml_uq УНИКАЛЬНО (emp_mail), ОГРАНИЧИТЬ emp_sal_ck CHECK (emp_sal & amp; amp; amp; gt; 5000), ОГРАНИЧЕНИЕ emp_depid_fk ИНОСТРАННЫЙ КЛЮЧ (dep_id) ССЫЛКИ deps (dep_id))
Удалить существующую таблицу
Синтаксис, используемый для удаления существующей таблицы в SQL Server, следующий:
DROP TABLE имя_таблицы
Например,
DROP TABLE сотрудники
СОЗДАТЬ ТАБЛИЦУ [ИСПОЛЬЗОВАНИЕ] (Databricks SQL)
ЗАМЕНИТЬ
Если указано, заменяет таблицу и ее содержимое, если оно уже существует.Это предложение поддерживается только для таблиц Delta Lake.
Примечание
Databricks настоятельно рекомендует использовать REPLACE
вместо удаления и повторного создания таблиц Delta Lake.
ЕСЛИ НЕТ
Если указано и таблица с таким именем уже существует, оператор игнорируется.
ЕСЛИ НЕ СУЩЕСТВУЕТ
не может сосуществовать с REPLACE
, что означает, что CREATE OR REPLACE TABLE IF NOT EXISTS
не допускается.
имя_таблицы
Имя создаваемой таблицы. Имя не должно включать временную спецификацию.
Если имя не определено, таблица создается в текущей базе данных.
column_specification
Это необязательное предложение определяет список столбцов, их типы, свойства и описания.
Если вы не определяете столбцы в схеме таблицы, вы должны указать либо AS, запрос
, либо LOCATION
.
идентификатор_столбца
Уникальное имя столбца.
column_type
Задает тип данных столбца.
Не все типы данных, поддерживаемые Databricks, поддерживаются всеми источниками данных.НЕ ПУСТО
Если указано, столбец не будет принимать значения
NULL
. Это предложение поддерживается только для таблиц Delta Lake.СОЗДАЕТСЯ ВСЕГДА КАК (expr)
Когда вы указываете это предложение, значение этого столбца определяется указанным
expr
.expr
может состоять из литералов, идентификаторов столбцов в таблице и детерминированных встроенных функций или операторов SQL, за исключением:Также
expr
не должен содержать подзапрос.КОММЕНТАРИЙ column_comment
Строковый литерал для описания таблицы.
ИСПОЛЬЗОВАНИЕ data_source
Формат файла для таблицы. источник_данных
должен быть одним из ТЕКСТ
, AVRO
, CSV
, JSON
, JDBC
, PARQUET
, ORC
или DELTA
.Если ИСПОЛЬЗОВАНИЕ
опущено, значение по умолчанию — ДЕЛЬТА
.
В Databricks SQL все таблицы, кроме таблиц Delta Lake, доступны только для чтения.
таблица_пунктов
Дополнительно укажите расположение, разбиение, кластеризацию, параметры, комментарии и определенные пользователем свойства для новой таблицы.
Каждый подпункт можно указать только один раз.
РАЗДЕЛЕНА НА
Необязательное условие для разделения таблицы на подмножество столбцов.
Примечание
Если вы не определите разделение таблицы Delta Lake, столбцы, ссылающиеся на столбцы в спецификации столбца, всегда перемещаются в конец таблицы.
кластеризованный_по_ пункту
Необязательно сгруппируйте таблицу или каждый раздел в фиксированное количество хэш-сегментов, используя подмножество столбцов.
Кластеризация не поддерживается для таблиц Delta Lake.
В КЛАСТЕРЕ ПО
Задает набор столбцов для кластеризации каждого раздела или таблицу, если разбиение не указано.
cluster_column
Идентификатор, ссылающийся на
идентификатор_столбца
в таблице. Если вы укажете более одного столбца, не должно быть дубликатов.
Поскольку кластеризация работает на уровне раздела, вы не должны называть столбец раздела также столбцом кластера.
СОРТИРОВАТЬ ПО
Дополнительно поддерживает порядок сортировки строк в корзине.
sort_column
Столбец для сортировки корзины.Столбец не должен быть столбцом раздела.
Столбцы сортировки должны быть уникальными.ASC или DESC
Дополнительно указывает, будет ли
sort_column
отсортирован по возрастанию (ASC
) или убыванию (DESC
).
Значения по умолчанию —ASC
.
INTO num_buckets BUCKETS
Литерал INTEGER, определяющий количество сегментов, на которые делится каждый раздел (или таблица, если разделение не указано).
МЕСТОПОЛОЖЕНИЕ путь
Необязательный путь к каталогу, в котором хранятся данные таблицы, который может быть путем в распределенном хранилище.
путь
должен быть литералом STRING.
Если вы не укажете расположение, таблица будет считаться управляемой таблицей,
и Databricks создает расположение таблицы по умолчанию.
Указание местоположения делает таблицувнешней таблицей
.Для таблицы Delta Lake конфигурация таблицы наследуется от
МЕСТОПОЛОЖЕНИЕ
, если данные присутствуют.Следовательно, если для таблиц Delta Lake указаны какие-либо предложенияTBLPROPERTIES
,column_specification
илиPARTITION BY
, они должны точно соответствовать данным местоположения Delta Lake.ОПЦИИ
Параметры таблицы для управления поведением таблицы. Это предложение не поддерживается , если источником данных является
DELTA
.option_key
Ключ может состоять из одного или нескольких идентификаторов, разделенных точкой, или строкового литерала.
Ключи опций должны быть уникальными.
option_val
Стоимость опциона. Значение должно быть литералом BOOLEAN, STRING, INTEGER или DECIMAL.
КОММЕНТАРИЙ table_comment
Строковый литерал для описания таблицы.
TBL СВОЙСТВА
Устанавливает одно или несколько определяемых пользователем свойств существующего представления. Свойства — это пары ключ-значение.
property_key
Ключ может состоять из одного или нескольких идентификаторов, разделенных точкой, или строкового литерала.
Ключи свойств должны быть уникальными.
property_val
Стоимость собственности. Значение должно быть литералом BOOLEAN, STRING, INTEGER или DECIMAL.
Запрос AS
Это необязательное предложение заполняет таблицу с использованием данных из запроса
.Когда вы указываете запрос
, вы также не должны указывать column_specification
. Схема таблицы будет получена из запроса.
Обратите внимание, что Databricks перезаписывает базовый источник данных данными
входной запрос, чтобы убедиться, что созданная таблица содержит точно те же данные, что и входной запрос.
.