一、插入
1、一般插入
INSERT INTO table_name|view_name
VALUES(constant1,constant2,constant3....) --值在数目上与列要一一对应
eg:INSERT INTO XS
VALUES('200000','周涛','英语','1','1983-9-10','0','NULL')
2、指定插入:其余没有指定列,必须有默认值,或可以为空值,且指定列与值要在数目上对应
INSERT INTO table_name(column_list1,column_list2,column_list3,)
VALUES(constant1,constant2,constant3....)
eg:INSERT INTO XS(借书证号,姓名,专业,出生日期)
VALUES('200000','周涛','英语','1983-9-10')
3、特殊插入:从一表中查询结果插入另一表
a、表一与表二查询数据项在结构上一致:
eg: INSERT INTO XS1
SELECT 借书证号,姓名,专业名
FROM XS
WHERE 专业名='语文'
b、表一与表二查询数据项在结构上不一致,参考指定插入:
eg: INSERT INTO XS1(借书证号,姓名,专业名)
SELECT 借书证号,姓名,专业名
FROM XS
WHERE 专业名='语文'
二、删除
1、条件删除
DELETE [FROM] table_name|view_name
WHERE <search_condition> --指定删除的条件
eg:DELETE FROM XS1
WHERE 借书证号='10007'
2、完整删除
a、DELETE table_name|view_name
b、TRUNCATE TABLE table_name
区别: DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的的删除操作作为事务记录在日志中保存以便进行进行
回滚操作。
TRUNCATE TABLE 则一次性地从表中删除所有的数据页并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删
除的过程中不会激活与表有关的删除触发器。执行速度快。
如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销
TRUNCATE不能触发任何DELETE触发器
当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。
三、修改
UPDATE {table_name|view_name}
SET column_name={expression | DEFAULT|NULL}[,...n]
[WHERE <search_condition>] --限制条件
1、限制修改
eg:UPDATE XS
SET 专业名='计算机'
WHERE 借书证号='10007' --仅修改1007号表记录
2、全部修改
eg:UPDATE XS
SET 专业名='计算机' --修改全部记录