• MySQL和SqlServer的区别


    一、查看表结构数量等
    mysql语句:

    -- 查看系统内所有数据库
    show databases;
    -- 查询数据库内所有表
    show tables;
    -- 显示表结构
    desc 表名;

    sql server语句:

    -- 查看系统内所有数据库
    SELECT name, database_id, create_date  FROM sys.databases  ;
    -- 查询数据库内所有表
    select * from sysobjects where xtype= 'U'  ;
    -- 显示表结构
    sp_help  orders
    sp_columns orders

    二、查询前几条记录
    查询前10条记录: 
    mysql语句:

    select * from student limit 10;

    sql server语句:

    select top 10 * from student;

    三、获取当前时间
    mysql语句:now()
    sql server语句:getdate()

    四、使用表全限定名
    mysql语句:
    select password from Info.users where userName='boss'

    sql server语句:
    select password from Info.dbo.users where userName='boss'
    或者
    select password from Info..users where userName='boss'

    五、自增字段设置
    mysql语句:

    id int primary key auto_increment

    sql server语句:

    id int primary key identity(1,1)

    六、日期时间格式转换方式
    INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,cast('1980-12-17'as datetime ),800,NULL,20); //sql servers和mysql都可用,而且mysql还可以直接用'1980-12-17';

    INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,convert(datetime,'1981-2-20',110),1600,300,30); //sql server可用,但mysql不可用

    INSERT INTO emp VALUES (7935,'MILLER','CLERK',7782,convert(nvarchar,getdate(),120),1300,NULL,10);//sql server可用,但mysql不可用

    七、修改字段的数据类型
    mysql语句:

    alter table test2 modify id bigint;

    sql server语句:

    alter table emp alter column[id] bigint

    八、约束类型
    mysql常用的几种约束:
    非空约束(not null)
    唯一性约束(unique)
    主键约束(primary key) PK
    外键约束(foreign key) FK
    默认值(default)
    检查约束(目前MySQL不支持、Oracle支持)
        
    sql server常用的几种约束:
    非空约束
    主键约束(PK) Primary key
    唯一约束(UQ) Unique
    默认约束(DF) Default
    外键约束(FK) Foreign key
    检查约束(CK) Check

    九、对枚举字段的处理
    mysql语句:

    create table t1(
        id int primary key auto_increment,               
        name varchar(16) not null,                       
        sex enum('male','female') not null default 'male'
    );

    sql server语句:

    CREATE TABLE Users(
        id INT PRIMARY KEY IDENTITY(1,1) NOT NULL,
        name NVARCHAR(50) NOT NULL,
        sex NVARCHAR(2) CHECK(sex='男' OR sex='女')
    )

    或者:

    ALTER TABLE dbo.Users
    ADD CONSTRAINT CK_UserSex CHECK(Gender='男' OR Gender='女')

    十、 MySQL不支持默认值为当前时间的datetime类型(MS SQL很容易做到),在MySQL里面 是用timestamp类型 

    十一、MySQL创建非聚集索引只需要在创建表的时候指定为key就行,比如:KEY displayorder  (fid,displayorder) 在MS SQL里面必须要:create unique nonclustered index  index_uc_protectedmembers_username_appid on dbo.uc_protectedmembers  (username asc,appid asc)

  • 相关阅读:
    H.264编码之DCT变换原理
    颜色空间转换
    jdbc 大数据存储 图片读取
    spring 事务配置
    Cglib代理
    jdk代理
    spring装配bean
    map 常用方法
    list map set常用方法之list
    calendar 类 用法
  • 原文地址:https://www.cnblogs.com/yuming1983/p/9776012.html
Copyright © 2020-2023  润新知