INSERT

插入记录的几种方法

  1. INSERT [INTO] tbl_name [(col_name,…)] {VALUES|VALUE} ({expr | DEFAULT}), (),….

    • 可以插入多条。
    • INSERT users VALUES(DEFAULT, ‘Json’,’123’,23,1),(NULL,’Rose’,md5(‘123’),DEFAULT,0);
  2. INSERT [INTO] tbl_name SET col_name={expr | DEFAULT} ,…

    • ps:与第一种方式的区别在于,此方法可以使用子查询(SubQuery), 一次只能插入一条记录。
    • INSERT users SET username=’Ben’,password=’456’;
  3. INSERT [INTO] tbl_name [(col_name,…)] SELECT…
    • 此方法可以将查询结果插入到指定数据表中
    • INSERT test2(username) SELECT username FROM users WHERE age>=25

// 自增修饰的值可以设置为null 或default
// 插入的值可以是表达式、函数。

1

mysql> USE test;
Database changed
mysql> CREATE TABLE users(
    -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    -> username VARCHAR(20) NOT NULL,
    -> password VARCHAR(32) NOT NULL,
    -> age TINYINT UNSIGNED NOT NULL DEFAULT 10,
    -> sex BOOLEAN
    -> );
Query OK, 0 rows affected (0.21 sec)

