拼接后的字符串可以简单理解为 insert into user values(null,'username','password','nick')
,拼接的作用在于将单引号中固定的内容转换为变量。
双引号是java里面表示字符串的语法,单引号是mysql里表示字符串的语法。当然mysql语法里双引号也能表示字符串,java代码里用单引号是为了防止双引号匹配错乱,说白了就是懒得在java代码里转义双引号。
程序中用+号拼接字符串的时候:
String str="C"+"S"+"D"+"N";//值是常量,用双引号引起来
String Str1="C";
String Str2="S";
String Str3="D";
String Str4="N";
String str=Str1+Str2+Str3+Str4;//值是变量,直接+变量名
String Str1="C";
String Str2="S";
String str=Str1+Str2+"D"+"N";//变量和常量拼接
SQL语句语法中,字段值是使用单引号引用的:
insert into user (null,'张三','密码','昵称')
综上,在程序中定义一段sql语句时:
String userName="张三";
String password="密码";
String nick="昵称";
String sqlStr="insert into user (null,' "+userName+" ',' "+password+" ',' "+nick+" ')";
不过需要指出的是,不建议采用以上的sql语句写法,如果数据表字段顺序变换插入的数据就会错误,如果有字段的增减,sql就会报错,正确写法应为:
insert into tableA(字段A,字段B,字段C)values('A值','B值','C值')