Создаем базу данных в SQL
В этой статье вы узнаете, как с помощью SQL-инструкции CREATE DATABASE создать базу данных в реляционной системе управления базами данных: MySQL, SQL Server и т.д.
Создание базы данных
Прежде чем что-то делать с данными, необходимо создать базу данных. Мы предполагаем, что у вас уже есть MySQL или SQL Server, а также все необходимые разрешения. Если нет — вернитесь к статье «Начинаем изучать SQL» — там мы настраивали окружение для работы с SQL.
Для создания базы данных в SQL используется инструкция CREATE DATABASE .
Синтаксис
Базовый синтаксис CREATE DATABASE — прост:
CREATE DATABASE имя_бд;
Например, следующая инструкция создаст базу данных с именем demo .
CREATE DATABASE demo;
Создание базы данных не выбирает ее для использования. Поэтому, прежде чем двигаться дальше, необходимо выбрать целевую базу данных с помощью оператора USE. Например, инструкция USE demo; установит базу данных demo в качестве целевой базы данных для всех последующих инструкций.
Примечание. В Unix имена баз данных и таблиц чувствительны к регистру, поэтому demo , Demo и DEMO — разные базы данных. Названия баз данных принято записывать прописными буквами, поэтому лучший вариант — demo . При этом ключевые слова в SQL к регистру не чувствительны, поэтому, CREATE DATABASE — это то же самое, что и create database .
Создание базы данных в MySQL
Давайте создадим базу данных в MySQL с помощью командной строки.
Шаг 1. Вызываем инструмент MySQL для командой строки
Чтобы вызвать командную строку MySQL, сначала нужно войти на сервер MySQL. Чтобы войти в систему под пользователем root, введите в терминале следующую команду и нажмите клавишу Enter.
shell> mysql -u root -p
Вам будет предложено ввести пароль. Введите пароль и нажмите Enter. Если пароль правильный, появится приглашение mysql>, с помощью которого вы сможете выполнять SQL-запросы и просматривать результаты.
Шаг 2. Создаем базу данных
Теперь выполните следующую команду для создания базы данных с именем demo .
mysql> CREATE DATABASE demo;
Если база данных создана успешно, вы увидите примерно такое сообщение:
Query OK, 1 row affected (0.03 sec)
Если вы попытаетесь создать базу данных, которая уже существует, вы получите сообщение об ошибке. Чтобы избежать этого в MySQL, вы можете использовать ключевые слова IF NOT EXISTS , как показано ниже:
mysql> CREATE DATABASE IF NOT EXISTS demo;
Шаг 3. Выбираем базу данных
Введите следующую команду и нажмите Enter.
mysql> USE demo;
Вы увидите сообщение «Database changed». Теперь наша база данных demo выбрана в качестве базы данных по умолчанию для всех последующих инструкций.
Совет. Если вы хотите увидеть список существующих баз данных на сервере MySQL, введите SHOW DATABASES; в командной строке.
СodeСhick.io — простой и эффективный способ изучения программирования.
2023 © ООО «Алгоритмы и практика»
#2 — Создание БД, таблиц и работа с ними
В ходе урока вы изучите базовые SQL команды, позволяющие создать БД, а также таблицы внутри неё. Также вы научитесь удалять БД (Drop Database) и добавлять поля в таблицу (Alter Table).
Видеоурок
Структура баз данных выглядит так: базы данных -> таблицы -> записи. Для сохранения записей изначально надо создать базу данных, которая будет хранить все таблицы. Таблицы в свою очередь будут хранить различные данные.

Для создания базы данных и таблицы используется оператор CREATE :
CREATE DATABASE blog; -- Создание таблицы CREATE TABLE articles( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(20), PRIMARY KEY(id) );
Для удаления базы данных или таблицы используется оператор DROP :
DROP DATABASE blog; -- Удаление таблицы DROP TABLE articles;
Для добавления полей в таблицу используется оператор ALTER :
ALTER TABLE articles ADD newOne INT; -- Удаление поля ALTER TABLE articles DROP COLUMN newOne;
Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Как создать базу данных с помощью sql