//
//
//
mysql> INSERT users VALUES(NULL, 'Tom','123',23,1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM users;
+----+----------+----------+-----+------+
| id | username | password | age | sex  |
+----+----------+----------+-----+------+
|  1 | Tom      | 123      |  23 |    1 |
+----+----------+----------+-----+------+
1 row in set (0.00 sec)

//
//
//
mysql> INSERT users VALUES(NULL, 'Json','123',23,1);
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM users;
+----+----------+----------+-----+------+
| id | username | password | age | sex  |
+----+----------+----------+-----+------+
|  1 | Tom      | 123      |  23 |    1 |
|  2 | Json     | 123      |  23 |    1 |
+----+----------+----------+-----+------+
2 rows in set (0.00 sec)

//
//
//
mysql> INSERT users VALUES(DEFAULT, 'Json','123',23,1);
Query OK, 1 row affected (0.04 sec)

mysql> SELECT * FROM users;
+----+----------+----------+-----+------+
| id | username | password | age | sex  |
+----+----------+----------+-----+------+
|  1 | Tom      | 123      |  23 |    1 |
|  2 | Json     | 123      |  23 |    1 |
|  3 | Json     | 123      |  23 |    1 |
+----+----------+----------+-----+------+
3 rows in set (0.00 sec)

//
//
//
mysql> SELECT * FROM users;
+----+----------+----------+-----+------+
| id | username | password | age | sex  |
+----+----------+----------+-----+------+
|  1 | Tom      | 123      |  23 |    1 |
|  2 | Json     | 123      |  23 |    1 |
|  3 | Json     | 123      |  23 |    1 |
|  4 | Json     | 123      |  10 |    1 |
+----+----------+----------+-----+------+
4 rows in set (0.00 sec)

//
//
//
mysql> INSERT users VALUES(DEFAULT, 'Json','123',23,1),(NULL,'Rose',md5('123'),DEFAULT,0);
Query OK, 2 rows affected (0.06 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM users;
+----+----------+----------------------------------+-----+------+
| id | username | password                         | age | sex  |
+----+----------+----------------------------------+-----+------+
|  1 | Tom      | 123                              |  23 |    1 |
|  2 | Json     | 123                              |  23 |    1 |
|  3 | Json     | 123                              |  23 |    1 |
|  4 | Json     | 123                              |  10 |    1 |
|  5 | Json     | 123                              |  23 |    1 |
|  6 | Rose     | 202cb962ac59075b964b07152d234b70 |  10 |    0 |
+----+----------+----------------------------------+-----+------+
6 rows in set (0.00 sec)

mysql>

2

mysql> SELECT * FROM users;
+----+----------+----------------------------------+-----+------+
| id | username | password                         | age | sex  |
+----+----------+----------------------------------+-----+------+
|  1 | Tom      | 123                              |  23 |    1 |
|  2 | Json     | 123                              |  23 |    1 |
|  3 | Json     | 123                              |  23 |    1 |
|  4 | Json     | 123                              |  10 |    1 |
|  5 | Json     | 123                              |  23 |    1 |
|  6 | Rose     | 202cb962ac59075b964b07152d234b70 |  10 |    0 |
+----+----------+----------------------------------+-----+------+
6 rows in set (0.00 sec)

mysql> INSERT users SET username='Ben',password='456';
Query OK, 1 row affected (0.05 sec)

mysql> SELECT * FROM users;
+----+----------+----------------------------------+-----+------+
| id | username | password                         | age | sex  |
+----+----------+----------------------------------+-----+------+
|  1 | Tom      | 123                              |  23 |    1 |
|  2 | Json     | 123                              |  23 |    1 |
|  3 | Json     | 123                              |  23 |    1 |
|  4 | Json     | 123                              |  10 |    1 |
|  5 | Json     | 123                              |  23 |    1 |
|  6 | Rose     | 202cb962ac59075b964b07152d234b70 |  10 |    0 |
|  7 | Ben      | 456                              |  10 | NULL |
+----+----------+----------------------------------+-----+------+
7 rows in set (0.00 sec)

3

把users表中年龄大于25的用户名写入到test2表中

users表:

mysql> SELECT * FROM users;
+----+----------+----------------------------------+-----+------+
| id | username | password                         | age | sex  |
+----+----------+----------------------------------+-----+------+
|  1 | Tom      | 123                              |  27 |    0 |
|  3 | Json     | 123                              |  25 |    0 |
|  4 | Json     | 123                              |  21 |    0 |
|  5 | Json     | 123                              |  23 |    0 |
|  6 | Rose     | 202cb962ac59075b964b07152d234b70 |  19 |    0 |
|  7 | Ben      | 456                              |   8 |    0 |
|  8 | Hek      | 11111                            |  33 | NULL |
+----+----------+----------------------------------+-----+------+
7 rows in set (0.00 sec)

test2 表:

mysql> CREATE TABLE test2(
    -> id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    -> username VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.19 sec)

操作

mysql> INSERT test2(username) SELECT username FROM users WHERE age>=25;
Query OK, 3 rows affected (0.04 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM test2
    -> ;
+----+----------+
| id | username |
+----+----------+
|  1 | Tom      |
|  2 | Json     |
|  3 | Hek      |
+----+----------+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在MySQL中,INSERT语句用于向表中插入数据。根据引用和引用提供的信息,以下是MySQL中INSERT语句的五种用法的介绍和示例: 1. 单行插入: 使用VALUES参数,可以在一条INSERT语句中插入一行数据。 ```sql INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3); ``` 示例: ```sql INSERT INTO a (id, name, type) VALUES (1, 'A1', 'T1'); ``` 2. 多行插入: 如果要插入多行数据,可以在一条INSERT语句中使用多个VALUES参数。 ```sql INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3), (value4, value5, value6), ...; ``` 示例: ```sql INSERT INTO a (id, name, type) VALUES (1, 'A1', 'T1'), (2, 'A2', 'T2'); ``` 3. 插入查询结果: 可以使用SELECT语句作为VALUES参数,将查询结果插入到目标表中。 ```sql INSERT INTO table_name (column1, column2, column3) SELECT column1, column2, column3 FROM another_table WHERE condition; ``` 示例: ```sql INSERT INTO a (id, name, type) SELECT id, name, type FROM b WHERE condition; ``` 4. 插入默认值: 如果目标表的某些列有默认值,可以使用DEFAULT关键字将默认值插入到这些列中。 ```sql INSERT INTO table_name (column1, column2, column3) VALUES (value1, DEFAULT, value3); ``` 示例: ```sql INSERT INTO a (id, name, type) VALUES (1, DEFAULT, 'T1'); ``` 5. 插入部分列: 如果只想插入表中的部分列,可以在INSERT语句中指定要插入的列。 ```sql INSERT INTO table_name (column1, column2) VALUES (value1, value2); ``` 示例: ```sql INSERT INTO a (id, name) VALUES (1, 'A1'); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值