增:
形式1:
insert into 表名(字段名1,字段名2,....) values (值a1,值a2, .....), (值b1,值b2, .....),..... ;
形式2:
insert into 表名1(字段名1,字段名2,....)select 字段名1,字段名2,.... from 表名2;
形式3:
insert into 表名 set 字段名1=值1,字段名2=值2, ..... ;
解释说明:
1,形式1和形式2,可以一次插入多条数据;
2,不管哪种形式,在“字段”和“值”之间,都有“一一对应”关系。
3,值的形式,通常是这样:数字直接写,字符串和时间加单引号,但如果是函数值,则不能加引号
4,观念问题:不管那种形式,都要理解为:插入数据的单位是“行”;
5,有的字段通常无需插入数据,此时不应该出现该字段名:auto_increment, timestamp
删:
delete from 表名 [where条件] [order排序] [limit限定];
解释说明:
1,观念问题:删除也是应该以理解为“以行为单位”进行的。
2,删除语句中,where条件通常都要写上,因为如果不写,则就删除了所有数据,应用中极少如此。
3,order排序子句和limit限定子句,应用中通常不需要。
3.1 order排序子句用于设定删除数据的先后顺序。
3.2 limit限定子句用于限定在设定的顺序情况下删除指定的某些行
改:
update 表名 set 字段名1=值表达式1,字段名2=值表达式2,....[where条件] [order排序] [limit限定];
语法说明
1, 观念问题:仍然要理解为更新是以“行”为单位进行的,虽然可以指定只更新其中的部分字段。
2, where条件子句,在应用中,同样几乎都必须有,否则很可能就失去意义,类似delete
3,order排序子句通常不需要,用于将要更新的数据指定更新的顺序。
4,limit限定子句通常不需要,用于将要更新的数据的指定顺序去更新部分(局部)数据,比如:前500行。
5,字段的值可以是表达式,或直接值,或函数,如果是直接值,同样遵循insert语句中的值的写法