Mysql查询时,对于数值型字段加单引号会引起的误解~
假设有表 tb1
ID | name|
----+--------+
1 |2toon|
2 |1*xyz|
语句1:
select * from tb1 where ID='2toon' or name ='2toon';
mysql服务器在某模式下,可以执行这条句,就成功返回两条记录,原因在于 ID=‘2toon’ 加了单引号,mysql解释为 ID=2.
语句2
select * from tb1 where ID=2toon or name ='2toon';
此语句执行不了。
因此,想要得准确的查询结果,对int的字段一定要做判断与转类型。
转类型还可以防止SQL注入。
相关文档:
LINUX下 mysql客户端不能输入中文
今天遇到了这个问题,在LINUX下输入中文,没有问题,但在MYSQL客户端上无法输入中文,很奇怪?
找了很多资料终于解决了这个问题,其实这个和字符集无关。通常出现在自己编译的mysql版本上,如果是REDHAT的话,请使用系统自带MYSQL客户端。系统默认rpm安装的mysql则没有这个问题出现。
� ......
如果大家有异议,可以在后面补充。我会随时更新的。
现在大概列出如下:(望各位补充)
1.数据库的设计
尽量把数据库设计的更小的占磁盘空间.
1).尽可能使用更小的整数类型.(mediumint就比int更合适).
2).尽可能的定义字段为not null,除非这个字段需要null.(这个规则只适合字段为KEY的情形)
3).如果没有用到变长字段的 ......
几个常用用例:
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出一个数据库结构
mysqldump ......
netbeans6.7中向mysql5中插入中文数据时显示”data too long for column“的问题。
我的mysql中字符的设置时utf-8,并且在控制台中可以插入中文数据并显示,但在netbeans中插入数据时却总是显示”data too long for column“。基本可以判断是由于netbeans和mysql之间的数据交换出� ......