不用空格的话,拼接出来的sql语句会报错,like是模糊查询的关键字,至于写的问号是因为用了sql预编译,防止sql注入。where 1=1 是动态拼接sql语句用的,避免sql语句出错,进行条件查询的时候必须要使用where关键字,假如没有1=1,用户没输入任何值的时候,此时的sql语句是 sql是select * from command where;这样的话,sql语句就有问题;只有加上1=1才是一条完整的sql语句,因为1=1是永远成立的,所以select * from command where 1=1 就相当于 select * from command