MySQL 插入数据( INSERT INTO)
作者:互联网
在创建数据库完成之后,我们需往数据库中出入数据,在MySQL中可以使用INSERT语句向数据库已有数据库表插入一行或者多行数据
基本语法:
INSERT语句有两种语法形式,分别是INSERT..VALUES....语句和INSERT...SET...语句
两种语法的使用方式如下:
INSERT LALUES::
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语句插入插入多行时,只需要将每行数据用园括号括起来即可
下面为实例示范:
数据表结构:
使用INSERT VALUES向数据库插入语句:
INSERT INTO BEIMU(BEI_ID, `BEI_NAME`, `BEI_AGE`, `BEI_BIRTHDAY`) VALUES (3,'夸夸', 23,'2021-01-08');
--列名带不是`都可以执行
INSERT INTO BEIMU(BEI_ID, BEI_NAME, BEI_AGE, BEI_BIRTHDAY) VALUES ('2','北木 ', '24','2021-01-08');
INSERT INTO BEIMU(`BEI_ID`, `BEI_NAME`, `BEI_AGE`, `BEI_BIRTHDAY`) VALUES (1,'南海', 18,'2021-01-08');
使用INSERT SET 向数据库插入语句:
INSERT INTO BEIMU(BEI_ID, `BEI_NAME`, `BEI_AGE`, `BEI_BIRTHDAY`) VALUES (3,'夸夸', 23,'2021-01-08'); INSERT INTO BEIMU(BEI_ID, BEI_NAME, BEI_AGE, BEI_BIRTHDAY) VALUES ('2','北木 ', '24','2021-01-08'); INSERT INTO BEIMU(`BEI_ID`, `BEI_NAME`, `BEI_AGE`, `BEI_BIRTHDAY`) VALUES (1,'南海', NULL,'2021-01-08');
上面我插入数据时,插入某个字段为null值,我们使用INSERT SET插入
INSERT INTO BEIMU SET `BEI_AGE` ='24'
数据表结果:
上表5为我插入的数据,数据库中的BEI_ID设定为自动增长,表中我只插入了一列数据,其他列默认为空值(如果某I列设定为必输列,此列必须赋值,不然那会报错: Field 'BEI_NAME' doesn't have a default value 意思是该列名优定义默认值)
对所有列插入数据:
INSERT INTO BEIMU VALUES(4,"贝珠",'18','2021-01-11')
结果如下:
标签:语句,INSERT,BEI,INTO,插入,VALUES,MySQL 来源: https://www.cnblogs.com/dbbull/p/15217196.html