mysql 插入-更新-删除

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

1.插入记录有四种情况:
插入单行记录: INSERT INTO tablename(column1,...columnn) VALUES(value1,...,valuen) 
插入多行记录: INSERT INTO tablename(column1,...columnn) VALUES(value1,...,valuen), ...,(value1,..., valuen) 
通过子查询插入记录: INSERT INTO tablename(column1,...columnn)(SELECT column1,... columnn FROM t1) 后面这个()可以没有
通过视图插入记录: INSERT INTO view_name(column1,...columnn) VALUES(value1,..., valuen), ...,(value1,..., valuen) 
SQL中,没有字段的关键字,因为字段名都是跟在表名后的,所以就没有必要了。每一个字段都是一个变量
例子:

INSERT INTO t1 VALUES(07,艺术系NULL)  :插入整行记录

INSERT INTO t1 (dno,deptname)VALUES(07,艺术系),(08,生物系)  :插入多行记录

INSERT INTO t1(dno,dname) SELECT DISTINCT dno,dname FROM t2 :子查询插入记录

2.更新(修改)记录有2种情况

使用UPDATE直接更新底层表数据: UPDATE tablename SET column1=value1,..., columnn=valuen WHERE condition

通过视图更新底层表数据: UPDATE view_name SET column1=value1,..., columnn=valuen WHERE condition

例子:

UPDATE teacher SET sal=sal+100 WHERE rno=0101 将0101教师工资增加100

3.删除记录有4种情况

通过DELETE 删除一行或多行数据: DELETE FROM tablename WHERE condition

通过视图删除表数据: DELETE FROM viewname WHERE condition

通过子查询删除表数据: DELETE FROM tablename WHERE condition(子查询)

全部删除表数据: DELETE FROM tablename

例子:

DELETE FROM t2 WHERE tno=199202 删除一行或多行

DELETE FROM t2 删除t2中所有记录

DELETE FROM view_t2 WHERE sal<1200 通过视图删除记录

DELETE FROM t2 WHERE sex= AND sal>(SELECT AVG(sal) FROM t2)子查询删除记录

 

TRUNCATEDELETE的区别:DELETE是一行一行的删除,速度慢,需要更新事务处理日志,支持回滚(ROOLBACK)TRUNCATE一次性删除与表有关的所有数据页,速度快,不记录日志,不能回滚。

 

 

 


本文转自 a_liujin 51CTO博客,原文链接:http://blog.51cto.com/a1liujin/1652033,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 关系型数据库 MySQL
MYSQL——Split字符串并且插入值
MYSQL——Split字符串并且插入值
116 0
|
存储 运维 关系型数据库
头大了,Mysql写入数据十几秒后被自动删除了
事情是这样的,在公司内部新开发了一个功能还没有上线,目前部署在测试环境,Node服务会开启一个定时任务,每5分钟会处理好一部分数据写入到mysql数据库中。
186 0
头大了,Mysql写入数据十几秒后被自动删除了
|
存储 关系型数据库 MySQL
MySQL InnoDB的插入缓冲Insert Buffer
MySQL InnoDB的插入缓冲Insert Buffer
131 0
MySQL InnoDB的插入缓冲Insert Buffer
|
关系型数据库 MySQL
mysql删除重复记录只保留一条
mysql删除重复记录只保留一条
93 0
|
SQL 关系型数据库 MySQL
MySQL插入Emoji表情
MySQL插入Emoji表情
MySQL插入Emoji表情
|
SQL 关系型数据库 MySQL
删除 MySQL | 学习笔记
快速学习删除 MySQL.
删除 MySQL | 学习笔记
|
关系型数据库 MySQL
MySQL基础-删除/更新行为
添加了外键之后,再删除父表数据时产生的约束行为,我们就称为删除/更新行为。具体的删除/更新行为有以下几种:
154 0
|
关系型数据库 MySQL 索引
mysql更新varchar类型字段长度报错:ERROR 1074 (42000): Column length too big for column ‘value‘ (max = 21845);
mysql更新varchar类型字段长度报错:ERROR 1074 (42000): Column length too big for column ‘value‘ (max = 21845);
|
关系型数据库 MySQL 数据库
mysql插入表时报错ERROR 1067 (42000): Invalid default value for ‘end_time‘
mysql插入表时报错ERROR 1067 (42000): Invalid default value for ‘end_time‘
|
关系型数据库 MySQL
MySQL数据表不能修改、删除等操作,卡死、锁死情况的处理办法。
MySQL数据表不能修改、删除等操作,卡死、锁死情况的处理办法。
1576 0

推荐镜像

更多