刷爆牛客(三)
1.修改表test_tbl字段i的缺省值为1000,可以使用SQL语句(A)
A.ALTER TABLE test_tbl ALTER i SET DEFAULT 1000;
B.ALTER TABLE test_tbl i SET DEFAULT 1000;
C.ALTER TABLE test_tbl MODIFY i SET DEFAULT 1000;
D.ALTER TABLE test_tbl CHANGE i SET DEFAULT 1000;
解释:
alter table 表名 alter column 字段名 set default 默认值;
CHANGE 用来修改字段名字以及类型
modify 用来修改字段类型
aiter column ... set 用来修改字段数据
2.下面有关sql 语句中 delete truncate的说法正确的是?(A,C)
A.论清理表数据的速度,truncate一般比delete更快
B.truncate命令可以用来删除部分数据。
C.truncate只删除表的数据不删除表的结构
D.delete能够回收高水位
1、处理效率:drop>trustcate>delete
2、drop删除整个表;trustcate删除全部记录,但不删除表;delete删除部分记录
3、delete不影响所用extent,高水线保持原位置不动;trustcate会将高水线复位。
在使用truncate时一定要注意,虽然可以恢复,但为了减少麻烦,还是要慎重。
如果想删除部分数据用delete,注意带上where子句,回滚段要足够大;
如果想保留表而将所有数据删除,如果和事务无关,用truncate即可;
如果和事务有关,或者想触发trigger,还是用delete;
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据。