1. /*
    2. 方式一:delete
    3. 语法:
    4. 1、单表的删除【★】
    5. delete from 表名 where 筛选条件
    6. 2、多表的删除【补充】
    7. sql92语法:
    8. delete 表1的别名,表2的别名
    9. from 表1 别名,表2 别名
    10. where 连接条件
    11. and 筛选条件;
    12. sql99语法:
    13. delete 表1的别名,表2的别名
    14. from 表1 别名
    15. inner|left|right join 表2 别名 on 连接条件
    16. where 筛选条件;
    17. 方式二:truncate
    18. 语法:truncate table 表名;
    19. */
    20. -- 方式一:delete
    21. -- 1.单表的删除
    22. -- 案例:删除手机号以9结尾的女神信息
    23. DELETE FROM beauty WHERE phone LIKE '%9';
    24. SELECT * FROM beauty;
    25. -- 2.多表的删除
    26. -- 案例:删除张无忌的女朋友的信息
    27. DELETE b
    28. FROM beauty b
    29. INNER JOIN boys bo ON b.`boyfriend_id` = bo.`id`
    30. WHERE bo.`boyName`='张无忌';
    31. -- 案例:删除黄晓明的信息以及他女朋友的信息
    32. DELETE b,bo
    33. FROM beauty b
    34. INNER JOIN boys bo ON b.`boyfriend_id`=bo.`id`
    35. WHERE bo.`boyName`='黄晓明';
    36. -- 方式二:truncate语句(清空)
    37. -- 案例:将魅力值>100的男神信息删除
    38. TRUNCATE TABLE boys ;
    39. -- delete pk truncate【面试题★】
    40. /*
    41. 1.delete 可以加where 条件,truncate不能加
    42. 2.truncate删除,效率高一丢丢
    43. 3.假如要删除的表中有自增长列,
    44. 如果用delete删除后,再插入数据,自增长列的值从断点开始,
    45. 而truncate删除后,再插入数据,自增长列的值从1开始。
    46. 4.truncate删除没有返回值,delete删除有返回值
    47. 5.truncate删除不能回滚,delete删除可以回滚.
    48. */
    49. SELECT * FROM boys;
    50. DELETE FROM boys;
    51. TRUNCATE TABLE boys;
    52. INSERT INTO boys (boyname,usercp)
    53. VALUES('张飞',100),('刘备',100),('关云长',100);