<MySQL>入门二 增删改 DML
-- DML语言 /*
数据操作的语言
插入:insert
修改:update
删除:delete
*/
1.插入
-- 插入语句
/*
语法:insert into 表名(列名...) values(值...);
*/ -- 方式一 -- 1.插入值的类型要与列的类型一致或兼容
INSERT INTO beauty(`id`,`name`,`sex`,`borndate`,`phone`,`photo`,`boyfriend_id`)
VALUES(13,'麦克雷','男','1984.7.1','',NULL,2); -- 2.可以为Null的列如何插入值?
-- 方式一 写null值
-- 方式二 插入的字段不写 自动填充默认值或Null
INSERT INTO beauty(`id`,`name`,`sex`,`borndate`,`phone`,`boyfriend_id`)
VALUES(13,'麦克雷','男','1984.7.1','',2); -- 3.列的顺序是否可以调换,可以
-- 4.列数和值数必须一致
-- 5.可以省略列名,默认所有列,并且列的顺序和表中的顺序一致。 -- 方式二
/*
insert into 表名 set 列名=值,列名=值...;
*/
INSERT INTO beauty SET id=19,NAME='张飞',phone=''; -- 两种方式比较
-- 1.方式一支持多行插入,方式二不支持
INSERT INTO beauty
VALUES(13,'麦克雷','男','1984.7.1','',NULL,2),
VALUES(14,'天使','女','1999.6.1','',NULL,3),
...; -- 2.方式一支持子查询,方式二不支持
INSERT INTO beauty(id,NAME,phone) SELECT 55,'骚猪','';
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表中,姓苍的电话为110
UPDATE beauty SET phone = '' WHERE NAME LIKE '苍%'; -- 2.修改boys表中id=2的名称为张飞,魅力值为10
UPDATE boys SET boyName = '张飞',userCP = 10 WHERE id = 2; -- 修改多表记录
-- 1.修改张无忌的女朋友的手机号为114
UPDATE boys bo
JOIN beauty be
ON bo.`id`=be.`boyfriend_id`
SET be.`phone`=''
WHERE bo.`boyName`='张无忌'; -- 2.修改没有男朋友的 女神的男朋友编号都为2号
UPDATE beauty SET boyfriend_id =2 WHERE boyfriend_id IS NULL;
3.删除
-- 删除语句
/*
delete
1.单表删除
语法一:delete from 表名 where 筛选条件
2.多表删除
sql92: delete 别名 from 表1 别名,表2 别名 where 连接条件 and 筛选条件;
sql99: delete 别名 from 表1 别名 inner left right join 表2 别名 on 连接条件 where 筛选条件 truncate
trancate table 表名;
*/ -- delete
-- 单表删除
-- 删除手机号以9结尾的女神信息
DELETE FROM beauty WHERE phone LIKE '%9'; -- 多表删除
-- 删除张无忌的女朋友的信息
DELETE be
FROM beauty be
INNER JOIN boys bo
ON be.`boyfriend_id`=bo.`id`
WHERE bo.`boyName`='张无忌'; -- 删除黄晓明的信息和它女朋友的信息
DELETE be,bo
FROM beauty be
INNER JOIN boys bo
ON be.`boyfriend_id`=bo.`id`
WHERE bo.`boyName`='黄晓明'; -- truncate语句
-- 只能删除整个表,后面不能加筛选条件 -- delete 和 truncate比较
/*
1.delete可以加where条件,truncate不能加
2.truncate删除,效率高一些
3.加入要删除的表中有自增长列
如果用delete删除后,再插入值,自增长列的值从断点开始
而truncate删除后,再插入值,自增长列的值从1开始
4.truncate删除没有返回值,delete删除有返回值
5.truncate删除不能回滚,delete删除可以回滚
*/
<MySQL>入门二 增删改 DML的更多相关文章
- mybatis入门(二):增删改查
mybatis的原理: 1.mybatis是一个持久层框架,是apache下的顶级项目 mybatis托管到googlecode下,目前托管到了github下面 2.mybatis可以将向prepar ...
- mybatis入门二-----增删改查
一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...
- Mybatis入门之增删改查
Mybatis入门之增删改查 Mybatis如果操作成功,但是数据库没有更新那就是得添加事务了.(增删改都要添加)----- 浪费了我40多分钟怀疑人生后来去百度... 导入包: 引入配置文件: sq ...
- 手撸Mysql原生语句--增删改查
mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- MySQL 数据的增删改查
一.数据库的增删改 一. 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 1.使用INSERT实现数据的插入 2.UPDATE实现数据的更新 3.使用DELETE实现数 ...
随机推荐
- CSP 201612-4 压缩编码 【区间DP+四边形不等式优化】
问题描述 试题编号: 201612-4 试题名称: 压缩编码 时间限制: 3.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一段文字,已知单词a1, a2, …, an出现的频率分别t1 ...
- [RK3288][Android6.0] Display驱动初始化流程小结【转】
本文转载自:http://blog.csdn.net/kris_fei/article/details/52584903 Platform: RK3288OS: Android 6.0Kernel: ...
- 怎么样关掉红米note开发者选项
进 系统设置\应用 ,找到“设置”点进去,清一下数据,再打开“设置”查看,就没有“开发者选项”了
- python-----重命名文件(在原文件名前加0)
问题描述: 如果用循环给文件命名,则文件名就会是1,2,3...,10,11,12,13...,100,101...,但是遍历这些文件时,顺序就会变成1,10,100,101,...109,11,.. ...
- [POI2011]LIZ-Lollipop
https://www.zybuluo.com/ysner/note/1303462 题面 给一个只有\(1\)和\(2\)的序列,每次询问有没有一个子串的和为\(x\). \(n\leq10^6\) ...
- bzoj1050
最小生成树 其实这道题是最小生成树的变种,我们发现答案不一定在最小/最大生成树上,最短路算法也不可行,因为我们我们并不是希望最小值尽量的大,最大值尽量的小,这样不一定是最优的,那么我们枚举最小的边,然 ...
- attr 和 prop的区别和使用
一. attr和prop的区别 要想弄清楚attr和prop的区别,就要先搞清楚js中使用DOM方法获取设置属性和使用对象方法获取设置属性的区别. 在javascript中使用DOM方法设置获取属性值 ...
- mysql机制总结
Innodb和myisam最大的不同就是 innodb支持事物 采用了行锁 myisam 采用了表锁 默认就使用了表锁 表锁:速度快 并发小 发生锁冲突高 开销小 行锁:速度慢 并发高 发生锁冲突低 ...
- Extjs6 经典版 combo下拉框数据的使用及动态传参
Extjs的下拉框,在点击的时候会请求一次数据,我们可不可以在点击前就请求好数据,让用户体验更好呢?答案当然是肯定的.如果是公用的下拉框还可以传入不同参数请求不同数据. 第一步: 进入页面前首先加载s ...
- iOS 关于文件操作 NSFileManager
创建文件夹 + (BOOL)creatDir:(NSString *)path { if (path.length==0) { return NO; } NSFileManager *fileMana ...