关于MYSQL的2个小疑点

本文探讨了MySQL 5.5版本新建数据库时找不到对应文件的问题及Toad for MySQL 4.0连接MySQL 5.5时出现BADSHAKES错误的现象。提供了检查MySQL.INI配置文件中datadir参数、尝试使用其他工具如SQLYOG连接MySQL以及确认libmysql.dll正确放置位置等解决方案。

具体:http://www.verydemo.com/demo_c152_i22392.html

关于MYSQL的2个小问题
MYSQL 版本5.5

1 新建数据库存放的路径 里面没有数据库的文件夹
  新建TEST数据库 在data目录下面没有找到对应的文件
  MYSQL.INI 文件也没有修改过 
  也没有重新指定别的路径


2 TOAD FOR MYSQL4.0 连 MYSQL5.5的时候出现BAD SHAKES
  TOAD FOR MYSQL4.0连5.0在家里确定能够连 
  现在在公司用5.5蛋疼了 libmysql.dll放到win/sys32 目录下也没有用 放到TOAD的主目录下也不行
  都是这一个错误
  TOAD 放在虚拟机来连也是这个错误
  已排除网络连接的问题

先谢谢各位  
  



------解决方案--------------------------------------------------------
引用1 新建数据库存放的路径 里面没有数据库的文件夹
新建TEST数据库 在data目录下面没有找到对应的文件
MYSQL.INI 文件也没有修改过
也没有重新指定别的路径
------解决方案--------------------------------------------------------
1、MYSQL.INI中datadir内容,表是什么引擎
5.5安装时会询问INNODB数据文件的位置,搜索一下ibdata1
------解决方案--------------------------------------------------------
2、你换1个图形化管理工具,比如SQLYOG,我正在使用,可以连接5.5
------解决方案--------------------------------------------------------
1、
mysql创建的数据库找不到,请问你是单独安装的mysql还是用某一种工具集成的mysql?

------解决方案--------------------------------------------------------
1 新建数据库存放的路径 里面没有数据库的文件夹
新建TEST数据库 在data目录下面没有找到对应的文件
MYSQL.INI 文件也没有修改过
也没有重新指定别的路径
shwo variables like '%datadir%'

