单引号,反引号,双引号
- 数据库环境:mysql,oracle,plsql
单引号
SQL使用单引号来环绕文本值。
- 如果是数值,就不要用引号。
- Varchar类型(或String,字符串类型)这一些在数据库语句中使用的时候就用单引号.
反引号
它是为了区分MYSQL的保留字与普通字符而引入的符号。
保留字:
就是select database insert 这一类数据库的sql指令,当我们不得已要拿他们来做表名和字段名的时候, 我们必须要加反引号来避免编译器把这部分认为是保留字而产生错误。
双引号
- 双引号的用法和单引号有所类似,大部分数据库都支持单引号和双引号的互换,即varchar类型的变量既可以用单引号来囊括,也可以用双引号。当然,一边双引号,一边单引号是不被允许的。
- 另外,在oracle里面,双引号还有一个意义,那就是保留大小写 在oracle数据库里面,所有的字段是默认转换成大写后进数据库的,所以你有一个表名为user ,这个时候selelct * from user,这个语句是查不出任何数据的 只有select *from "user"在可以,因为上面的语句会默认转换成大写。
总结
- 字符串用单引号;
- 表名,字段名等,区分保留字和普通字符,用反引号;
- 大部分数据库支持单引号和双引号互换,大小写冲突用双引号。
案例一
> String sql = "select * from user where username='"+user+"' and password='"+pwd+"'";
方法一:
直接在变量两边 ’ “+ XXXX +” ’
案例二:
String sql = "insert into user(username,password,email) values('" + username
+ "','" + password + "','" + email + "')" ;
方法二:
- 先不管需要更新的是否是字符串,先将SQL语句写出来。
String sql=“insert into user(username,password,email)values(”+username+“,”+password+“,”+email+“)”;
- 然后我们找出其中的字符串,添加上单引号,
String sql=“insert into user(username,password,email)values('”+username+“‘,’”+password+“‘,’”+email+“')”;