现有表book1,主键bookid设为标识列。若执行语句:select * into book2 from book1, 以下说法正确的是( )。(选两项)
A. 若数据库中已存在表book2, 则会提示错误
B. 若数据库中已存在表book2, 则语句执行成功,并且表book2中的bookid自动设为标识
C. 若数据库中不存在表book2, 则语句执行成功,并且表book2中的bookid自动设为主键
D. 若数据库中不存在表book2, 则语句执行成功,并且表book2中的bookid自动设为标识
正确答案: AD

“SELECT … INTO 表 FROM”语句要求INTO的表必须是个不存在的表,执行此语句后自动创建,新表无主键,有标识列定义。因为主键是约束,需要重新定义,标识列是属于列的定义。
案例语句:
CREATE TABLE T(A1 INT IDENTITY(1,1) PRIMARY KEY,A2 INT)
SELECT * INTO T3 FROM T

若用如下的SQL语句创建一个student表:
CREATE TABLE student
(NO C(4) NOT NULL, NAME C(8) NOT NULL, SEX C(2), AGE N(2))
可以插入到student表中的是 ( )。
A. (‘1031’,‘曾华’,男,23)
B. (‘1031’,‘曾华’,NULL,NULL)
C. (NULL,‘曾华’,‘男’,‘23’)
D. (‘1031’,NULL,‘男’,23)
正确答案: B

表中第一和第二列不允许为空,所以C和D选项错误,字符型数据必须加单引号引上,A选项中性别未加引号,错误。

若要删除book表中所有数据,以下语句正确的是( )。
A. delete table book
B. delete * from book
C. drop book
D. delete from book
正确答案: D

delete语句用于删除表中数据,是数据操纵语言,不需要table关键字,也不能加*号, *号用在select语句中。drop 是删除表,是数据定义语言,需要table关键字,正确的写法是drop table book

SQL语言中,删除一个表中所有数据,但保留表结构的命令是( )。
A. TRUNCATE
B. DROP
C. CLEAR
D. REMORE
正确答案: A

RUNCATE是快速删除表中全部数据,不写日志,不能恢复数据。DROP是将表结构连同表中数据一同删除。

数据库中,用户对数据库中数据进行的每一次更新操作都会被记录在( )中。
A. 控制文件
B. 数据字典
C. 参数文件
D. 日志文件
正确答案: D

DELETE语句只是删除表中的数据,表本身依然存在数据库中。
A. 正确
B. 错误
正确答案: A

在表中插入数据的命令关键字是insert。
A. 正确
B. 错误
正确答案: A

修改表中数据的命令关键字是alter。
A. 正确
B. 错误
正确答案: B

alter是修改表结构,是数据定义语言,update是修改表中数据

删除表中数据的命令关键字是Delete和truncate。
A. 正确
B. 错误
正确答案: A

TRUNCATE是快速删除表中全部数据,不能加where子句,不写日志,不能恢复数据。DELETE删除表中数据可以加where子句,可以删除全部或者只删除一部分,写日志,可以rollback恢复。

删除表中数据,如果该数据存在,删除语句正确,就一定能删除成功。
A. 正确
B. 错误
正确答案: B

删除数据有可能受外键制约,而造成删除不成功

修改表中数据,如果该数据存在,修改语句正确,就一定能修改成功。
A. 正确
B. 错误
正确答案: B

修改数据有可能受某些约束的制约,而造成修改失败。