MySql中的模糊查询
在MySql中的模糊查询和在MSSQL中的差不多,本记录主要是说在JDBC中使用PreparedStatement来构造一个模糊查询的语句。
模糊查询SQL语句:SELECT * from tableA WHERE colA LIKE '%要匹配的内容%'
构造PreparedStatement:
String sql = "SELECT * from tableA WHERE colA LIKE [-这里填什么呢?-]";
PreparedStatement pstmt = ...;
那边填什么呢?经过尝试,得出:
String sql = "SELECT * from tableA WHERE colA LIKE ?";
String pattern = "要匹配的内容";
pstmt.setString(1, "%" + pattern + "%");
不要尝试在LIKE后面接:'%?%'或者直接?
都是不行的,试过了。。
相关文档:
(1)在设计数据库字段的时候,把需要获取手机号的字段设置为int(11),原意是要取11位数的,结果发现所有的手机号码,都变成了2147483647
,顿时觉得很奇怪,以为是程序有问题,最后发觉是数据库设计的问题。因为有符号整数的最大值为
2147483647,所以最后决定把数据库的结构变化下,把int(11)变为char(11)才搞定。
(2 ......
同事离职,又一个一个烂摊子要收拾。这里修修,那里补补都没有精力来写点东西。
明天回家,上午整理好文档。下午决定抽点时间,把最近的东西尽量理一理。很多灵感都已经遗忘。我们总在不断面对,所以我们不断遗忘。【syslog、mysql优化、触发器、存储 ......
CREATE TABLE `user` (
`db_id` varchar(255) NOT NULL,
`name` varchar(45) default NULL,
`age` int(10) unsigned NOT NULL,
`address` varchar(45) default NULL,
PRIMARY KEY (`db_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
// 设置name='888'的age等于name='111' ......