一.truncate与delete的区别是什么?
TRUNCATE TABLE:删除内容、不删除定义、释放空间。
DELETE TABLE:删除内容、不删除定义,不释放空间。
DROPTABLE:删除内容和定义,释放空间。
1.truncate table 表名,只能删除表中全部数据。 delete from 表名 where ….,可以删除表中全部数据,也可以删除部分数据。
2.delete from 记录是一条条删的,所删除的每行记录都会进日志, 而 truncate 一次性删掉整个页,因此日志里面只记录页释放.
3.Truncate 删除后,不能回滚。Delete 可以回滚。
4.Truncate 的执行速度比 Delete 快。
5.Delete 执行后,删除的数据占用的存储空间还在,还可以恢复数据。Truncate 删除的数据占用的存储空间不在,不可以恢复数据
二.怎么新加一行记录、怎么添加一个列字段,修改列
插入一行数据:
insert into stu(stuName,stuAge,stuSex) values(‘张三’,’20’,’男’)
增加列: 1. alter table tableName add (column)columnName varchar(30) (一定 要有数据类型!!!)
删除列: 1. alter table tableName drop (column) columnName
三 .select Count (*)和 Select Count(数 字 )以 及 Select Count(column)区别
count(*) 跟 count(1) 的结果一样,返回记录的总行数,都包括 对 NULL 的统计,而 count(column) 是不包括 NULL 的统计。
四.EXISTS 关键字的使用方法
EXISTS 关键字表示存在。使用 EXISTS 关键字时,内层查询语句不返回查询的记录,而是返回一个真假值。
如果内层查询语句查询到符合条件的记录,就返回一个真值(true),否则,将返回一个假值(false):
当返回的值为 true 时,外层查询语句将进行查询。
当返回的值为 false 时,外层查询语句将不进行查询或者查询不出任何记录。
SELECT * FROM employee WHERE
NOT EXISTS
(SELECT d_name FROM department WHERE d_id=1003);