一:插入语句

  1. #DML语言
  2. /*
  3. 数据操作语言:
  4. 插入:insert
  5. 修改:update
  6. 删除:delete
  7. */
  8. #插入语句
  9. #方式一:经典插入
  10. /*
  11. 语法:
  12. insert into 表名(列名1,列名2……) values(值1,值2……);`borndate`
  13. */
  14. #1.插入的值的类型要与列的类型一致或兼容。
  15. INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
  16. VALUES(13,'周杰伦','男','1999-9-9','123456790',NULL,2);
  17. #2.不可以为null的列必须插入值,可以为null的列如何插入值?
  18. #方式一:(可以在值中写null)
  19. INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
  20. VALUES(13,'周杰伦','男','1999-9-9','123456790',NULL,2);
  21. #方式二:(也可以在列中不写可以为null的列)
  22. INSERT INTO beauty(id,NAME,sex,borndate,phone,boyfriend_id)
  23. VALUES(13,'周杰伦','男','1999-9-9','123456790',2);
  24. #3.列的顺序可以调换,但是列与值必须一一对应。
  25. #4.列数和值的个数必须相等
  26. #5.可以省略列名,默认是所有列,并且列的顺序和表的顺序一致
  27. #方式二:
  28. /*
  29. 语法:
  30. insert into 表名
  31. set 列名=值,列名=值,……;
  32. */
  33. INSERT INTO beauty
  34. SET id=19,NAME='张子枫',phone='999';
  35. #两种方式大PK(通常用方式一)
  36. #1.方式一支持多行插入,方式二不支持。
  37. INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
  38. VALUES(16,'周杰伦1','男','1999-9-9','123456790',NULL,2),
  39. (14,'周杰伦2','男','1999-9-9','123456790',NULL,2),
  40. (15,'周杰伦3','男','1999-9-9','123456790',NULL,2);
  41. #2.方式一支持子查询,方式二不支持
  42. INSERT INTO beauty(id,`name`,phone)
  43. SELECT 32,'热巴1','998888';

二:修改语句

  1. #二:修改语句
  2. /*
  3. 1.修改单表的记录【*】
  4. 语法:
  5. update 表名
  6. set 列=新值,列=新值
  7. where 筛选条件;
  8. 2.修改多表的记录【补充】
  9. */
  10. #一:修改单表的记录
  11. #案例一:修改beauty表中姓唐的女神的电话为"12345"
  12. update beauty set phone='12345'
  13. where name like '张%';
  14. #二:修改多表的记录【补充】
  15. /*
  16. sql92语法:
  17. update 表1 别名,表2 别名
  18. set 列=值,……
  19. where 连接条件
  20. and 筛选条件;
  21. sql99语法:
  22. update 表1 别名
  23. 连接类型 表2 别名
  24. on 连接条件
  25. set 列=值,……
  26. where 筛选条件;
  27. */
  28. #案例一:修改张无忌的女朋友的手机号为114
  29. update boys bo
  30. inner join beauty b
  31. on bo.id=b.boyfriend_id
  32. set b.phone='114'
  33. where bo.boyName='张无忌';

三:删除语句

  1. #三:删除语句
  2. /*
  3. 方式一:delete
  4. 语法:
  5. 1.单表的删除【*】(一删就是整行)
  6. delete from 表名 where 筛选条件
  7. 2.多表的删除【补充】
  8. 方式二:truncate(删除整个表)
  9. truncate table 表名;
  10. */
  11. #方式一:delete
  12. #单表的删除
  13. #案例一:删除手机号以9结尾的女神信息
  14. DELETE FROM beauty WHERE phone LIKE '%9';
  15. #多表的删除
  16. /*
  17. 1.sql92语法:
  18. delete 表1的别名,表2的别名
  19. from 表1 别名,表2 别名
  20. where 连接条件
  21. and 筛选条件;
  22. 2.sql99语法:
  23. delete 表1的别名,表2的别名
  24. from 表1 别名
  25. 连接类型 join 表2 别名
  26. on 连接条件
  27. where 筛选条件;
  28. */
  29. #案例一:删除张无忌的女朋友的信息
  30. DELETE b
  31. FROM beauty bo
  32. INNER JOIN boys b
  33. ON b.boyfriend_id=bo,id
  34. WHERE bo.boyName='张无忌';
  35. #方式二:truncate(删除整个表)
  36. #删除表中所有的数据
  37. #两种删除方式大PK
  38. /*
  39. 1.delete可以加where条件,truncate不能加
  40. 2.truncate删除,效率略高
  41. 3.假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列从断点开始,而truncate删除后,再插入数据,自增长列从1开始。
  42. 4.truncate删除没有返回值,delete删除有返回值
  43. 5.truncate删除不能回滚,delete删除可以回滚
  44. */