MySQL8.0与SQL server 2016的技术区别(一)

本文探讨了MySQL8.0与SQL server 2016在创建表、查看表结构、注释、自增列、计算列等方面的差异,包括CREATE TABLE语法、DESC与sp_help的区别、单行注释符号、 AUTO_INCREMENT与Identity属性的使用,以及约束和缺省值的定义等。
摘要由CSDN通过智能技术生成

MySQL8.0与SQL server 2016都是关系型数据库,两者在原理与技术方面有极高的相似度。本文主要简述笔者在学习过程中发现的两者有区别的部分,如果读者知道还有其他区别的点,欢迎进行评论补充,大家一起交流学习,共同成长!

1.MySQL 可使用 【CREATE TABLE 新表表名 LIKE  来源表表名 】语句将一个表的结构复制到另一个新表中去。新表的列名、数据类型、计算列的定义表达式以及主键、默认值、CHECK 等约束条件与原表相同。MySQL 还可使用 【CREATE  TABLE 新表表名 SELECT * FROM 来源表表名】语句将表结构和数据从其他表中批量复制过来。

在SQL server中,虽然通常使用 CREATE TABLE 语句建表,但是 SELECT … INTO 语句提供了一种不需要显式定义列名和数据类型的另一种建表途径,同时可以将一个查询结果复制到另一张新表中去。但必须指出的是,这个结果集中的每一列都必须有一个明确的、合法的以及互不相同的列名(或别名)。如果查询列表中包含表达式,则必须为表达式指定别名。SELECT … INTO 子句在复制一个表中的行到新表的同时,也将表中的列及列的部分特征复制到了新表,但不能完全复制源表中的约束条件,或者说它不可能复制完整的表结构。例如,源表中列的 IDENTITY 属性和 NOT NULL 约束可以复制到新表,但其它约束条件(包括主键、外键、 CHECK )或计算列中定义的表达式都无法复制到新表中。

/* 在SQL server中,将 Employees 表中前 10 行的四个列复制到新表 myEmployees 中去。*/
DROP TABLE myEmployees
SELECT TOP 10 EmployeeID, LastName,FirstName,Titl
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值