• 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)

  • 相关阅读:
    Arcgis地理处理工具案例教程——批量提取多个栅格的范围边界矢量
    win10 windows10自动修复系统
    ArcGIS案例教程—E00格式批量导入成要素类
    Python正则表达式多行匹配问题
    学习ArcGIS开发的途径有哪些
    Arcgis空间分析案例教程——计算空间分布范围
    ArcGIS地理建模批处理教程——批量添加文件名作为字段值
    ArcGIS地理建模批处理教程——批量去除Z值和M值
    华为NM存储卡与Micro SD存储卡对比分析
    EDT
  • 原文地址:https://www.cnblogs.com/yuming1983/p/9776012.html
Copyright © 2020-2023  润新知