Оно возвращает нам целую таблицу, а точнее, возвращает все столбцы и строки из таблицы с именем Pets (питомцы).
Звездочка ( * ) — это шаблонный символ, который означает «все столбцы». Это простой и короткий способ указать, что нам нужны они все, не перечисляя каждый столбец по имени. Это одна из прекрасных возможностей SQL. Наиболее простые запросы на самом деле являются наиболее мощными. Если же нам требуется вернуть меньше данных, нам придется написать запрос подлиннее. Например, если нам нужна информация только о питомце по имени Fetch , нам нужно будет добавить предложение WHERE , в котором и будет описано наше требование.
Выглядеть это будет так:

Чтобы выполнять запросы SQL, вам понадобится:
- Установленная РСУБД (например, SQL Server, MySQL, PostgreSQL, SQLite или подобная).
- Инструмент для выполнения запросов SQL для выбранной РСУБД (MySQL Workbench, Asure Data Studio (показано на рисунке), DBeaver или SSMS).
Если у вас уже установлена одна из перечисленных СУБД и подходящий для неё инструмент, то вы можете смело продолжать изучение. В противном случае, перед тем, как продолжить чтение этого руководства загляните в раздел Как мне запустить SQL? (англ.) за инструкциями по установке необходимого программного обеспечения.
Статья по теме
Создаем базу данных
Итак, вы готовы создать свою первую базу данных. Введите запрос:
CREATE DATABASE PetHotel;
Это выражение создаст пустую базу данных. В дальнейшем она будет содержать таблицы и записи, которые вы встретите позже в этом руководстве. Все последующие действия, такие как создание таблиц или добавление данных, мы теперь будем производить только в нашей новой базе.
Нужно отметить, что MySQL использует несколько иной синтаксис запроса для создания БД. Если вы используете SQLite, посмотрите раздел Как создать базу данных SQLite (англ.).
Соединение с базой данных
Прежде чем создавать таблицы, добавлять записи или выполнять какие-либо иные задачи, вам необходимо удостовериться, что вы подключены к нужной базе данных. Только операция создания базы данных, как только что мы сделали с вами, не нуждается в подключении.
Во многих СУБД (например, в SQL Server, MySQL или MariaDB), для подключения к базе PetHotel мы можем использовать следующее выражение SQL:
USE PetHotel;
Оно сделает базу PetHotel текущей базой данных.
В СУБД SQLite база данных становится текущей сразу после создания. Если база данных была создана ранее, вы можете подключить её. Если же такая база еще не существует, она будет создана в момент подключения:
ATTACH DATABASE 'PetHotel.db' AS Pets;
В СУБД PostgreSQL, если вы используете консольный инструмент psql , вы можете применить команду:
\\connect PetHotel
или более короткий её вариант:
\\c PetHotel
Должен обратить ваше внимание: команды для создания базы данных и подключения к ней сильно отличаются в зависимости от используемой СУБД.
К счастью, большинство инструментов с графическим интерфейсом позволяют вам подключить базу данных проще, двойным щелком мыши на имени базы данных или выбрав команду из контекстного меню, которое открывается при щелчке правой кнопкой мыши на имени базы. Если у вас возникли сложности на этом шаге, просто используйте графический интерфейс для создания базы данных или для подключения к ней.
Статья по теме
Создаем таблицу
Теперь, после того как вы подключились к нужной базе данных, можно создать в ней таблицу. Для этого необходимо использовать оператор CREATE TABLE . При создании таблицы нужно перечислить, какие в ней будут столбцы и указать тип для каждого из них. Кроме того, вы можете указать и другие детали, но давайте пока не будем забегать вперед.
Давайте создадим таблицу:
CREATE TABLE PetTypes ( PetTypeId int NOT NULL PRIMARY KEY, PetType varchar(60) NOT NULL );
Этот фрагмент кода создаст таблицу с именем PetTypes (виды питомцев). Имя новой таблицы указывается сразу после оператора CREATE TABLE . Далее следует список столбцов, заключенный в фигурные скобки < >.
В нашем случае в таблицу будут добавлены две колонки:
После каждой из них указан тип данных:
- int означает, что в колонке будут храниться целые числа. Большинство основных СУБД поддерживают такой тип. Если вдруг у вас возникла ошибка, попробуйте использовать integer вместо int ;
- varchar(60) означает, что в колонке будут храниться строки длиной от 0 до 60 символов. Строки с типом varchar – это строки переменной длины. Есть и другие строковые типы, например char для строк фиксированной длины. Если у вас возникла ошибка при указании типа varchar(60) попробуйте использовать тип char(60) .
Источники
Пример: Создание представлений базы данных в Db2 с помощью SQL
Вы можете использовать SQL для создания представлений таблиц и классов пространственных объектов в многопользовательской базе геоданных, чтобы ограничить доступ пользователей к столбцам или записям, или вы можете задать представление для объединения информации из двух таблиц или класса пространственных объектов и таблицы. При включении пространственного столбца в представление пользователи могут визуализировать объекты на карте в клиенте ArcGIS Desktop .
В примерах этого раздела показано, как создавать представления в базе данных IBM Db2 . Одно из представлений ограничивает доступ пользователя к определенным столбцам. Другое представление применяется для отображения содержания двух различных таблиц. Эти примеры основаны на таблицах со следующими определениями:
Определение таблицы для сотрудников
CREATE TABLE employees( emp_id integer not null, name varchar(32), department smallint not null, hire_date date not null );
Определение таблицы для регионов
CREATE TABLE regions( objectid integer not null, emp_id integer not null, reg_id integer not null, rname varchar(32), region st_geometry );
Предоставление прав доступа к таблицам
Если создающий представление пользователь не является владельцем таблицы или таблиц в этом представлении, владелец таблиц должен предоставить ему как минимум право выборки в этих таблицах.
В данном примере таблицы, на базе которых построены представления (employees и regions), принадлежат пользователю gdb. Представление создается пользователем rocket.
db2 => connect to testdb user gdb using gdb.dbg Database Connection Information Database server = DB2 10.5.5 SQL authorization ID = GDB Local database alias = TESTDB db2 => GRANT SELECT ON employees TO USER rocket; db2 => GRANT SELECT ON regions TO USER rocket;
Создание представления для ограничения доступа
В этом примере пользователь rocket создает представление (view_dept_201) таблицы employees, чтобы ограничить доступ только к тем строкам, где подразделение соответствует значению 201:
db2 => connect to testdb user rocket using nopeeking Database Connection Information Database server = DB2 10.5.5 SQL authorization ID = ROCKET Local database alias = TESTDB db2 => CREATE VIEW view_dept_201 AS SELECT emp_id, name, department, hire_date FROM gdb.employees WHERE department = 201;
Создание представления для соединения двух таблиц
В этом примере представление emp_regions_view соединяет пространственную таблицу (класс объектов) с непространственной таблицей по столбцу emp_id. Представление включает в себя ObjectID, пространственный столбец (region) и имя региона (rname) из класса объектов regions, а также имя и ID сотрудника из таблицы employees.
connect to testdb user gdb using gdb.dbg Database Connection Information Database server = DB2 10.5.5 SQL authorization ID = GDB Local database alias = TESTDB CREATE VIEW emp_regions_view AS SELECT (e.emp_name,e.emp_id,r.objectid,r.rname,r.region) FROM employees e, regions r WHERE e.emp_id = r.emp_id;
Предоставление прав доступа к представлениям
Права доступа к представлениям можно предоставлять определенным пользователям, не передавая им права доступа к базовым таблицам (employees и regions). В данном примере пользователю dispatch_mgr предоставлено право доступа к обоим представлениям:
db2 => connect to testdb user rocket using nopeeking Database Connection Information Database server = DB2 10.5.5 SQL authorization ID = ROCKET Local database alias = TESTDB db2 => GRANT SELECT ON rocket.view_dept_201 TO USER dispatch_mgr; db2 => GRANT SELECT ON rocket.emp_region_view TO USER dispatch_mgr;
Теперь пользователь dispatch_mgr может получить доступ к view_dept_201, чтобы просмотреть записи всех сотрудников отдела 201 и получить доступ к emp_region_view из подключения к базе данных в ArcMap или ArcGIS Pro , чтобы просмотреть все регионы. Когда dispatch_mgr запрашивает в представлении регион, ArcGIS возвращает название региона, а также имя и ID всех работников в этом регионе.
