《SQL学习指南》*Learning SQL 2nd Edition* by Alan Beaulieu一书中的例子(sql文件源码)

本文探讨了如何将MySQL原版SQL文件适配到SQLServer,涉及limit1替代、临时表命名、枚举与check约束、 AUTO_INCREMENT与identity等转换,并分享了两个数据库间的下载资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MYSQL原版的git下载地址:

https://resources.oreilly.com/examples/9780596520847

 原版的sql文件导入到mysql中有没有报错,有没有需要修改的地方,暂时没有实验过。

由于本人使用的是SQL Server,所以专门针对性的对此修改过。

例如:

1、mysql中的limit 1对应SQL Server版本top 1(限制只显示查询出的第一条数据)。

select b.branch_id, e.emp_id 
  from branch b inner join employee e on e.assigned_branch_id = b.branch_id
  where b.city = 'Woburn' limit 1;
select top 1 b.branch_id, e.emp_id 
  from branch b inner join employee e on e.assigned_branch_id = b.branch_id
  where b.city = 'Woburn';

2、mysql中的temporary table临时表对应SQL Server中表名前加“#”前缀。

/*MYSQL创建临时表*/
create temporary table emp_tmp as
select emp_id, fname, lname from employee;
/*SQL Server创建临时表*/
select emp_id, fname, lname into #emp_tmp from employee;

3、mysql中的枚举数据类型enum对应在SQL Server中功能类似的check约束。

txn_type_cd enum('DBT','CDT'),
txn_type_cd varchar(3) check(txn_type_cd in('DBT','CDT')),

4、mysql中的AUTO_INCREMENT自增对应SQL Server中的identity。

5、对自增长主键列插入数据时,把该列(id)的值设为null,MySQL会做自处理,而SQL Server则会报错,对此,需要手动指定需要插入的列,但是不指定该列(id)(插入的数据量比较大时使用)。

SQL Server版下载地址:

链接:https://pan.baidu.com/s/11FNczhH46Khl6G24i9S4zw?pwd=1vze 
提取码:1vze

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值