MySQL使用总结


最近在做一个数据迁移的项目,把mysql数据库中的数据迁移到SqlServer数据库中。在这里记录一下最近遇到的一些问题。

一、MySQL中没有top 

在MySQL中没有top查询,但是可以使用limit限制查询来实现相同的效果,语法为“SELECT * FROM tableName LIMIT [offset,] rows | rows OFFSET offset”。
例如:查询前10条记录:
select * from tablename order by orderfield desc limit 0,10
也可以使用 limit 来实现分页,LIMIT [位置偏移量,] 行数 。“位置偏移量”指MySQL从哪一行开始,是一个可选参数,如果不指定“位置偏移量”,将会从表中的第一条记录开始。
例如:第11至20条记录:
SELECT * FROM tableName LIMIT 10,10;

二、MySQL update语句报错

执行update语句,出现问题:You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.
原因是在安全模式下只能通过 where 主键来修改。
解决方法有两种:
1.关闭安全模式,可以在工具中关闭,也可使用命令来修改。修改命令:SET SQL_SAFE_UPDATES = 0;
2.就在 update 后面跟带上where条件。例如修改全部数据:update tableName set username=’aaa’ where id>0

三、字段是关键字

如果表中的某个字段使用了关键字,在查询的时候又要使用该字段进行筛选,要把是关键字的字段用反引号包上。反引号的位置在 Tab 键上面那个键。

四、MySQL和SQL Server 语法不同的地方

1.在MySQL中对部分对象的引用是大小写敏感的,如:数据库名、表名。但对字段、索引、函数、存储过程等的引用不敏感。
2.在MySQL中支持三种注释方法:
a.使用#作为开头,后面的全是注释。
b.使用 – 作为注释开头,但要注意,MySQL中这种注释方法和SQLServer 注释语法稍有不同,MySQL要求第二个短线后面必须跟一个空白字符,如空格、制表符等。
c.使用/**/注释符。

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/281336.html

(0)
上一篇 2022年8月21日
下一篇 2022年8月21日

相关推荐

发表回复

登录后才能评论