Mysql06——insert新增语句

insert

MySQL 插入数据( INSERT INTO)

在创建数据库完成之后,我们需往数据库中出入数据,在MySQL中可以使用INSERT语句向数据库已有数据库表插入一行或者多行数据

基本语法:

INSERT语句有两种语法形式,分别是

INSERT…VALUES…语句

​ 和

INSERT…SET…语句

两种语法的使用方式如下:

INSERT VALUES:

INSERT INTO 表名 (列明,列明1,列明2...) VALUES (数值,数值1,数值2,数值3)

语法注释:

  • 表名:数据库中被操纵的表名(需要出入数据的数据库表名)
  • 列名:数据表中指定出入数据的列名(如需要向表中所有的列去插入数据,可直接忽略列名,直接采用INSERT 表名 VALUES(值…)
  • VALUES 或 VALUE子句:包含数据库的数据清单(值),清单中的数据顺序要和列的顺序相对应

INSERT SET:

INSERT INTO 表名 SET 列名=值,列名1 = 值1,列名2=值2...

语法注释:

  • 表名:数据库中被操纵的表名(需要出入数据的数据库表名)
  • 列名:数据表中指定出入数据的列名
  • 上述语句是给表中需要操作的某些被指定的列插入值,插入数据的列名在SET字句中被指定,= (等号)后面为指定列的值,未指定的列,默认插入默认值

两种格式比较

由 INSERT 语句的两种形式可以看出:

  • 使用 INSERT…VALUES 语句可以向表中插入一行数据,也可以插入多行数据;
  • 使用 INSERT…SET 语句可以指定插入行中每列的值,也可以指定部分列的值;
  • INSERT…SELECT 语句向表中插入其他表的数据。
  • 采用 INSERT…SET 语句可以向表中插入部分列的值,这种方式更为灵活;
  • INSERT…VALUES 语句可以一次插入多条数据。
  • 用单条INSERT语句处理多个插入药别使用多条INSET语句更快
  • 当使用单条INSERT语句插入插入多行时,只需要将每行数据用园括号括起来即可

案例演示

1 向原表中某些字段中插入一条记录。

语法:insert into +表名(表中的字段,,)value(字段所对应的记录,,);

mysql> select * from student;
+------+-----------+-------+------+
| gid  | name      | sex   | age  |
+------+-----------+-------+------+
|    3 | tangseng  | male  |   22 |
|    3 | bajie     | male  |   22 |
|    3 | shaseng   | male  |   22 |
|    3 | bailong   | 1male |   22 |
+------+-----------+-------+------+
4 rows in set (0.02 sec)

mysql> insert into student (gid,name)value(0,"wukong");
Query OK, 1 row affected (0.09 sec)

mysql> select * from student;
+------+-----------+-------+------+
| gid  | name      | sex   | age  |
+------+-----------+-------+------+
|    3 | tangseng  | male  |   22 |
|    3 | bajie     | male  |   22 |
|    3 | shaseng   | male  |   22 |
|    3 | bailong   | 1male |   22 |
|    0 | wukong     | NULL  | NULL |
+------+-----------+-------+------+
5 rows in set (0.00 sec)
2 向原表的字段中插入多条记录的方法一。

语法:insert into +表名(表中的字段,,)values(字段所对应的记录,,)(字段所对应的记录);

mysql> insert into student (gid,name)values(0,"wukong"),(1,"jhj");
Query OK, 2 rows affected (0.14 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from student;
+------+-----------+-------+------+
| gid  | name      | sex   | age  |
+------+-----------+-------+------+
|    3 | tangseng  | male  |   22 |
|    3 | bajie     | male  |   22 |
|    3 | shaseng   | male  |   22 |
|    3 | bailong   | 1male |   22 |
|    0 | wukong     | NULL  | NULL |
|    0 | wukong     | NULL  | NULL |
|    1 | jhj       | NULL  | NULL |
+------+-----------+-------+------+
7 rows in set (0.00 sec)

注意

需要注意以下几点:

  • 插入语句中的列名和值列表必须一一对应,否则会引发错误。
  • 如果插入数据时某些列可以自动生成(如自增长列),则可以省略这些列并使用 DEFAULT 关键字指定默认值。例如:INSERT INTO table (col1, col2) VALUES (1, DEFAULT);
  • 避免向列中插入超过其类型允许的数据,否则可能会导致数据截断或错误。
  • 插入时应确保输入数据的完整性和一致性,避免重复数据等错误。

以上是在 MySQL 中执行插入操作的基本方法。插入语句可用于添加新数据行,并支持同时插入多个值。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值