[mysql新增空格字段]MySQLINSERT:插入数据(添加数据)
统计资料库与表建立获得成功之后,须要向统计资料库的附注填入统计数据。在 MySQL 中能选用 INSERT 句子向统计资料库已近的附注填入带队或是二百一十三位元统计数据。
INSERT 句子有三种句法方式,依次是 INSERT…VALUES 句子和 INSERT…SET 句子。
1) INSERT…VALUES句子
INSERT VALUES 的句法文件格式为:
句法表明如下表所示。
:选定被操作方式的表名。
:选定须要填入统计数据的入选为。若向附注的大部份列填入统计数据,则全数的入选为均能略去,间接选用 INSERT<表名>VALUES(…) 方可。
或 从句:该从句包涵要填入的统计数据目录。统计数据目录中统计数据的次序要和列的次序相相关联。
2) INSERT…SET句子
句法文件格式为:
此句子用作间接给附注的这类列选定相关联的列值,即要填入的统计数据的入选为在 SET 从句中选定,col_name 为选定的入选为,等号前面为选定的统计数据,而对未选定的列,列值会选定为该列的缺省。
由 INSERT 句子的三种方式能窥见:
选用 INSERT…VALUES 句子能向附注填入带队统计数据,也能填入二百一十三统计数据;
选用 INSERT…SET 句子能选定填入行中每列的值,也能选定部分列的值;
INSERT…SELECT 句子向附注填入其他表的统计数据。
选用 INSERT…SET 句子能向附注填入部分列的值,这种方式更为灵活;
INSERT…VALUES 句子能一次填入多条统计数据。
在 MySQL 中,用单条 INSERT 句子处理多个填入要比选用多条 INSERT 句子更快。
当选用单条 INSERT 句子填入二百一十三统计数据的时候,只须要将每行统计数据用圆括号括起来方可。
在 test_db 统计资料库中建立一个课程信息表 tb_courses,包涵课程编号 course_id、课程名称 course_name、课程学分 course_grade 和课程备注 course_info,输入的 SQL 句子和执行结果如下表所示所示。
向附注大部份表头填入值的方法有三种:一种是选定大部份表头名;另一种是完全不选定表头名。
【实例 1】在 tb_courses 附注填入一条新记录,course_id 值为 1,course_name 值为Network,course_grade 值为 3,info 值为Computer Network。
在执行填入操作方式之前,查看 tb_courses 表的SQL句子和执行结果如下表所示所示。
查询结果显示当前表内容为空,没有统计数据,接下来执行填入统计数据的操作方式,输入的 SQL 句子和执行过程如下表所示所示。
能看到填入记录获得成功。在填入统计数据时,选定了 tb_courses 表的大部份表头,因此将为每一个表头填入新的值。
INSERT 句子前面的入选为称次序能不是 tb_courses 表定义时的次序,即填入统计数据时,不须要按照表定义的次序填入,只要保证值的次序与列表头的次序相同就能。
【实例 2】在 tb_courses 附注填入一条新记录,course_id 值为 2,course_name 值为Database,course_grade 值为 3,info值为MySQL。输入的 SQL 句子和执行结果如下表所示所示。
选用 INSERT 填入统计数据时,允许入选为称列表 column_list 为空,此时值列附注须要为表的每一个表头选定值,并且值的次序必须和统计数据附注表头定义时的次序相同。
【实例 3】在 tb_courses 附注填入一条新记录,course_id 值为 3,course_name 值为Java,course_grade 值为 4,info 值为Jave EE。输入的 SQL 句子和执行结果如下表所示所示。
INSERT 句子中没有选定填入列表,只有一个值列表。在这种情况下,值列表为每一个表头列选定填入的值,并且这些值的次序必须和 tb_courses 附注表头定义的次序相同。
注意:虽然选用 INSERT 填入统计数据时能忽略填入统计数据的入选为称,若值不包涵入选为称,则 VALUES 关键字前面的值不仅要求完整,而且次序必须和表定义时列的次序相同。如果表的结构被修改,对列进行增加、删除或是位置改变操作方式,这些操作方式将使得用这种方式填入统计数据时的次序也同时改变。如果选定入选为称,就不会受到表结构改变的影响。
为表的选定表头填入统计数据,是在 INSERT 句子中只向部分表头中填入值,而其他表头的值为表定义时的缺省。
【实例 4】在 tb_courses 附注填入一条新记录,course_name 值为System,course_grade 值为 3,course_info 值为Operating System,输入的 SQL 句子和执行结果如下表所示所示。
能看到填入记录获得成功。如查询结果显示,这里的 course_id 表头自动加进了一个整数值 4。这时的 course_id 表头为表的主键,不能为空,系统自动为该表头填入自增的序列值。在填入记录时,如果这类表头没有选定填入值,MySQL 将填入该表头定义时的缺省。
INSERT INTO…SELECT…FROM 句子用作快速地从一个或多个附注取出统计数据,并将这些统计数据作为行统计数据填入另一个附注。
SELECT 从句返回的是一个查询到的结果集,INSERT 句子将这个结果集填入选定附注,结果集中的每行统计数据的表头数、表头的统计数据类型都必须与被操作方式的表完全一致。
在统计资料库 test_db 中建立一个与 tb_courses 表结构相同的统计数据表 tb_courses_new,建立表的 SQL 句子和执行过程如下表所示所示。
【实例 5】从 tb_courses 附注查询大部份的记录,并将其填入 tb_courses_new 附注。输入的 SQL 句子和执行结果如下表所示所示。