当数据库字段ID为整型时
select ID from table where ID=1
和
select ID from table where ID='1'
两条sql都是可以的,但是第一条sql不用进行隐式转换,速度上比第二条sql略快一些。
String sqlString="select * from tb_wf_main where trim(WF_NAME) = ' " + wfName.trim() + " ' ";
java中的字符串只能双引号(js可以单引号也可以双引号),以上,如果字符串中需要拼接变量,该变量用单引号括起来,然后加两个双引号再加两个加号,中间就是变量
只需要这样记住就行:单引号 括双引号 两个加号 中间变量 ( 0Q0 OMG)
js 也是可以这样拼接变量的。 单引号 加 双引号 再在双引号中间加 + 变量 + ,也就是: ' " + f + " '
cateChildfilterBrand('1', ' ',' ','1',this)
var appendpinpai = "
1、插入
字符串数据是用单引号包在外面的,而+号只是用来连接这些字符串的. 数据库里的字段是整型的时候不要加单引号,是字符串的时候要加,其它类型根据实际情况来,双引号就是用来拼接字符串的,单引号是sql文的固有写法,因为你要动态的来拼接,涉及到变量,所以要用“+”来组合各个字符串片段。最终结果无非就是得出能在数据库查询分析器中执行的sql文。
String sql = "insert into student values ( " + student.getId() + " ,' "
+ student.getUsername() + " ', " + student.getAge() + " ,' "
+ student.getClassnumber()+" ')";
因为id和age是int型的所以不用加单引号,
你的Username在数据库中定义的是一个varchar型的,而对字符型进行条件查询的时候是要加 ' '号的:
select count(*) from student where username= 'aaa '
因此在后台写查询字符串的时候就必须这样写:
string sql = "select count(*) from student where username= ' "+userName+ " ' "
这样映射成的查询语句就是:
select count(*) from student where student= 'aaa ' 了.
*用SQL语句往数据库某字段(字符型)中插入字符串,但是当该字符串中带有单引号(’)时就会出错!因为插入的字符串被从单引号处截断,造成SQL语句的语法错误
*处理方法:将包含单引号的字符中的(‘)换成(”),就OK了。SQL是用两个单引号来代替一个单引号的
str = str.replace(” ’ “, ” ” “);
实现目标语句是这个
注意,这里的java变量是idd
int idd;
String sql = "SELECT id, piUrl FROM picinfos WHERE id BETWEEN '" + idd + "' AND 10" ;
java中的字符串只能双引号,如果字符串中需要拼接变量,该变量用单引号括起来,然后加两个双引号再加两个加号,中间就是变量。
//查询picinfos表中id为2到10的id和piUrl值
String sql = "SELECT id, piUrl FROM picinfos WHERE id BETWEEN 2 AND 10" ;
2.此时要将2改为id(int类型变量),只需要在中间修改
,先是删掉2,用单引' '代替
String sql = "SELECT id, piUrl FROM picinfos WHERE id BETWEEN ' ' AND 10" ;
3.接着在单引号中间加上双引" "
String sql = "SELECT id, piUrl FROM picinfos WHERE id BETWEEN ' " " ' AND 10" ;
4.接着在双引号中间加上加号+ +
String sql = "SELECT id, piUrl FROM picinfos WHERE id BETWEEN ' " + + " ' AND 10" ;
5.最后就是加号中间加上变量idd完事
String sql = "SELECT id, piUrl FROM picinfos WHERE id BETWEEN ' " + idd + " ' AND 10" ;
口诀:先SQL原型,替换为单引,中间加双引,中间加双加号,中间加变量。
先设置一个数据库,其中有张表,名为table,其中包含user和password。
假设一个login方法,其中需要用户名user和密码pwd,函数为:
public void login(String usr,String pwd){
...
}
函数中需要用到sql查询语句,通过传入user和pwd,此时在mysql中语句为:
select * from table where user ="mike" and password = "123456";
在java函数中需要将"mike"替换为"usr",将"123456"替换为"pwd"。
而sql语句在java中是以字符串的形式存在的,所以按照java的语法存在以下方式:
(1)
String sql = "select * from tb where uname = \""+user+"\" and upassword = \""+password+"\";";
这个方法中使用转义符号,将双引号转义为一个单纯的字符,这么理解:斜线\和紧跟着的第一个引号,代表正常sql查询语句中的引号。而第二个引号是与select前面的引号对应的。
(2)
String sql = "SELECT * FROM tb WHERE uname ='"+user+"' AND upassword = '"+password+"';";
这种方式是使用单引号和双引号避免冲突,这样理解:单引号等同于上面例子的斜线和引号组合\" ,然后双引号就是和select前面的双引号对应的。
int uid=1;
String sql="select * from users where uid="+uid
上面这个是整型变量
String ss=“test”;
String sql="select * from users where uid="+“‘ss’”就是了,先双引号,后单引号,双引号承接你前面sql语句里的双引号,而单引号表示你的变量,记住只有是变量才有单引号,我给你举个例,如果在mysql中使用函数now(),就应该这样写:
sql="select * from users where date=”+“now()”;没有单引号,
上面是三种在sql语句中加入其它符号的方式
例:如果,string sql="insert into A values (xx,xxx)"像这样的,其中xx,xxx需要用其它函数或是什么动态得到,应该怎样写???
"insert into A values ('"+var1+"','"+var2+"')"
里面是双引号, 外面是单引号.