10-28 每日刷题复盘:
1.SQL语言可以分为多个类别,那么不属于数据操纵语言DML的是()
解析:SQL语言共分为四大类:
1.数据查询语言DQL:基本由SELECT子句,FROM子句,WHERE子句组成的查询块
2.数据操纵语言DML:1) 插入:INSERT 2) 更新:UPDATE 3) 删除:DELETE
3.数据定义语言DDL:用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:CREATE TABLE / VIEW / INDEX / SYN / CLUSTER| 表 视图 索引 同义词 簇。
4.数据控制语言DCL:数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:1) GRANT:授权。
2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。回滚---ROLLBACK回滚命令使数据库状态回到上次最后提交的状态。其格式为:SQL>ROLLBACK;
3) COMMIT [WORK]:提交
2.如果ORDER BY子句后未指定ASC或DESC,默认使用以下哪个?
解析:默认ASC(升序);DESC(降序)
3.SQL中,下面对于数据定义语言DDL描述正确的是()
解析:DDL:用来定义数据库对象;DML:用来对数据库中的表进行增删改操作。
DQL:用来查询数据库中表的记录(数据);DCL:用来定义数据库的访问控制权限和安全级别,及创建用户。
4.请取出 BORROW表中日期(RDATE字段)为当天的所有记录?(RDATE字段为datetime型,包含日期与时间)。SQL语句实现正确的是:( )
解析:select * from BORROW where datediff(dd,RDATE,getdate())=0
理解datediff(dd,RDDATE,getdate())==0含义,即返回以日为单位(dd),和当前日期(getdate)相差为0日的RDDATE。这里用这个函数的意义在于,RDDATE包括日期和时间,这里因为有时间,和getdate不能直接比较,所以用datediff转换为范围。