Изучите основы SQL, создайте свою первую базу данных и таблицу в PostgreSQL. Узнайте о типах данных и как правильно структурировать информацию.
Введение в SQL
SQL (Structured Query Language) — это язык, разработанный для управления данными в реляционных базах данных. Представьте, что SQL — это универсальный язык, на котором вы «разговариваете» с базой данных.
Основные категории команд SQL:
- DDL (Data Definition Language): CREATE, ALTER, DROP
- DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE
- DCL (Data Control Language): GRANT, REVOKE
Создание базы данных
Давайте создадим нашу первую базу данных:
CREATE DATABASE my_first_db;
Для подключения к новой базе данных:
Mac:
\c my_first_db
Windows:
\connect my_first_db
Типы данных в PostgreSQL
PostgreSQL предлагает множество типов данных. Вот некоторые из наиболее часто используемых:
- Числовые: INTEGER, BIGINT, NUMERIC, REAL
- Символьные: CHAR, VARCHAR, TEXT
- Дата/время: DATE, TIME, TIMESTAMP
- Логические: BOOLEAN
- Специальные: JSON, UUID
Пример:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(255),
age INTEGER,
registration_date DATE
);
Создание таблицы
Теперь давайте создадим нашу первую таблицу:
CREATE TABLE books (
id SERIAL PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author VARCHAR(100),
publication_year INTEGER,
isbn VARCHAR(13) UNIQUE,
price NUMERIC(6,2),
is_available BOOLEAN DEFAULT TRUE
);
Разберем этот код:
- SERIAL: автоинкрементное целое число
- PRIMARY KEY: уникальный идентификатор для каждой записи
- NOT NULL: поле не может быть пустым
- UNIQUE: значение должно быть уникальным в пределах таблицы
- DEFAULT: значение по умолчанию
Изменение структуры таблицы
Иногда нам нужно изменить структуру существующей таблицы. Для этого используется команда ALTER TABLE:
Добавление нового столбца:
ALTER TABLE books ADD COLUMN genre VARCHAR(50);
Изменение типа данных столбца:
ALTER TABLE books ALTER COLUMN price TYPE NUMERIC(7,2);
Удаление столбца:
ALTER TABLE books DROP COLUMN genre;
Удаление таблицы и базы данных
Если нам нужно удалить таблицу:
DROP TABLE books;
Для удаления базы данных (будьте осторожны!):
DROP DATABASE my_first_db;
Практический пример
Давайте создадим базу данных для небольшого онлайн-магазина:
CREATE DATABASE online_store;
\c online_store
CREATE TABLE products (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL,
description TEXT,
price NUMERIC(10,2) NOT NULL,
stock_quantity INTEGER NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
registration_date DATE DEFAULT CURRENT_DATE
);
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
customer_id INTEGER REFERENCES customers(id),
order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
total_amount NUMERIC(12,2) NOT NULL
);
В этом уроке мы познакомились с основами SQL и структурой данных в PostgreSQL. Мы научились создавать базы данных и таблицы, узнали о различных типах данных и как их использовать. Теперь у вас есть фундамент для дальнейшего изучения PostgreSQL и работы с данными. В следующем уроке мы погрузимся в манипуляцию данными и научимся выполнять CRUD операции.
Домашнее задание:
- Создайте базу данных для библиотеки.
- В этой базе данных создайте таблицы для книг, авторов и читателей.
- Добавьте в таблицу книг столбец для рейтинга (от 1 до 5 звезд).
- Попробуйте изменить тип данных одного из столбцов.
- Создайте еще одну таблицу по вашему выбору и добавьте в нее не менее 5 столбцов разных типов данных.
Удачи в изучении PostgreSQL!
Чтобы научиться эффективно управлять данными, ознакомьтесь с уроком 3: Мастерство CRUD операций в PostgreSQL.