由于博主之前学过mysql,目前在学习SQL server,原来以为这两个数据库之间的sql语句应该不会有太大区别。但是学sql server(用的版本是2012) 学久之后,发现与mysql 还是有很多不同的地方,有些时候写起来很不适应,所以就打算写这篇博客来记录一下这两个数据库的sql语句的区别,以备方便将来查询。(每隔一段时间会更新)
1. 首先说一下sql语句结束标志
mysql以;
结束一条SQL语句;SQL server 以;
或go
或不写结束都可以。不过建议写sql server的时候以go
结束,因为sql server很多语句要以等一个语句结束后才能写下一个语句,不然会报批处理错误(深受其害)。
2. 查看表结构数量等
mysql 语句
<span style="color:#000000"><code>-- 查看系统内所有数据库
show databases;
-- 查询数据库内所有表
show tables;
-- 显示表结构
desc 表名;</code></span>
- 1
- 2
- 3
- 4
- 5
- 6
sql server语句
<span style="color:#000000"><code><span style="color:#880000">-- 查看系统内所有数据库</span>
<span style="color:#000088">SELECT</span> name, database_id, create_date <span style="color:#000088">FROM</span> sys.databases ;
<span style="color:#880000">-- 查询数据库内所有表</span>
<span style="color:#000088">select</span> * <span style="color:#000088">from</span> sysobjects <span style="color:#000088">where</span> xtype= <span style="color:#009900">'U'</span> ;
<span style="color:#880000">-- 显示表结构</span>
sp_help/sp_columns 表名;</code></span>
- 1
- 2
- 3
- 4
- 5
- 6
相比来说,mysql 的更为简洁。
3、查询前几条记录
查询前10条记录:
mysql 语句 select * from student limit 10;
sql server 语句 select top 10 * from student ;
4、获取当前时间
MySQL写法:now()
SQLServer写法:getdate()
5、从数据库定位到某张表
mysql写法:库名.表名
select password from Info.users where userName='boss'
Sqlserver写法:库名.dbo.表名 ;或者:库名..表名 (注:中间使用两个点)
select password from Info.dbo.users where userName='boss'
或者
select password from Info..users where userName='boss'