阅读量:11
mysql的表名和字段名为何加上反引号
在使用mysql数据库时,用第三方连接工具连接,经常需要导出表结构和数据等,但是在导出的语句中,表和表中的字段都用 table 反引号包裹。
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) NOT NULL COMMENT '用户名称',
`birthday` date DEFAULT NULL COMMENT '生日',
`sex` char(1) DEFAULT NULL COMMENT '性别',
`address` varchar(256) DEFAULT NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
mysql的反引号:
该语法是为了区分MYSQL的保留字与普通字符而引入的符号。
举例:SELECT select FROM test WHERE select=‘字段值’
在test表中,有个select字段,如果不用反引号,MYSQL将把select视为保留字而导致出错,所以,有MYSQL保留字作为字段的,必须加上反引号来区分。
简而言之就是如果你的表名或者字段有和mysql关键字或保留字相同的就必须使用反引号加以区分。