zoukankan      html  css  js  c++  java
  • MySQL与MsSQL的区别

    厂商和操作系统

    MsSQL是微软的SQL Server只能用在Windows操作系统上,MySQL是MySQL AB公司开发支持多平台

    MySQL支持的数据量较小,适合于小中型网站

    MySQL比较轻量,重在Windows系统的安装就可以看出来,mysql的文件大小只有一百多M,MsSQL更消耗CPU和内存的资源

    数据类型

    mysql支持enum,和set类型,sql server不支持
    mysql不支持nchar,nvarchar,ntext类型

    它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。带来方便的同时会在存储英文的时候造成数量上的损耗

    如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar,在mysql中char,varchar被默认为了nchar,nvarchar

    mssql支持货币数据类型(money、smallmoney),mysql不支持

    money与smallmoney都是保留四位小数,只是存储的位数不一样

    mysql的递增语句是AUTO_INCREMENT,而mssql是identity(1,1)
    create table tb(id int identity(1,1) primary key )
    mysql支持无符号型的整数,那么比不支持无符号型的mssql就能多出一倍的最大数存储

    识别符

    MySQL的识别符是`

    MsSQL的识别符是[]

    SELECT `PASSWORD`
    FROM login

    时间

    MsSQL支持getdate()方法获取当前时间日期

    SELECT getdate()

    MySQL里面可以分日期类型和时间类型,获取当前日期是cur_date(),当前完整时间是 now()函数

    SELECT NOW(),CURDATE(),CURTIME()
    NOW()                CURDATE()   CURTIME()  
    -------------------  ----------  -----------
    2020-11-14 16:59:10  2020-11-14  16:59:10   

    存储引擎

    mysql在创建表时要为每个表指定一个存储引擎类型,而mssql只支持一种存储引擎

    MySQL支持的语句

    MySQL支持replace into语句

    首先尝试插入数据到表中,如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 否则,直接插入新数据。

    MySQL支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)语句
    INSERT INTO student (birthday,classno,phone,sex,sname,score) VALUES
    ('1998-11-11','202001','18739396145','男','翟--',501.0),
    ('1998-11-11','202001','18739490123','女','刘萌萌',503.0);
    mysql支持insert into table1 set t1 = ‘’, t2 = ‘’
    INSERT INTO student SET studentno = '20171514', sname = 'zhai'
    mysql支持limit语句

    mssql查询前三条数据:

    select top 3 *
    from student

    ROW_NUMBER()OVER()的使用:

    select *,
    ROW_NUMBER()OVER(order by point) AS NUM
    from student

     实现分页:

    select * from(
    select *,
    ROW_NUMBER()OVER(order by point) AS NUM
    from student) AS SOMETABLENAME
    WHERE NUM BETWEEN 1 AND 5

     mysql实现分页

    SELECT *
    FROM student
    LIMIT 2,5

    该语句是返回从第三行开始后的五条数据

    参考:https://blog.csdn.net/awen1983/article/details/5666877

  • 相关阅读:
    无法重用Linq2Entity Query
    The Joel Test
    MSBuilder directly instead of default VSComplie with keyborad shotcut 原创
    客户端缓存(Client Cache)
    关于代码重构和UT的一些想法,求砖头
    ExtJS2.0实用简明教程 应用ExtJS
    Perl information,doc,module document and FAQ.
    使用 ConTest 进行多线程单元测试 为什么并行测试很困难以及如何使用 ConTest 辅助测试
    史上最简单的Hibernate入门简介
    汽车常识全面介绍 传动系统
  • 原文地址:https://www.cnblogs.com/zhai1997/p/13974077.html
Copyright © 2011-2022 走看看