- Базы данных - хранилища таблиц
- Типы (data type) для колонки
- Запросы select, show
БД бываюют реляционные и другие - нам надо реляционные
Транзакционность - Суть базы данных и самих таблиц да
Таблица состоит из записей (строк) и колонок (столбиков)
(Смотрим как ее смешно))) создавать и удалять)
Таблица должна иметь хотябы одну колонку с id записей.
Может иметь индексы и constraints
Индексы оссобенно foreign какбы связывают записи в таблицах
Поле описывается типом, кол-вом символов, constraints: ’not null’ или ’default ...’
Типы ввели для того чтобы экономить место и проверять ограничения
Для рассмотрения sql создадим бедешку для сбора денег на нужды групы(соседей, домов, гаражей без разницы)
состоящую из двух таблиц:)
- user
- payment
Введите эти запросы:
CREATE TABLE `user` (
`user_id` INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(64) NOT NULL COMMENT ’name or address’,
`email` CHAR(64) NOT NULL
);
insert into user (name, email) values (’Dadas A.’, ’dudas@’);
insert into user (name, email) values (’Vaso E.’, ’vasoel@’);
insert into user (name, email) values (’Skavro S.’, ’kavr@’);
CREATE TABLE `payment` (
`payment_id` bigint(21) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
`user_id` int UNSIGNED NOT NULL,
`project` varchar(48) NOT NULL COMMENT ’payee’,
`amount` int(11) DEFAULT NULL,
`dt` datetime DEFAULT NULL
) COMMENT=’stock of noney payments’;
insert into payment (user_id, project, amount, dt) values (2, ’klumba’,10, ’2022-12-12 13:20’);
insert into payment (user_id, project, amount, dt) values (3, ’klumba’,10,’2022-10-12 11:10’);
insert into payment (user_id, project, amount, dt) values (1, ’lift’,20, ’2022-11-12 09:01’);
insert into payment (user_id, project, amount, dt) values (3, ’lift’,20,’2022-11-12 12:30’);
Data types:
Частоиспользуемые:
date / datetime / timestamp
char / varchar
int / tinyint / bigint
Редкоиспользуемые:
text / longtext / bynary
float / double
Пример:
CREATE TABLE `payment` (
`payment_id` int UNSIGNED NOT NULL AUTO_INCREMENT,
`holder_id` int UNSIGNED NOT NULL,
`payment_service_id` int DEFAULT NULL,
`amount` int(10) DEFAULT NULL,
`currency` char(5) NOT NULL,
`description` varchar(255) DEFAULT NULL,
`dt_payment` datetime DEFAULT Now(),
`operator_fullname` varchar(55) DEFAULT NULL,
`dig_sign` varchar(1024) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’stock of financial payments’;
!!!Hack: SHOW CREATE TABLE tb-name;
Запросы select с условиями
NOT - Инвертирует Ноль в единицу и наоборот.
OR - резульат Ноль только тогда когда оба вхождения нулевые.
AND - наоборот: в результате единичка только когда оба входа единички.
!!! Необходимо заменить символ ≺ на нормальный знак “меньше“
select * from tb-name where a ≺ 10;
select * from tb-name where 2 ≺ a OR a ≺ 10; /* */
SELECT * FROM payment WHERE (dt_payment BETWEEN ’2010-01-30 14:15:55’ AND ’2010-09-29 10:15:55’)
LIKE ’...’
MIN
MAX
IN / NOT IN (..)
LEFT JOIN:
15 views
548
171
1 week ago 00:23:20 1
КОГДА НЕ СПИШУТ ДОЛГИ ПО ВНЕСУДЕБНОМУ БАНКРОТСТВУ ЧЕРЕЗ МФЦ