MySQL 知识量:16 - 40 - 165
插入数据需要使用insert语句,具体用法有:
插入完整的行
插入行的一部分
插入多个行
插入某些查询的结果
以示例说明插入语句的具体语法:向学生表中插入一条信息。
insert into student(name,age,sex) values('Jack',12,'male');
insert into后跟要插入信息的表名。
括号中列出涉及插入信息的列名,用逗号进行分割。
values指示后面是插入的具体数据,括号内填写具体插入数据,注意顺序与前面列名要一致。
如果语句正确执行,命令行会显示:
Query OK, 1 row affected (0.02 sec)
需要注意的几点是:
应当总是给出具体列名。
插入数据的类型与表列的定义一定要兼容。特别是字符串要加引号。
如果省略了某个列,那么该列在定义时应当是允许为NULL值的,或者给出了默认值。
可以使用insert语句一次性插入多个行,具体语法是用括号将插入值部分括起来,且每组插入值用逗号分隔。
例如向学生表中插入多条信息:
insert into student(name,age,sex) values('Alice',10,'female'),('Bonnie',11,'male'),('Ella',12,'female');
如果语句正确执行,命令行会显示:
Query OK, 3 rows affected (0.02 sec) Records: 3 Duplicates: 0 Warnings: 0
除了使用指定的值进行插入操作外,还可以使用查询出的数据来插入表中,这需要使用insert select,例如新建一个表people,查询学生表student的信息并插入people:
insert into people(realName,realAge,sex) select name,age,sex from student;
如果语句正确执行,命令行会显示:
Query OK, 10 rows affected (0.00 sec) Records: 10 Duplicates: 0 Warnings: 0
查询表people结果为:
+----+----------+---------+--------+ | id | realName | realAge | sex | +----+----------+---------+--------+ | 1 | Susan | 11 | female | | 2 | Jame | 12 | male | | 3 | Bob | 11 | male | | 4 | Robot | 10 | male | | 5 | Jen | 11 | female | | 6 | Toney | 10 | male | | 7 | Jack | 12 | male | | 8 | Alice | 10 | female | | 9 | Bonnie | 11 | male | | 10 | Ella | 12 | female | +----+----------+---------+--------+
insert select不要求两表的列名一样,但列的数量要一样,MySQL用列的位置确定该把哪个值插入哪里,这种插入数据的方法十分适用于表的复制。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6