Вот пример, который нужно было запустить.
Скрытый текст
Код:
create database sale2; # создание базы данных - продажи
use sale2; # указываем базу данных , для добавления в нее данных и изменения
# создаем таблицу платежей
/*первое поле `num` - это порядковый номер платежа, оно должно быть уникальным, не должно быть пустым;
`2`-е поле paydate - дата продажи, не должна быть пустой, обязательна к заполению,
по умолчанию подставляется текущая дата и время, которое берется из системных значений
компьютера, на котором работает данная база данных;
поле receiver - получатель платежа, не должно иметь пустого значения;
поле amount - здесь вводится сумма платежа, поле не должно быть пустым, оно имеет в сумме
`10` разрядов,из них:
`2`-разряда после запятой,
`8`-разрядов цифр перед запятой разрядов"*/
create table payments(num INT not null,
paydate datetime not null default current_timestamp,
receiver int not null,
amount decimal(10,2) not null,
primary key(num),
unique(num) );
# смотрим описание таблицы
desc payments;
# наполняем таблицу
insert into payments (num,paydate,receiver,amount)
values(1,'2016-10-30 15:00:00',1,35000.5),
(2,'2017-11-30 15:25:00',2,25000.5),
(3,'2015-11-30 10:25:00',2,15000.5),
(4,'2014-11-30 11:25:00',3,10000.5),
(5,'2014-11-30 11:25:00',3,10000.5);
# используем, при заполнении таблицы, значение по умолчанию для поля paydate
# поэтому это поле и значения для него опустим из параметров
insert into payments (num,receiver,amount)
values(6,4,1000.5),
(7,2,500.5),
(8,3,17000.5),
(9,1,100.5),
(10,4,15000.5);
# производим выборку всех данных из таблицы payments
select * from payments;
# создаем таблицу получателей
/*первое поле num - это порядковый номер получателя, оно должно быть уникальным, не должно быть пустым;
`name` - так как это слово зарезервировано, обозначим его обратными кавычками,
обозначим максимальный размер хранимой строки, Указание правильного размера поля таблицы,
может значительно сэкономить занимаемую ею память.
`VARCHAR` - это тип данных - строковые данные переменной длины,сделаем данное поле индексируемым и уникальным
и назначим данному полю первичный ключ;
*/
create table receivers( num INT not null,
`name` Varchar(255) not null,
PRIMARY KEY(`name`), INDEX (`name`), UNIQUE (name));
# смотрим описание таблицы
desc receivers;
# наполняем таблицу receivers
insert into receivers (num,`name`)
values(1,'ВЭБ'),
(2,'АБСОЛЮТ'),
(3,'ФОНД СОРЕСА'),
(4,'ВАЛЮТНЫЙ РЕЗЕРВНЫЙ ФОНД');
# производим выборку всех данных из таблицы receivers
select * from receivers;
А вот результат
Скрытый текст
Код:
mysql> source d:\DB\tmp\create_db.sql
Query OK, 1 row affected (0.01 sec)
Database changed
Query OK, 0 rows affected (0.06 sec)
+----------+---------------+------+-----+------------------
| Field | Type | Null | Key | Default
+----------+---------------+------+-----+------------------
| num | int(11) | NO | PRI | NULL
| paydate | datetime | NO | | CURRENT_TIMESTAMP
| receiver | int(11) | NO | | NULL
| amount | decimal(10,2) | NO | | NULL
+----------+---------------+------+-----+------------------
4 rows in set (0.00 sec)
Query OK, 5 rows affected (0.02 sec)
Records: 5 Duplicates: 0 Warnings: 0
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0
+-----+---------------------+----------+----------+
| num | paydate | receiver | amount |
+-----+---------------------+----------+----------+
| 1 | 2016-10-30 15:00:00 | 1 | 35000.50 |
| 2 | 2017-11-30 15:25:00 | 2 | 25000.50 |
| 3 | 2015-11-30 10:25:00 | 2 | 15000.50 |
| 4 | 2014-11-30 11:25:00 | 3 | 10000.50 |
| 5 | 2014-11-30 11:25:00 | 3 | 10000.50 |
| 6 | 2017-09-27 17:55:37 | 4 | 1000.50 |
| 7 | 2017-09-27 17:55:37 | 2 | 500.50 |
| 8 | 2017-09-27 17:55:37 | 3 | 17000.50 |
| 9 | 2017-09-27 17:55:37 | 1 | 100.50 |
| 10 | 2017-09-27 17:55:37 | 4 | 15000.50 |
+-----+---------------------+----------+----------+
10 rows in set (0.00 sec)
Query OK, 0 rows affected (0.06 sec)
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| num | int(11) | NO | | NULL | |
| name | varchar(255) | NO | PRI | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
+-----+----------------------------------------------+
| num | name |
+-----+----------------------------------------------+
| 2 | АБСОЛЮТ |
| 4 | ВАЛЮТНЫЙ РЕЗЕРВНЫЙ ФОНД |
| 1 | ВЭБ |
| 3 | ФОНД СОРЕСА |
+-----+----------------------------------------------+
4 rows in set (0.00 sec)
mysql>
Спасибо. Все работает.
Я так понимаю, если в скрипте хоть одна ошибка, тогда в консоль будет выведено только сообщение
Failed to open file '"d:\t.txt"', error: 22,
то есть так синтаксис (при запуске через скрипт) не может контролироваться и остается только догадываться в чем ошибка???
|