语法一
insert into 表名(列名1...) values(值1...) ;
特点
示例:
insert into students(sno,sname,ssex,sbirthday,class)
values(119,'林动','男','1992-04-23','95031');
语法二
insert into 表名 set 列名='值' .... ;
示例:
insert into students set sno="110",sname="林动",ssex="男",sbirthday="1992-04-23",class="95031";
两种语法区别
语法一支持插入多行,方式二不支持
语法
insert into 表名(列名1...) values(值1...),(值1...),(值1...) ;
示例
INSERT INTO students
(sno,sname,ssex,sbirthday,class)
VALUES
(112,'林动2','男','1992-04-23','95031'),
(113,'林动3','男','1992-04-23','95031');
语法一支持子查询,方式二不支持
将查询的结果集当成values 插入到制定列当中去
示例
INSERT INTO students
(sno,sname,ssex,sbirthday,class)
select 112,'林动6','男', '1992-04-23','95031';
修改单标记录语法
update 表名 set 列="值",... where 筛选条件
示例
update students set class='95032' where sname LIKE "林%"
修改多表记录语法
update 表1名 as 别名1,表2名 别名2 set 别名.列="值",别名.列="值" where 筛选条件;
或者
update 表1名 as 别名1 连接类型 表2名 as 别名2 on 连接条件 set 别名1.列名="值",别名2.列名=值 where 筛选条件
示例
update students as stu,scores sc set stu.class="22",sc.degree=22 where stu.sno=sc.sno and stu.sname like "林%"
或者
update students as stu LEFT JOIN scores sc on stu.sno=sc.sno set stu.class="44",sc.degree=44 where stu.sname like "林%"
关联表批量修改
update table1 t1 ,table2 t2 set t1.field1 = t2.field2 where t1.id = t2.id
删除表中的全部数据语法
TRUNCATE table 表名;
单表的删除语法
delete from 表名 where 筛选条件
示例
DELETE from students where sname ="林动6"
多表的删除语法
# 如果 要删除那张单表的数据在from 前面 写上那个表的别名,写一个删除一个表的数据,写两个删除两张表的数据
DELETE 要删除的表别名1,要删除的表别名二 from 表1名 as 别名1 LEFT JOIN 表2名 as 别名2 on 连接条件 where 筛选条件
或者
DELETE 要删除的表别名1,要删除的表别名二 from 表1名 as 别名1 ,表2名 as 别名2 where 连接条件 and 筛选条件
示例
DELETE stu,sc from students as stu LEFT JOIN scores sc on stu.sno=sc.sno where stu.sname like "林%"
或者
DELETE stu,sc from students as stu ,scores sc where stu.sno=sc.sno and stu.sname like "林%"