sqlserver与mysql的差别

对关键字,保留字的写法不同

sqlserver mysql
select * from tbName where [key]=‘test’; select * from tbName where ‘before’=‘test’;
关键字一般用[ ]括起来即可 关键字一般用 ``括起来,即~这个键的下面那个字符

当前时间的写法,取n条记录

sqlserver mysql
select top 10 * from tbName where CreateTime<getdate(); select * from tbName where CreateTime<Now() limit 10;

从数据库定位到表

sqlsever mysql
select password from Info.dbo.users where userName='boss’或者select password from Info…users where userName=‘boss’ select password from Info.users where userName=‘boss’
库名.dbo.表名 ;或者:库名…表名 (注:中间使用两个点) 库名.表名

判断是否存在某个数据库,若存在,则删除

sqlserver mysql
IF DB_ID(‘users’) IS NOT NULLDROP DATABASE users Drop DATABASE if exists users

拓展:若sqlserver数据库正在使用中,删除之前,先要把数据库变成“单一用户”,再删除
ALTER DATABASE users SET SINGLE_USER with ROLLBACK IMMEDIATE IF DB_ID(‘users’) IS NOT NULL DROP DATABASE users

判断某数据库中是否存在某张表,若存在,则删除

sqlserver mysql
if exists(select * from sysobjects where name =‘Users_test’)drop table Users_test DROP TABLE IF EXISTS Users_test

符号的使用

mysql对参数可以使用单引号,也可以使用双引号,对字段名和表明可以使用反引号。
sqlserver只能使用单引号,且不能使用反引号。
Mysql写法:
Select password from Users where userName=‘boss’ or username=”jmj”;
Sqlserver写法:
Select password from Users where userName=‘boss’ or username=’jmj’;

查询指定库中的所有表

mysql 语句
– 查看系统内所有数据库
show databases;

select * from information_schema.SCHEMATA;
– 查询数据库内所有表
show tables;

select * from information_schema.TABLES where TABLE_SCHEMA=‘dbname’
– 显示表结构
desc 表名;

sql server语句
– 查看系统内所有数据库
SELECT name, database_id, create_date FROM sys.databases ;
– 查询数据库内所有表
select * from sysobjects where xtype= ‘U’ ;
– 显示表结构
sp_help/sp_columns 表名;

扫描二维码关注公众号,回复: 10433653 查看本文章

字符串的处理

截取字符串

sqlserver mysql
只能使用SUBSTRING关键词来截取字符串 可以使用SUBSTRING和SUBSTR截取字符串取得字符串的长度
只能使用Len关键词取得字符串的长度 可以使用Length取得字符串的长度

注释符区别

sqlserver mysql
注释符为–和/**/ 注释符为/**/和#

语法及兼容方面的不同点

sqlserver mysql
支持enum,和set类型 不支持
不支持nchar,nvarchar,ntext类型
发布了24 篇原创文章 · 获赞 12 · 访问量 1055

猜你喜欢

转载自blog.csdn.net/eleven_77_/article/details/104845009
今日推荐