💻 Примеры
Создание таблицы Employees
CREATE TABLE Employees (
EmployeeID INT AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(50) NOT NULL,
LastName VARCHAR(50) NOT NULL,
BirthDate DATE,
HireDate DATE DEFAULT CURRENT_DATE,
Salary DECIMAL(10, 2) CHECK (Salary > 0),
Email VARCHAR(100) UNIQUE
);
Вставка данных
INSERT INTO Employees (FirstName, LastName, BirthDate, Salary, Email)
VALUES ('Alice', 'Green', '1985-05-15', 55000.00, 'alice.green@example.com'),
('Bob', 'Smith', '1990-08-22', 60000.00, 'bob.smith@example.com'),
('Charlie', 'Johnson', '1988-02-10', 52000.00, 'charlie.johnson@example.com'),
('Diana', 'Williams', '1992-11-01', 58000.00, 'diana.williams@example.com'),
('Edward', 'Brown', '1987-09-30', 61000.00, 'edward.brown@example.com');
Попытка вставить данные с нарушением ограничений
-- Ошибка: дублирующий Email
INSERT INTO Employees (FirstName, LastName, Salary, Email)
VALUES ('Frank', 'White', 50000.00, 'alice.green@example.com');
-- Ошибка: Salary не проходит CHECK
INSERT INTO Employees (FirstName, LastName, Salary, Email)
VALUES ('Grace', 'Black', -1000.00, 'grace.black@example.com');
-- Ошибка: NOT NULL на FirstName
INSERT INTO Employees (LastName, Salary, Email)
VALUES ('Gray', 50000.00, 'gray@example.com');
Копирование таблицы
CREATE TABLE Employees_short AS
SELECT * FROM Employees
LIMIT 2;
Обновление данных
-- Обновить зарплату одного сотрудника
UPDATE Employees
SET Salary = 65000
WHERE EmployeeID = 1;
-- Увеличить зарплату сотрудников, нанятых с 2024 года, на 10%
UPDATE Employees
SET Salary = Salary * 1.10
WHERE HireDate >= '2024-01-01';
Проверка созданной таблицы
DESCRIBE Employees;
SELECT * FROM Employees;