mysql 插入-更新-删除

SQL操作指南
本文详细介绍了SQL中的插入、更新和删除操作的基本语法,并给出了具体的实例。此外还对比了TRUNCATE和DELETE的区别。

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,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值