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一次性删除与表有关的所有数据页,速度快,不记录日志,不能回滚。