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的主要内容,如果未能解决你的问题,请参考以下文章
ClickHouse SQL 极简教程ClickHouse SQL之数据操作语言 DML
MySQL之DML语句(insert update delete)