数据库:MySQL
IDE:eclipse
查询表建立方法如下:
CREATE TABLE `student` (
`id` int(10) NOT NULL auto_increment,
`name` char(10) default NULL,
`sex` char(10) default NULL,
`age`
int(10) default NULL,
`password` char(20) character set utf8 default
NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
想用like模糊查询表中名字带有“小”的记录,查询语句如下:
SELECT id, name, sex, age FROM student WHERE name LIKE '%小%' AND sex LIKE
'%%' AND age LIKE '%%';
其中like用法如下:
通配符
说明
示例
%
|
包含零个或多个字符的任意字符串。
|
WHERE name LIKE '%小%' 将查找在名字中任意位置包含汉字 "小" 的所有名字。
|
_(下划线)
|
任何单个字符。
|
WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean
等)。
|
[ ]
|
指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。
|
WHERE au_lname LIKE '[C-P]arsen' 将查找以 arsen 结尾并且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如
Carsen、Larsen、Karsen 等。
|
[^]
|
不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。
|
WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始并且其后的字母不为 l
的所有作者的姓氏。
|
在java中用PreparedStatement运用like查询:
private static final String SearchStudent =
"SELECT id, name, sex, age
FROM student WHERE name like ? and sex like ? and age like ?";
pstat = conn.prepareStatement(SearchStudent);
代码太占篇幅,只写部分。
pstat.setString(1,
"%"+s.getName()+"%");---------正确用法。
pstat.setString(1, " '%
"+s.getName()+" %'
");
------错误用法。注意,这里要忽略'%%'
旁边的''
这个单引号可能会让大家浪费点时间,这里在此稍微提下。
第一次写东西,谢谢指出错误。
分享到:
相关推荐
在java中向访问数据库的sql语句一般放到类PreparedStatement类构造函数中,这里遇到的问题就是向sql语句中用setDate()插入时间时不能用java.util.date,而应用java.sql.date,这里就讲述了解决方法,一种是插入...
包含于PreparedStatement对象中的SQL语句具有一个或多个IN参数。IN参数的值在SQL语句创建时未被指定。该语句为每一个IN参数保留一个问号(“?”)作为占位符。每个问号的值必须在语句执行之前,通过适当的Setxxx...
关于PreparedStatement插入Date类型值的方法.txt
数据库增删查改操作是指对数据库中数据的增添、删除、修改和查询操作。这些操作可以使用SQL语句来实现。在ContactDao类中,我们可以看到使用了PreparedStatement来执行SQL语句,实现了对数据库的增删查改操作。 ...
在 Statement 对象中,如果用户输入的数据包含恶意代码,例如 Drop 表名,可能会导致数据库安全问题。而PreparedStatement对象则可以避免这种情况,因为它将用户输入的数据作为参数传入,而不是将其直接嵌入到SQL...
这个问题其实也很简单,因为PreparedStatement接口必须通过Connection接口来获取实例,而ResultSet接口又必须从Statement或者PreparedStatement接口来获取实例,有了这样的级联关系,问题也就迎刃而解了。...
Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题 使用预编译对象PreparedStatement) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬...
在 Java 程序中,实现高效的数据库插入数据是非常重要的。以下是相关的知识点: 使用 JDBC 连接数据库 在 Java 程序中,使用 JDBC(Java Database Connectivity)连接数据库是非常常见的。JDBC 是一个 Java API,...
主要介绍了JSP中的PreparedStatement对象操作数据库的使用教程,文中举了一些使用PreparedStatement预处理语句对象进行MySQL增删查改的例子,需要的朋友可以参考下
Java 中 PreparedStatement 和 Statement 的区别 Java 中的 PreparedStatement 和 Statement 都是用于执行 SQL 语句的接口,但是它们之间存在一些关键的区别。 首先,从数据库执行 SQL 语句的角度来看,使用 ...
jdbc2.0版 PreparedStatement接口的用法
NULL 博文链接:https://huiminchen.iteye.com/blog/1097332
当显示声明的sql越少,那么潜在的sql语句的数据库依赖性就越小。 由于preparedstatement具备很多优点,开发者可能通常都使用它,只有在完全是因为性能原因或者是在一行sql语句中没有变量的时候才使用通常的...
练习3:使用PreparedStatement插入宠物信息.zip
一次只从数据库中查询最大maxCount条记录 * @param sql 传入的sql语句 * @param startNo 从哪一条记录开始 * @param maxCount 总共取多少条记录 */ public void getData(String sql,int startNo,int maxCount){ ...
Java JSP Servlet数据库连接代码,把数据库连接封装在Servlet中,可多次重复调用,另外更换数据库时候也很方便修改。//连接并查询数据库 String sqlStr="select * from users"; //SQL查询语句 Statement st=...
在上面的代码中,我们使用了Connection和PreparedStatement对象来连接数据库和执行SQL语句。Connection对象用于建立数据库连接,而PreparedStatement对象用于执行参数化的SQL语句。PreparedStatement对象可以防止SQL...
增删改查语句在数据库中运行成功 3).可以使用Statement语句或PreparedStatement语句 4).主函数,用于选择下一步要执行的操作 5).连接方法,连接数据库的4个属性 6).关闭连接 方法,断开数据库连接
15.2.2 从数据库中检索的数据作为XML文档 15.2.3 使用XSL样式表转换XML 15.2.4 在JSP页面中使用XSL转换 15.3 使用具有XSL样式表的可更新ResultSet 15.4 小结 第16章 使用JDBC驱动的JavaMail API 16.1 使用...