2 TOAD FOR MYSQL4.0 连 MYSQL5.5的时候出现BAD SHAKES
TOAD FOR MYSQL4.0连5.0在家里确定能够连
现在在公司用5.5蛋疼了 libmysql.dll放到win/sys32 目录下也没有用 放到TOAD的主目录下也不行
都是这一个错误
TOAD 放在虚拟机来连也是这个错误
已排除网络连接的问题
进mysql5.5看看select user,host from mysql.user;
<think> 首先,用户的问题是关于MySQL中SQL查询语句表示不等于的方法。用户问:“MySQL中SQL查询语句表示不等于的写法”。 根据系统级指令,我需要: - 使用中文回答。 - 在行内数学表达式中使用$...$格式,但这里可能不涉及数学表达式,除非有相关公式。 - 独立公式使用$$...$$,但如果不需要,就不必添加。 - LaTeX语法正确。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,例如[^1]。 - 回答结构清晰,帮助用户逐步解决问题,保证真实可靠。 我手头有三个引用: - 引用[1]:提到在SQL中,不等于可以用"<>"或"!="在MySQL中。 - 引用[2]:讨论了在Oracle中,不等于可以用<>、!=、~=、^=,但在MySQL中可能不同;特别指出"<>"是标准的SQL语法。 - 引用[3]:给出了一个MySQL查询示例,使用"!="表示不等于。 用户的问题明确针对MySQL,所以我应该聚焦在MySQL上。 关键点: - 在MySQL中,常见的表示不等于的运算符是"<>"和"!"。 - "!="是常用的,但"<>"是更标准的SQL运算符。 - 引用[2]提到在Oracle中多个符号,但在MySQL中,通常使用"<>"或"!"。 从引用: - 引用[1]说:在SQL中,不等于可以用"<>"或"!"。 - 引用[3]展示了在MySQL中使用"!="的查询。 所以,对于MySQL,标准的写法是使用"<>"或"!"。 我应该确认: - 在MySQL官方文档中,"<>"和"!="都被支持作为不等于运算符。 - 我回忆,在MySQL中,两者是等效的。 回答结构: 1. **直接回答问题**:说明MySQL中表示不等于的写法。 2. **解释**:简要解释两者的区别和选择建议。 3. **给出示例**:提供一个简单的SQL查询示例来展示用法。 4. **添加引用**:在相关部分末尾添加引用标识。 5. **生成相关问题**:在末尾添加相关问题。 生成相关问题: - 基于主题,我可以问关于性能、最佳实践、或常见错误的问题。 - 例如: 1. 在MySQL中使用"!="和"<>"有什么性能差异? 2. 在复杂的查询中,如何正确使用不等于运算符? 3. MySQL中还有其他方式表示不等于吗? 确保回答真实可靠: - 基于提供的引用和一般知识,回答应准确。 - 如果有疑点,可以建议参考官方文档。 最终回答框架: - 开头直接回答。 - 详细说明。 - 示例代码。 - 相关问题。 现在,构建回答。 </think> ### MySQL中SQL查询语句表示不等于的写法 在MySQL中,SQL查询语句中表示“不等于”有两种主要写法:`<>` 和 `!=`。这两种运算符都可以用于比较两个值是否不相等,适用于条件查询(如`WHERE`子句)。下面我将逐步解释它们的用法、区别和最佳实践。 #### 1. **不等于运算符的写法** - **`<>`运算符**:这是SQL标准语法,具有更好的可移植性和兼容性。在MySQL中,它被广泛支持,推荐在开发中使用以确保代码的可移植性[^2]。 - 示例:`SELECT * FROM table_name WHERE column_name <> 'value';` - **`!=`运算符**:这是MySQL中常见的非标准写法,也完全支持。但它在某些数据库系统(如Oracle)中可能不被普遍支持,因此移植性较差[^1][^2]。 - 示例:`SELECT * FROM table_name WHERE column_name != 'value';` 两者在功能上完全等效:它们都返回`column_name`不等于指定值的记录。在MySQL中,性能上没有显著差异,但`<>`是更安全的选择,因为它符合SQL标准。 #### 2. **使用注意事项** - **空值(NULL)处理**:不等于运算符(`<>`或`!=`)在比较`NULL`值时需要小心。`NULL`表示未知值,因此`column_name <> 'value'`或`column_name != 'value'`不会匹配`NULL`记录。如果需要检查`NULL`,应使用`IS NOT NULL`。 - 示例:`SELECT * FROM table_name WHERE column_name IS NOT NULL;` - **最佳实践**:建议优先使用`<>`,因为它符合SQL标准,能减少跨数据库迁移时的错误。这在企业级应用中尤为重要[^2]。 #### 3. **实际查询示例** 以下是一个完整的MySQL查询示例,使用`!=`运算符过滤不等于特定值的记录(基于引用[3]的案例): ```sql -- 查询licName不等于'计划生育服务证'的记录,并分组统计 SELECT f.licName, COUNT(f.licName) FROM centerindex_tbl f WHERE f.licName != '计划生育服务证' GROUP BY f.licName ORDER BY COUNT(f.licName) DESC; ``` 在这个查询中: - `WHERE f.licName != '计划生育服务证'` 确保只返回不等于该值的记录。 - 如果替换为`<>`,效果相同:`WHERE f.licName <> '计划生育服务证'`。 #### 4. **总结** - 在MySQL中,表示不等于的标准写法是`<>`,推荐用于大多数场景。 - `!=`也可使用,但仅限于MySQL或兼容环境。 - 始终测试查询以确保正确性,尤其是在处理`NULL`值时。更多细节可参考MySQL官方文档[^1][^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值