DML之插入 修改 删除10

Posted zhengyinboke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DML之插入 修改 删除10相关的知识,希望对你有一定的参考价值。

  1 #DML语言
  2 /*
  3 数据操作语言
  4     插入:insert
  5     修改:update
  6     删除:delete
  7 
  8 */
  9 
 10 #一.插入语句
 11 /*
 12 语法:
 13 insert into 表名(列名,...) values(值1,...);
 14 
 15 */
 16 
 17 #1:插入值的类型要和列的类型一致兼容
 18 
 19 INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
 20 VALUES(13,唐艺昕,,1990-4-23,1898888888,NULL,2);
 21 
 22 #2.不可以为null的列必须插入值,可以为null得列如何插入值?
 23 #方式一:
 24 
 25 INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
 26 VALUES(13,唐艺昕,,1990-4-23,1898888888,NULL,2);
 27 
 28 #方式二:
 29 
 30 INSERT INTO beauty(id,NAME,sex,phone)
 31 VALUES(14,金星,,18999999999);
 32 
 33 #3.列的顺序可以调换
 34 INSERT INTO  beauty(NAME,sex,id,phone)
 35 VALUES(张天爱,,15,13888598588);
 36 
 37 #4.列数和值的个数必须一致
 38 
 39 INSERT  INTO beauty(NAME,sex,id,phone)
 40 VALUE(小龙女,,16,36699885522);
 41 
 42 #5.可以省略列名默认所有列 而且列的顺序和表的顺序一致
 43 
 44 INSERT INTO beauty 
 45 VALUE(17,路飞,,NULL,11011011011,NULL,NULL);
 46 
 47 #方式二:
 48 /*
 49 语法:
 50 insert into 表名
 51 set 列名=值,列名=值...
 52 */
 53 
 54 INSERT INTO beauty
 55 SET id = 18,NAME=刘涛,phone = 999;
 56 
 57 #两种方式pk
 58 /*
 59 
 60 */
 61 #1.方式一支持插入多行 方式二不支持
 62 INSERT INTO beauty
 63 VALUES(19,貂蝉,,1770-4-23,18977777777,NULL,2),
 64       (20,西施,,1880-4-23,18988888888,NULL,3),
 65       (21,王昭君,,1990-4-23,18999999999,NULL,4);
 66  
 67 #2.方式一支持子查询,方式二不支持
 68 
 69 INSERT INTO beauty(id,NAME,phone)
 70 SELECT 26,宋茜,1180986666;
 71 
 72 
 73 #二.修改语句
 74 /*
 75 1.修改单表记录 ☆
 76 
 77 语法:
 78     update 表名
 79     set 列=新值,列=新值,...
 80     where 筛选条件;
 81 
 82 2.修改多表的记录【补充】
 83 
 84 语法:sql92
 85     update 表1 别名 表2 别名
 86     set 列=值...
 87     where 连接条件
 88     and 筛选条件;
 89        sql99
 90          update 表1 别名
 91          inner|left|right join 表2 别名
 92          on 连接条件
 93          set 列=值,...
 94          where 筛选条件;
 95 */
 96 
 97 #1.修改单表记录
 98 
 99 #案例1:修改beauty表中姓唐的女神电话为13895259045
100 
101 UPDATE beauty SET phone = 13895259045
102 WHERE NAME LIKE 唐%;
103 
104 #案例2:修改boys表中id号为2的名改为张飞魅力值10
105 UPDATE boys SET boyname=张飞,usercp=10
106 WHERE id=2;
107 
108 
109 #2.修改多表的记录
110 
111 #案例 1.修改张无忌的女朋友的手机号为114
112 
113 UPDATE boys bo
114 INNER JOIN beauty b 
115 ON bo.id = b.boyfriend_id
116 SET b.phone=114
117 WHERE bo.boyName="zhangwuji";
118 
119 #案例2.没有男朋友的女神的男朋友编号都改为2号
120 
121 UPDATE boys bo
122 RIGHT jion beauty b 
123 ON bo.id = b.boyfriend_id
124 SET b.boyfriend_id = 2
125 WHERE bo.id IS NULL;
126 
127 SELECT * FROM  boys
128 
129 #三 删除语句
130 
131 /*
132 方式一:delete
133 语法:
134 1.单表的删除 ☆
135 
136     delete from 表名 where 筛选条件
137 2.多表的 删除【补充】
138     sql92语法:
139     delete 表1的别名,表2的别名
140     from 表1 别名,表2 别名
141     where 连接条件
142     and 筛选条件
143     sql99语法:
144     delete 表1的别名,表2的别名
145     from 表1 别名
146     inner|left|right join 表2 别名 
147     on 连接条件
148     where 筛选条件;
149 
150 方式二:truncate
151 
152 语法:truncate table表名;
153 
154     
155     
156     
157 */
158 
159 #方式一:delete
160 
161 #案例1:删除手机号以9结尾的女神信息
162 
163 DELETE FROM beauty WHERE phone LIKE %9;
164 
165 SELECT * FROM beauty;
166 
167 #2.多表的删除
168 
169 
170 #案例:张无忌女朋友的信息
171 DELETE b 
172 FROM beauty b
173 INNER JOIN boys bo
174 ON b.boyfriend_id=bo.id
175 WHERE bo.boyname = 张无忌
176 
177 #案例:删除黄晓明的信息以及他女朋友的
178 
179 DELETE b ,bo
180 FROM beauty b
181 INNER JOIN boys bo 
182 ON b.boyfriend_id=bo.id
183 WHERE bo.boyName=黄晓明;
184 
185 #方式二:truncate语句
186 
187 #案例:魅力值>100的男生信息删除
188 
189 TRUNCATE TABLE boys;
190 
191 #delete 和truncate的区别
192 /*
193 1.delete 可以加where条件,truncate不能加
194 2.truncate 删除效率高一点点
195 3.假如要删除的表中有自增长列
196 如果用delete删除后,在插入数据,自增上长列从断点开始。
197 而用truncate删除后,在插入数据,自增长列的值从1开始。
198 4.truncate 删除无返回值 delete有返回值
199 5.truncate 删除不能回滚,delete删除可以回滚
200 
201 */
202 
203 SELECT * FROM boys;
204 
205 DELETE * FROM boys;
206 INSERT INTO boys (boyname,usercp)
207 VALUES(张飞,1000),(刘备,100),(关云长,100);
208 
209 TRUNCATE TABLE boys;
210 INSERT INTO boys (boyname,usercp)
211 VALUES(张飞,1000),(刘备,100),(关云长,100);

DML

以上是关于DML之插入 修改 删除10的主要内容,如果未能解决你的问题,请参考以下文章

SQL语法之DDL和DML

ClickHouse SQL 极简教程ClickHouse SQL之数据操作语言 DML

MySQL之DML语句(insert update delete)

SQL 基础之DML 数据处理(十三)

MySQL一笑而过MySQL数据表的插入删除和修改 DML语句详解

SQLServer之创建DML AFTER INSERT触发器