-- 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的更多相关文章

  1. mybatis入门(二):增删改查

    mybatis的原理: 1.mybatis是一个持久层框架,是apache下的顶级项目 mybatis托管到googlecode下,目前托管到了github下面 2.mybatis可以将向prepar ...

  2. mybatis入门二-----增删改查

    一.使用MyBatis对表执行CRUD操作——基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0&quo ...

  3. Mybatis入门之增删改查

    Mybatis入门之增删改查 Mybatis如果操作成功,但是数据库没有更新那就是得添加事务了.(增删改都要添加)----- 浪费了我40多分钟怀疑人生后来去百度... 导入包: 引入配置文件: sq ...

  4. 手撸Mysql原生语句--增删改查

    mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...

  5. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  6. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  7. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...

  8. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  9. MySQL 数据的增删改查

    一.数据库的增删改 一. 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 1.使用INSERT实现数据的插入 2.UPDATE实现数据的更新 3.使用DELETE实现数 ...

随机推荐

  1. MPMoviePlayerController属性方法简介

    属性 说明 @property (nonatomic, copy) NSURL *contentURL 播放媒体URL,这个URL可以是本地路径,也可以是网络路径 @property (nonatom ...

  2. 解决vs2010无法找到System.Data.OracleClient的引用问题

    解决vs2010无法找到System.Data.OracleClient的引用问题 2012-2-19 09:12| 发布者: benben| 查看: 7627| 评论: 0   摘要: 在vs201 ...

  3. leetcode 784. Letter Case Permutation——所有BFS和DFS的题目本质上都可以抽象为tree,这样方便你写代码

    Given a string S, we can transform every letter individually to be lowercase or uppercase to create ...

  4. luogu 4630 [APIO2018] Duathlon 铁人两项

    题目大意: 无向图上找三个点 a b c使存在一条从a到b经过c的路径 求取这三个点的方案数 思路: 建立圆方树 这个圆方树保证没有两个圆点相连或两个方点相连 对于每个节点x 设该节点为路径的中间节点 ...

  5. ORACLE游标概念讲解

    1,什么是游标? ①从表中检索出结果集,从中每次指向一条记录进行交互的机制. ②关系数据库中的操作是在完整的行集合上执行的.   由 SELECT 语句返回的行集合包括满足该语句的 WHERE 子句所 ...

  6. win7 32位解决matlab out of memory问题

    由于最近在做DL,matlab load数据时由于内存只有2G,会出现out of memory的情况,网上百度了下都是在xp下打开3GB来解决该问题,但是由于win7没有boot.ini无法在win ...

  7. ASP.NET面试点汇总

    1.维护数据库的完整性.一致性.你喜欢用触发器还是自写业务逻辑?为什么答:尽可能用约束(包括CHECK.主键.唯一键.外键.非空字段)实现,这种方式的效率最好:其次用触发器,这种方式可以保证无论何种业 ...

  8. 最大加权矩形 luogu1719

    题目链接:https://www.luogu.org/problemnew/show/P1719 这道题挺好做的 又是一道练前缀和的题 #include <bits/stdc++.h> # ...

  9. Linux学习笔记之Linux系统启动过程

    Linux系统的启动过程可以分为五个阶段: 内核的引导 运行init 系统初始化 建立终端 用户登录系统 1.内核引导: 当计算机打开电源后,首先进行BIOS开机自检,按照BIOS中设置的启动设备(一 ...

  10. jQuery——表单应用(3)

    HTML: <!--表单-多行文本框应用-滚动条高度变化--> <!DOCTYPE html> <html> <head> <meta chars ...