首页 > 编程语言 > 详细

DML(数据操作语言)

时间:2021-03-30 00:18:38      阅读:23      评论:0      收藏:0      [点我收藏+]
  • 涉及到数据的
    • 插入:insert
    • 修改:update
    • 删除:delete

1. 插入语句

  • 方式1:
    • 语法:insert into 表名(列名,…) values(值1,…)
    • 示例1:插入的值的类型要与列的类型一致或兼容

INSERT INTO beauty (
id,
NAME,
sex,
borndate,
phone,
photo,
boyfriend_id
)
VALUES
(
13,
‘唐艺昕‘,
‘女‘,
‘1990-4-23‘,
‘18934531234‘,
NULL,
2
);

    • 示例2:不可以为null的列必须插入值。可以为null的列如何插入值?

方式1:字段的值写null
方式2:不写该字段

    • 示例3:列的顺序是否可以调换

INSERT INTO beauty(NAME, sex, id, phone)
VALUES(‘蒋欣‘, ‘女‘, 16, ‘110‘);

    • 示例4:列数和值的个数必须一致
    • 示例5:可以省略列名,默认所有列,而且列的顺序和表中列的顺序一致

INSERT INTO beauty
VALUES(18, ‘李易峰‘, ‘男‘, NULL, ‘19‘, NULL, NULL);

  • 方式2:
    • 语法:insert into 表名 set 列名=值,列名=值,…

INSERT INTO beauty SET id = 19,
NAME = ‘刘涛‘,
phone = ‘999‘ ;

  • 两种方式大pk
    • 方式1支持插入多行,但是方式2不支持

INSERT INTO beauty
VALUES
(20, ‘李易峰‘, ‘男‘, NULL, ‘19‘, NULL, NULL),
(21, ‘李易峰‘, ‘男‘, NULL, ‘19‘, NULL, NULL),
(22, ‘李易峰‘, ‘男‘, NULL, ‘19‘, NULL, NULL);

    • 方式1支持子查询,方式2不支持

INSERT INTO beauty(id, NAME, phone)
SELECT 26, ‘送钱‘, ‘12341234‘;

2.修改语句

  • 语法:
    • 修改单表的记录

update 表名

set 列=新值,列=新值…

where 筛选条件;

    • 修改多表的记录

sql99语法:

update 表1 别名

inner | left | right join 表2 别名

on 连接条件

set 列=值,…

where 筛选条件;

修改单表的记录

  • 案例1:修改beauty表中姓唐的女神电话为109090909

UPDATE
beauty
SET
phone = ‘109090909‘
WHERE NAME LIKE ‘唐%‘ ;

  • 案例2:修改boys表中id号位2的名称为张飞,魅力值为10

UPDATE
boys
SET
boyname = ‘张飞‘,
usercp = 10
WHERE id = 2 ;

修改多表的记录

  • 案例1:修改张无忌的女朋友的手机号为114

UPDATE
boys b
INNER JOIN beauty be
ON b.`id` = be.`boyfriend_id` SET be.`phone` = ‘114‘
WHERE b.`boyName` = ‘张无忌‘ ;

  • 案例2:修改没有男朋友的女神的男朋友编号都为 2号

UPDATE
boys b
RIGHT JOIN beauty be
ON b.`id` = be.`boyfriend_id` SET be.`boyfriend_id` = 2
WHERE be.`boyfriend_id` IS NULL ;

3.删除语句

  • 方式1:delete
    • 语法
      • 单表的删除

delete from 表名 where 筛选条件

      • 多表的删除

sql99语法

delete 别名(要删哪个表就写哪个表的别名,都删就都写)

from 表1 别名

inner | left | right join 表2 别名 on 连接条件

where 筛选条件

limit 条目数;

  • 案例1:删除手机号以9结尾的女神信息

DELETE
FROM
beauty
WHERE phone LIKE ‘%9‘ ;

 

  • 案例2:删除张无忌的女朋友的信息

DELETE
be
FROM
beauty be
INNER JOIN boys b
ON b.`id` = be.`boyfriend_id`
WHERE b.`boyName` = ‘张无忌‘ ;

  • 案例3:删除黄晓明的信息以及他女朋友的信息

DELETE
b,
be
FROM
beauty be
INNER JOIN boys b
ON b.`id` = be.`boyfriend_id`
WHERE b.`boyName` = ‘黄晓明‘ ;

  • 方式2:truncate
    • 语法

truncate table 表名;

    • truncate语句中不许加where
    • 一删全删

TRUNCATE TABLE boyes ;

  • delete pk truncate(重点)
    • delete可以加where条件,truncate不可以
    • truncate删除效率高一些
    • 假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据,自增长列的值从1开始。
    • truncate删除没有返回值,delete删除有返回值
    • truncate删除不能回滚,delete删除可以回滚


原文链接:https://blog.csdn.net/qq_21579045/article/details/98111827

DML(数据操作语言)

原文:https://www.cnblogs.com/hxl-learning-space/p/14594340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!