分类: Mysql/postgreSQL
2008-05-01 17:29:16
今天腾讯面试遇到了不少mysql的题,可惜平时不注意积累,用的都是封装好的函数,结果很多细节都漏掉了。关于注释这个以前从来没用过,不过还好借助c和linux的使用习惯猜对了。其他还考了几条系统命令,更是没用过了,补上吧,有一条是察看登录过系统用户的命令:last;另一条是察看一个进程打开的所有文件的命令lsof。下面介绍了注释问题: MySQL允许在SQL 代码中使用注释。这对于说明存放在文件中的查询很有用处。可用两个方式编写注释。以“ #”号开头直到行尾的所有内容都认为是注释。另一种为C 风格的注释。即,以“/ *”开始,以“* /”结束的所有内容都认为是注释。C 风格的注释可跨多行,如: 自MySQL3.23 版以来,可在C 风格的注释中“隐藏” MySQL特有的关键字,注释以“/ * !”而不是以“ / *”起头。MySQL查看这种特殊类型注释的内部并使用这些关键字,但其他数据库服务器将这些关键字作为注释的一部分忽略。这样有助于编写由MySQL执行时利用MySQL特有功能的代码,而且该代码也可以不用修改就用于其他数据库服务器。下面的两条语句对于非MySQL的数据库服务器是等价的,但如果是MySQL服务器,将在第二条语句中执行一个INSERT DELAYED 操作: 自MySQL3.23.3 以来,除了刚才介绍的注释风格外,还可以用两个短划线和一个空格(“-- ”)来开始注释;从这两个短划线到行的结束的所有内容都作为注释处理。有的数据库以双短划线作为注释的起始。MySQL也允许这样,但需要加一个空格以免产生混淆。例如,带有如像5--7 这样的表达式的语句有可能被认为包含一个注释,但不可能写5-- 7这样的表达式,因此,这是一个很有用的探索。然而,这仅仅是一个探索,最好不用这种风格的注释。 |