#外连接 /* 一个表中有 另一个表没有 外连接查询结果为主表中的所有记录 如果从表中有和他匹配的,则显示匹配的值 如果没有匹配的,则显示null 左外;主表是left join左边的 右外;主表是right join右边的 */ #查询没有男朋友的女生 SELECT b.name, bo.* FROM beauty AS b LEFT JOIN boys AS bo ON b.`boyfriend_id` = bo.id WHERE bo.id IS NULL ;#用主键判断null #查询哪个部门没有员工 SELECT d.*,e.`employee_id` FROM `employees` AS e RIGHT JOIN `departments` AS d ON e.`department_id`=d.`department_id` WHERE e.`employee_id` IS NULL #全外--暂不支持 #------------------------------------------------------# #------------------------------------------------------# #-----------------插入法一-----------------------------# #dml数据操作语言--插入insert修改update删除delete /*insert 表明 列名 新值 insert into 表名(列名...) values(值1...); SELECT * FROM beauty */ INSERT INTO beauty (id,NAME,sex,borndate,phone,photo,boyfriend_id) VALUES(14,'唐艺昕','女','1990-4-23','188888888',NULL, 2) # int varchar char datetime varcher blob int #插入的类型要保持一致 /* 有些字段是nullalbe,可以为null,那么再插入时可以省略, 或者直接填成null。 有些在省略后,如果在设置字段的时候有设置默认值, 那么将自动插入默认值。 */ INSERT INTO beauty (id,NAME,phone) VALUES(15,'啦啦','188888888') #可以省略列名,则默认所有列,且顺序不变 INSERT INTO beauty VALUES(16,'关晓彤','女','1990-4-23','188888888',NULL, 2) #--------------插入法二------------------------------------# INSERT INTO beauty SET id=19,NAME='刘涛',phone='110'; #方法一 支持一次插入多行 INSERT INTO beauty VALUES(20,'唐艺昕','女','1990-4-23','188888888',NULL,2) ,(17,'唐艺昕','女','1990-4-23','188888888',NULL,2) ,(18,'唐艺昕','女','1990-4-23','188888888',NULL,2); #方法一支持子查询 #----------------修改----------------------------------# #----------------修改----------------------------------# #----------------修改----------------------------------# #----------------修改----------------------------------# /* 修改单表 update 表名 set 列=新值,列=新值 where 筛选条件;//筛选出哪一行修改 修改多表sql92 update 表1 别名,表2 别名 set 列=值,... where 连接条件 and 筛选条件 sql99 update 表1 别名 连接类型 表2 别名 on 连接条件 set 列=值,... where 筛选条件 */ SELECT * FROM beauty #把姓唐的人电话改成110 UPDATE beauty SET phone='110' WHERE NAME LIKE'唐%' #修改多表 修改张无忌的女朋友手机号为120 UPDATE boys AS b INNER JOIN beauty AS be ON b.id=be.boyfriend_id SET be.phone='114' WHERE b.boyname='张无忌' #修改没有男朋友的女生 的男朋友编号 为2号 UPDATE boys RIGHT JOIN beauty ON boys.`id` = beauty.`boyfriend_id` SET beauty.`boyfriend_id` = 2 WHERE boys.`id` IS NULL #--------------删除1------------------------------# 单表的删除 DELETE FROM 表名 WHERE 筛选条件// 筛选出要删除的行 多表的删除 #----------删除2-----------------# TRUNCATE TABLE 表名//删除整个表 #1、删除手机号9结尾的女生信息 DELETE FROM beauty WHERE phone LIKE '%9' SELECT * FROM beauty 多表删除 删除张无忌的女朋友的信息 DELETE beauty FROM boys INNER JOIN beauty ON boys.`id`=beauty.`boyfriend_id` WHERE boys.`boyName`='张无忌' 删除黄晓明及他女朋友信息 DELETE boys , beauty FROM boys INNER JOIN beauty ON boys.`id`=beauty.`boyfriend_id` WHERE boys.`boyName`='黄晓明'
数据库--day6
猜你喜欢
转载自www.cnblogs.com/yasina/p/12801356.html
今日推荐
周排行