Разработка — это весело, и хотя на прошлой неделе мы были в основном сосредоточены на работе с серверной частью с использованием узла, сейчас мы, если быть точным, занимаемся базами данных Mysql. Итак, без лишних слов давайте приступим к созданию простой базы данных с операциями CRUD, в которой представлены ваши любимые продукты электронной коммерции, больше похожие на мои. Но вы поняли суть!
СОЗДАТЬ БАЗУ ДАННЫХ
CREATE DATABASE productDB;
ПОКАЗАТЬ БАЗЫ ДАННЫХ
SHOW DATABASES;
СОЗДАТЬ ТАБЛИЦУ
CREATE TABLE product ( id int(10) unsigned not null AUTO_INCREMENT, brand VARCHAR(20), type VARCHAR(20), price VARCHAR(10) );
ПОКАЗАТЬ ТАБЛИЦЫ
SHOW TABLES;
СОЗДАТЬ ПРОДУКТ
INSERT INTO product (brand, type, price) VALUES ('Obey', 'Sweater', '29.99'); INSERT INTO product (brand, type, price) VALUES ('Diamond Supply', 'Jogger', '59.99'); INSERT INTO product (brand, type, price) VALUES ('Nike', 'Socks', '9.99');
ПРОЧИТАТЬ ВСЕ ПРОДУКТЫ
SELECT * FROM product;
ОБНОВИТЬ ПРОДУКТ
UPDATE product SET price = '55.99' WHERE type = 'Sweater';
УДАЛИТЬ ПРОДУКТ
DELETE FROM product WHERE brand = 'OBEY';
ИЗМЕНИТЬ ТАБЛИЦУ
ALTER TABLE product ADD quantity int(10000);
УДАЛИТЬ СТОЛ
DROP TABLE product;
ТИПЫ ДАННЫХ
CHAR | VARCHAR | BLOB | INT | DEC | DATE| DATETIME | TIMESTAMP
ГДЕ
SELECT * FROM product WHERE brand = 'obey';
МЕЖДУ
WHERE age BETWEEN 30 AND 55;
ПОДСТАВНОЙ КАРТА И НРАВИТСЯ
SELECT * FROM product WHERE brand LIKE %n%;
КАК
SELECT * FROM product WHERE brand LIKE "__ke";
НЕ КАК
SELECT * FROM product WHERE brand NOT LIKE 'O%';
УДАЛИТЬ
DELETE FROM product WHERE price = '';
ОБНОВИТЬ
UPDATE product SET price = '109.99' WHERE price = '29.99';
ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ
SELECT * FROM product_reviews, products;
НЕЯВНОЕ ВНУТРЕННЕЕ СОЕДИНЕНИЕ
SELECT * FROM product_reviews, product WHERE product.id = product_reviews.product_id;
ЯВНОЕ ВНУТРЕННЕЕ СОЕДИНЕНИЕ
SELECT * FROM product_reviews, product JOIN product_reviews ON product.id = product_reviews.product.id WHERE rating > 3;
ВЫБЕРИТЕ ПОДСТРОКУ
SUBSTRING_INDEX(столбец, шаблон, длина)
SELECT SUBSTRING_INDEX (cell, '-', 1) FROM contact;
ЗАЯВЛЕНИЯ ИЗМЕНЕНИЯ
ALTER TABLE product DROP COLUMN type; ALTER TABLE product MODIFY COLUMN product_desc VARCHAR(120); ALTER TABLE product CHANGE COLUMN id product_id INT NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY ('product_id'); ALTER TABLE product ADD COLUMN id INT NOT NULL AUTO_INCREMENT FIRST;
СИНТАКСИС ДЕЛА
SELECT product CASE quantity WHEN > 10 THEN 'Plenty of stock WHEN < 10 THEN 'Running low' ELSE 'No more in stock!' END FROM products;
СУММА
SELECT SUM(total) FROM order GROUP BY type;
СЧИТАТЬ
SELECT COUNT(total) FROM order GROUP BY type;
ОТЧЕТЛИВЫЙ
SELECT DISTINCT date FROM order ORDER BY date;
ПОТРЯСАЮЩИЕ ВОПРОСЫ
SELECT first_name SUM(sales) FROM product_sales GROUP BY first_name ORDER BY SUM(sales)