MySQL——DML数据增、删、改
插入
方式一(经典)
语法:
insert into 表名(列名,...) values(值,...);
若要一次插入多行
create table if NOT EXISTS user(
name VARCHAR(20),
sex VARCHAR(2),
age INT
)
INSERT INTO `user` VALUES('丸子','male',23),('莉香','female',22)
【说明】
- 要求值的类型和字段的类型一致或兼容
- 字段的个数和顺序可以与原始表中的字段个数和顺序不一致,但必须保证值和字段的类型一一对应
- 假如表中有可以为null的字段,可以通过以下两种方式插入null值
①字段和值都省略
②字段写上,值使用null - 字段和值的个数必须一致
- 字段名可以省略,默认所有列,且顺序与默认顺序相同
- 字符和日期型数据应包含在单引号
方式二
语法:
insert into 表名 set 字段=值,字段=值,...;
两种方式的区别:
- 方式一支持一次插入多行,方式二不支持
- 方式一支持子查询,即从其他表中拷贝数据,方式二不支持
批量插入
批量插入,用的是insert语句的子查询,数据量大的时候提高效率格式:
insert into 表名(字段1,字段2...)
select 字段1,字段2 from 表名
使用insert子查询不仅能够实现简单的将一个表中的数据导出到另外一个表中的功能,还能在插入目标表之前对数据进行处理
修改
修改单表的记录 (重点)
update 表名 set 字段=值,字段=值 where 筛选条件;
修改多表的记录【补充】
update 表1 别名
left|right|inner join 表2 别名
on 连接条件
set 字段=值,字段=值
where 筛选条件;
案例
#修改张无忌的女朋友的手机号为114
UPDATE boys bo
INNER JOIN beauty b ON bo.id=b.boyfriend_id
SET b.phone='119',bo.userCP=1000
WHERE bo.boyName='张无忌';
删除
方式一:delete
删除单表的记录★
语法:
delete from 表名 where 筛选条件 limit 条目数
注意:使用 WHERE 子句 删除指定的记录。如果省略 WHERE 子句,则表中的全部数据将被删除
多表级联删除[补充]
语法:
delete 别名1,别名2 from 表1 别名
inner|left|right join 表2 别名
on 连接条件
where 筛选条件
方式二:truncate
语法:
truncate table 表名
两种方式的区别【面试题】★
- truncate删除后,如果再插入,标识列从1开始; delete删除后,如果再插入,标识列从断点开始
- delete可以添加筛选条件,truncate不可以添加筛选条件
- truncate效率较高
- truncate没有返回值,delete可以返回受影响的行数
- truncate不可以回滚,delete可以回滚
MySQL——DML数据增、删、改的更多相关文章
- Mysql基本操作语句 增-删-改-查
增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...
- 第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据
第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- django ajax增 删 改 查
具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...
- C# ADO.NET (sql语句连接方式)(增,删,改)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- MVC EF 增 删 改 查
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
随机推荐
- Windows下升级Python3.7.7后(原Python3.6.2版本)如何切换Python版本
笔者:风起怨江南 出处:https://www.cnblogs.com/mengjinxiang 笔者原创,文章欢迎转载,如果喜欢请点赞+关注,谢谢! 问题:window系统下,如果升级了最新的Pyt ...
- opencv官宣
opencv官方文档地址 https://docs.opencv.org/master/ 安装opencv(cv2)官方地址 https://pypi.org/project/opencv-pytho ...
- Python日常Bug集
1.TypeError: 'int' object is not iterable: 场景示例: data = 7 for i in data: print(i) # 原因:直接对int数据进行迭代造 ...
- 实验2:Open vSwitch虚拟交换机实践
作业链接:实验2:Open vSwitch虚拟交换机实践 一.实验目的 能够对Open vSwitch进行基本操作: 能够通过命令行终端使用OVS命令操作Open vSwitch交换机,管理流表: 能 ...
- 获取HTML网页中option标签元素的值
在进行表单元素的操作时,难免会遇到对option元素的挑选,下面的示例代码能够很好的获取到你option元素选择的值,如果要传递给后端,可通过ajax或者其他方式传递即可. 示例代码 <!doc ...
- Java 爬取 51job 数据 WebMagic实现
Java 爬取 51job 数据 一.项目Maven环境配置 相关依赖 jar 包配置 <parent> <groupId>org.springframework.boot&l ...
- 小程序 rich-text 处理显示
VIEW <view class="richText"> <rich-text nodes="{{richTextHTML}}" bindta ...
- GIT打补丁 - patch和diff应用
一. 准备工作: [root@guangzhou gittest]# git br * master [root@guangzhou gittest]# git chk -b patch-test1 ...
- redis 5.0.12 install
redis 5.0.12 install ## check directory ls -l /XXXXXXX ##create dir mkdir -p /XXXXXXX/dataredis mkdi ...
- 洛谷T31018 经典题丶改(LCT+离线)
真的是一个大好题啊! QWQ首先我们考虑这种问题,如果直接在线做,估计应该是做不了,那我们是不是可以直接考虑离线. 将所有询问都按照\(r\)来排序. 然后依次加入每条边,计算\(a[i]<=n ...