/sql-statements/sql-statement-insert.md

https://github.com/pingcap/docs · Markdown · 112 lines · 77 code · 35 blank · 0 comment · 0 complexity · 2f98bac8670ab962c37a48218967181c MD5 · raw file

  1. ---
  2. title: INSERT | TiDB SQL Statement Reference
  3. summary: An overview of the usage of INSERT for the TiDB database.
  4. aliases: ['/docs/dev/sql-statements/sql-statement-insert/','/docs/dev/reference/sql/statements/insert/']
  5. ---
  6. # INSERT
  7. This statement inserts new rows into a table.
  8. ## Synopsis
  9. **InsertIntoStmt:**
  10. ![InsertIntoStmt](/media/sqlgram/InsertIntoStmt.png)
  11. **TableOptimizerHints**
  12. ![TableOptimizerHints](/media/sqlgram/TableOptimizerHints.png)
  13. **PriorityOpt:**
  14. ![PriorityOpt](/media/sqlgram/PriorityOpt.png)
  15. **IgnoreOptional:**
  16. ![IgnoreOptional](/media/sqlgram/IgnoreOptional.png)
  17. **IntoOpt:**
  18. ![IntoOpt](/media/sqlgram/IntoOpt.png)
  19. **TableName:**
  20. ![TableName](/media/sqlgram/TableName.png)
  21. **PartitionNameListOpt:**
  22. ![PartitionNameListOpt](/media/sqlgram/PartitionNameListOpt.png)
  23. **InsertValues:**
  24. ![InsertValues](/media/sqlgram/InsertValues.png)
  25. **OnDuplicateKeyUpdate:**
  26. ![OnDuplicateKeyUpdate](/media/sqlgram/OnDuplicateKeyUpdate.png)
  27. ## Examples
  28. ```sql
  29. mysql> CREATE TABLE t1 (a INT);
  30. Query OK, 0 rows affected (0.11 sec)
  31. mysql> CREATE TABLE t2 LIKE t1;
  32. Query OK, 0 rows affected (0.11 sec)
  33. mysql> INSERT INTO t1 VALUES (1);
  34. Query OK, 1 row affected (0.02 sec)
  35. mysql> INSERT INTO t1 (a) VALUES (1);
  36. Query OK, 1 row affected (0.01 sec)
  37. mysql> INSERT INTO t2 SELECT * FROM t1;
  38. Query OK, 2 rows affected (0.01 sec)
  39. Records: 2 Duplicates: 0 Warnings: 0
  40. mysql> SELECT * FROM t1;
  41. +------+
  42. | a |
  43. +------+
  44. | 1 |
  45. | 1 |
  46. +------+
  47. 2 rows in set (0.00 sec)
  48. mysql> SELECT * FROM t2;
  49. +------+
  50. | a |
  51. +------+
  52. | 1 |
  53. | 1 |
  54. +------+
  55. 2 rows in set (0.00 sec)
  56. mysql> INSERT INTO t2 VALUES (2),(3),(4);
  57. Query OK, 3 rows affected (0.02 sec)
  58. Records: 3 Duplicates: 0 Warnings: 0
  59. mysql> SELECT * FROM t2;
  60. +------+
  61. | a |
  62. +------+
  63. | 1 |
  64. | 1 |
  65. | 2 |
  66. | 3 |
  67. | 4 |
  68. +------+
  69. 5 rows in set (0.00 sec)
  70. ```
  71. ## MySQL compatibility
  72. This statement is understood to be fully compatible with MySQL. Any compatibility differences should be [reported via an issue](https://github.com/pingcap/tidb/issues/new/choose) on GitHub.
  73. ## See also
  74. * [DELETE](/sql-statements/sql-statement-delete.md)
  75. * [SELECT](/sql-statements/sql-statement-select.md)
  76. * [UPDATE](/sql-statements/sql-statement-update.md)
  77. * [REPLACE](/sql-statements/sql-statement-replace.md)