mysql

MySQL: INSERT

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    { {VALUES | VALUE} (value_list) [, (value_list)] ...
      |
      VALUES row_constructor_list
    }
    [AS row_alias[(col_alias [, col_alias] ...)]]
    [ON DUPLICATE KEY UPDATE assignment_list]

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [AS row_alias[(col_alias [, col_alias] ...)]]
    SET assignment_list
    [ON DUPLICATE KEY UPDATE assignment_list]

INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    [AS row_alias[(col_alias [, col_alias] ...)]]
    {SELECT ... | TABLE table_name}
    [ON DUPLICATE KEY UPDATE assignment_list]

value:
    {expr | DEFAULT}

value_list:
    value [, value] ...

row_constructor_list:
    ROW(value_list)[, ROW(value_list)][, ...]

assignment:
    col_name = [row_alias.]value

assignment_list:
    assignment [, assignment] ...
mysql> USE world;
Database changed
mysql> 
mysql> 
mysql> # Создадим таблицу
mysql> 
mysql> CREATE DATABASE test
    -> ;
Query OK, 1 row affected (0.02 sec)

mysql> USE test;
Database changed
mysql>  
mysql> 
mysql> CREATE TABLE users(
    -> id INT PRIMARY KEY AUTO_INCREMENT,
    -> name VARCHAR(30) NOT NULL,
    -> birthday DATETIME,
    -> profession VARCHAR(30)
    -> );
Query OK, 0 rows affected (0.10 sec)

mysql> 
mysql> 
mysql> DESC users;
+------------+-------------+------+-----+---------+----------------+
| Field      | Type        | Null | Key | Default | Extra          |
+------------+-------------+------+-----+---------+----------------+
| id         | int(11)     | NO   | PRI | NULL    | auto_increment |
| name       | varchar(30) | NO   |     | NULL    |                |
| birthday   | datetime    | YES  |     | NULL    |                |
| profession | varchar(30) | YES  |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

mysql> 
mysql> 
mysql> SELECT * FROM users;
Empty set (0.00 sec)

mysql> 
mysql> 
mysql> INSERT INTO users VALUES (NULL, 'Yakoff', NOW(), 'programmer');
Query OK, 1 row affected (0.02 sec)

mysql> SELECT * FROM users;
+----+--------+---------------------+------------+
| id | name   | birthday            | profession |
+----+--------+---------------------+------------+
|  1 | Yakoff | 2020-05-07 11:45:54 | programmer |
+----+--------+---------------------+------------+
1 row in set (0.00 sec)

mysql> INSERT INTO users (name, birthday) VALUES ('Theodor', NOW()),
    -> ('Mria', NOW()),
    -> ('Egor', NOW());
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM users;
+----+---------+---------------------+------------+
| id | name    | birthday            | profession |
+----+---------+---------------------+------------+
|  1 | Yakoff  | 2020-05-07 11:45:54 | programmer |
|  2 | Theodor | 2020-05-07 11:50:25 | NULL       |
|  3 | Mria    | 2020-05-07 11:50:25 | NULL       |
|  4 | Egor    | 2020-05-07 11:50:25 | NULL       |
+----+---------+---------------------+------------+
4 rows in set (0.00 sec)

mysql> 
mysql> 
mysql> # IGNORE - пропускать дублирующие записи
mysql> 
mysql> INSERT INTO users VALUES (4, 'Maxim', NOW(), 'programmer'), (6, 'Mikael', NOW(), NULL);
ERROR 1062 (23000): Duplicate entry '4' for key 'PRIMARY'
mysql> INSERT IGNORE INTO users VALUES (4, 'Maxim', NOW(), 'programmer'), (6, 'Mikael', NOW(), NULL);
Query OK, 1 row affected, 1 warning (0.00 sec)
Records: 2  Duplicates: 1  Warnings: 1

mysql> SELECT * FROM users;
+----+---------+---------------------+------------+
| id | name    | birthday            | profession |
+----+---------+---------------------+------------+
|  1 | Yakoff  | 2020-05-07 11:45:54 | programmer |
|  2 | Theodor | 2020-05-07 11:50:25 | NULL       |
|  3 | Mria    | 2020-05-07 11:50:25 | NULL       |
|  4 | Egor    | 2020-05-07 11:50:25 | NULL       |
|  6 | Mikael  | 2020-05-07 11:54:01 | NULL       |
+----+---------+---------------------+------------+
5 rows in set (0.00 sec)

mysql> 

Оставить комментарий

avatar
  Подписаться  
Уведомление о