前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

全程软件测试(七十):数据库MySQL之DML语言—读书笔记

qiguaw 2024-11-10 10:47:42 资源文章 14 ℃ 0 评论

继《全程软件测试(六十八):数据库MySQL从零开始入门—读书笔记》、《全程软件测试(六十九):数据库MySQL之DQL语言—读书笔记》篇,此篇介绍数据库的DML语言。

第四章 DML语言

4.1、插入语句

一、语法

#方式一:

INSERT INTO 表名(字段名,...) VALUES(值,...);

#方式二:

INSERT INTO 表名 SET 字段名=值,字段名=值,...;

二、特点

  • 要求值的类型和字段的类型要一致或兼容
  • 字段的个数和顺序不一定与原始表中的字段个数和顺序一致,但必须保证值和字段一一对应
  • 假如表中有可以为null的字段,注意可以通过以下两种方式插入null值:①字段和值都省略、②字段写上,值使用null
  • 字段和值的个数必须一致
  • 字段名可以省略,默认所有列
  • 方式一支持一次插入多行,语法如下:INSERT INTO 表名【(字段名,…)】 VALUES(值,…),(值,…),…;
  • 方式一支持子查询,语法如下:
INSERT INTO 表名 查询语句;

三、演示

1、方式一:插入数据
INSERT INTO beauty(id,name,sex,borndate,phone,photo,boyfriend_id) 
			VALUES(15,'唐艺昕','女','1997-12-05','15633029014',NULL,2);

2、方式二:插入数据
INSERT INTO beauty SET 
    id = 19,
    name = '张倩倩',
    sex = '女',
    borndate = '1997-12-05',
    phone = '15633029014',
    photo = NULL,
    boyfriend_id = 3 ;

4.2、修改语句

一、语法

1、单表更新
UPDATE 表名 SET 列 = 值,... WHERE 查询条件;


2、多表更新
#SQL92语法: 
UPDATE 
  表1 别名,
  表2 别名 
SET
  列 = 值,
  ...
WHERE 连接条件 AND 筛选条件 ;
-----------------------------------------------
#SQL99语法: 
UPDATE 
  表1 别名 
INNER | LEFT | RIGHT JOIN 表2 别名 ON 连接条件
  SET 列 = 值,
  ...
WHERE 筛选条件 ;

二、演示

1、单表更新
#修改beauty表中姓唐的女神的电话为13899888899
UPDATE beauty SET phone = '13899888899' WHERE NAME LIKE '唐%';

2、多表更新
#修改张无忌的女朋友的手机号为13899888899,魅力值为1000
SQL92语法:
UPDATE 
  boys bo,
  beauty b 
  SET b.`phone` = '13899888899',
      bo.`userCP` = 1000 
WHERE bo.`id` = b.`boyfriend_id` AND bo.`boyName` = '张无忌' ;
-----------------------------------------------------------------------------------------
#修改张无忌的女朋友的手机号为13899888899,魅力值为1000
SQL99语法:
UPDATE 
  boys bo 
INNER JOIN beauty b ON bo.`id` = b.`boyfriend_id`
  SET b.`phone` = '13899888899',
      bo.`userCP` = 1000 
WHERE bo.`boyName` = '张无忌' ;

4.3、删除语句

一、语法

1、单表删除 
DELETE FROM 表名 【WHERE 筛选条件 】;

2、多表删除(级联删除)
SQL92语法: 
DELETE 
  表1的别名,
  表2的别名 
FROM
  表1 别名,
  表2 别名 
WHERE 连接条件 AND 筛选条件 ;

SQL99语法: 
DELETE 
  表1的别名,
  表2的别名 
FROM
  表1 别名 
INNER | LEFT | RIGHT JOIN 表2 别名 ON 连接条件 
WHERE 筛选条件 ;

二、演示

1、单表删除
#删除手机号以9结尾的女神信息
DELETE FROM beauty WHERE phone LIKE '%9';

2、多表删除
#删除黄晓明的信息以及他女朋友的信息
#SQL92语法:
DELETE
  b,
  bo
FROM
  beauty b,
  boys bo
WHERE b.`boyfriend_id` = bo.`id` AND bo.`boyName` = '黄晓明' ; 
------------------------------------------------------------------------------
#删除黄晓明的信息以及他女朋友的信息
#SQL99语法:
DELETE 
  b,
  bo 
FROM
  beauty b 
INNER JOIN boys bo ON b.`boyfriend_id` = bo.`id` 
WHERE bo.`boyName` = '黄晓明' ;

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表