MySQL与SQLserver

news2024/11/17 1:38:03

与MySQL的差别

SQL Server和MySQL都是广泛使用的关系数据库管理系统(RDBMS),它们的SQL语法有很多相似之处,但也存在一些差异。以下是一些主要的语法区别:

1. 数据库和表的创建

SQL Server
CREATE DATABASE database_name;
GO

USE database_name;
GO

CREATE TABLE table_name (
    ID INT PRIMARY KEY,
    Name VARCHAR(50),
    Age INT,
    create_time DATETIME DEFAULT GETDATE()
);
MySQL
CREATE DATABASE database_name;
USE database_name;

CREATE TABLE table_name (
    ID INT PRIMARY KEY,
    Name VARCHAR(50),
    Age INT,
    create_time DATETIME DEFAULT CURRENT_TIMESTAMP
);

2. 自增主键

SQL Server
CREATE TABLE table_name (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    Name VARCHAR(50),
    Age INT
);
  • 或者通过SSMS图形界面设置自增主键

  • 或是通过 navicat操作

MySQL
CREATE TABLE table_name (
    ID INT AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(50),
    Age INT
);

3. 字符串连接

SQL Server
SELECT FirstName + ' ' + LastName AS FullName
FROM Employees;
MySQL
SELECT CONCAT(FirstName, ' ', LastName) AS FullName
FROM Employees;

4. 限制查询结果

SQL Server
SELECT TOP 10 * FROM table_name;
MySQL
SELECT * FROM table_name LIMIT 10;

5. 当前时间

SQL Server
SELECT GETDATE();
MySQL
SELECT NOW();

6. IF条件判断

SQL Server
IF (condition)
BEGIN
    -- SQL 语句
END
ELSE
BEGIN
    -- SQL 语句
END
MySQL
IF condition THEN
    -- SQL 语句
ELSE
    -- SQL 语句
END IF;

7. 分页

SQL Server
SELECT *
FROM table_name
ORDER BY column_name
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;
MySQL
SELECT *
FROM table_name
ORDER BY column_name
LIMIT 10 OFFSET 10;

8. 删除和修改表结构

SQL Server
ALTER TABLE table_name
ADD column_name datatype;

ALTER TABLE table_name
DROP COLUMN column_name;
MySQL
ALTER TABLE table_name
ADD column_name datatype;

ALTER TABLE table_name
DROP COLUMN column_name;

9. 存储过程和函数

SQL Server
CREATE PROCEDURE procedure_name
AS
BEGIN
    -- SQL 语句
END;

EXEC procedure_name;
MySQL
CREATE PROCEDURE procedure_name()
BEGIN
    -- SQL 语句
END;

CALL procedure_name();

10. 事务

SQL Server
BEGIN TRANSACTION;
-- SQL 语句
COMMIT;
-- 或者
ROLLBACK;
MySQL
START TRANSACTION;
-- SQL 语句
COMMIT;
-- 或者
ROLLBACK;

SQLserver的[]

在SQL Server中,方括号 []用于引用标识符(如表名、列名),特别是在这些标识符包含空格或是SQL关键字的时候。它可以避免潜在的命名冲突和错误,但不一定要使用方括号。

如果你的 sql语句标识符没有空格,也不是SQL关键字,你可以省略方括号。

  • 如,带[]版
CREATE TABLE [oa_peixun_cost_detail] (
    [peixun_id] VARCHAR(255) NOT NULL,
    [user_name] VARCHAR(255) NOT NULL,
    PRIMARY KEY ([peixun_id], [user_name])
);

CREATE TABLE [oa_peixun_cost] (
    [peixun_id] VARCHAR(255) NOT NULL,
    [create_user_name] VARCHAR(255) NOT NULL,
    PRIMARY KEY ([peixun_id], [create_user_name])
);

CREATE TABLE [oa_peixun] (
    [peixun_id] VARCHAR(255) NOT NULL,
    [create_user_name] VARCHAR(255) DEFAULT NULL,
    PRIMARY KEY ([peixun_id])
);
  • 不带[]版
CREATE TABLE oa_peixun_cost_detail (
    peixun_id VARCHAR(255) NOT NULL,
    user_name VARCHAR(255) NOT NULL,
    PRIMARY KEY (peixun_id, user_name)
);

CREATE TABLE oa_peixun_cost (
    peixun_id VARCHAR(255) NOT NULL,
    create_user_name VARCHAR(255) NOT NULL,
    PRIMARY KEY (peixun_id, create_user_name)
);

CREATE TABLE oa_peixun (
    peixun_id VARCHAR(255) NOT NULL,
    create_user_name VARCHAR(255) DEFAULT NULL,
    PRIMARY KEY (peixun_id)
);

d VARCHAR(255) NOT NULL,
create_user_name VARCHAR(255) NOT NULL,
PRIMARY KEY (peixun_id, create_user_name)
);

CREATE TABLE oa_peixun (
peixun_id VARCHAR(255) NOT NULL,
create_user_name VARCHAR(255) DEFAULT NULL,
PRIMARY KEY (peixun_id)
);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2049666.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ma Spaghet!

目录 一、题目 二、思路 三、payload 3.1 方案一 3.2 方案二(官方) 四、思考与总结 一、题目 <!-- Challenge --> <h2 id"spaghet"></h2> <script>spaghet.innerHTML (new URL(location).searchParams.get(somebody) || "Somebody…

产品经理-​你做产品经理有什么优势?(39)

你做产品经理有什么优势&#xff1f; 这是一个关于自我认知、个人优势的问题 人贵有自知之明&#xff0c;求职者应该对自己的优缺点有一个客观、深入的认识 大公司往往更加看重你的基本素质&#xff08;逻辑分析、学习能力、潜力等&#xff09; 因为大公司有相对成熟的培养体系…

OpenDDS的Rtps_Udp传输协议可靠性QoS收发基本流程

OpenDDS中,实现了Rtps_Udp传输协议(非纯udp)的可靠性传输。传输的线程包括: 1)发送方线程主要线程和定时器 《1》应用线程 《2》网络异步发送线程 《3》Heartbeat定时器 《4》Nak_response定时器 2)接收方主要线程和定时器 《1》网络异步接收线程 《2》heartbeat_respons…

Java | Leetcode Java题解之第344题反转字符串

题目&#xff1a; 题解&#xff1a; class Solution {public void reverseString(char[] s) {int n s.length;for (int left 0, right n - 1; left < right; left, --right) {char tmp s[left];s[left] s[right];s[right] tmp;}} }

【C++】智能指针详解

一、从new和delete谈起 在C中&#xff0c;可以使用new和delete关键字进行对象的创建和销毁&#xff0c;new一个对象实际上是在堆上分配内存&#xff0c;而new出来的对象也要自己用delete释放&#xff0c;从而回收内存&#xff0c;否则会造成内存的泄露。由程序员自己new来分配…

[手机Linux PostmarketOS]五, docker安装和使用

docker容器 一&#xff0c;docker安装和配置 安装 docker 和 docker-compose&#xff1a; sudo apk add docker docker-cli-compose #安装docker sudo service docker start #启动docker服务 sudo rc-update add docker default #设置docker为自启动可选关…

【PostgreSQL003】PostgreSQL数据表空间膨胀,磁盘爆满,应用宕机(经验总结,已更新)

1.一直以来想写下基于PostgreSQL的系列文章&#xff0c;作为较火的数据ETL工具&#xff0c;也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下PostgreSQL数据库相关知识体系。空间膨胀&#xff08;主键、外键、…

汇编语言:call、call far ptr、call word ptr、call dword ptr、call 寄存器

引言 call指令是转移指令&#xff0c;CPU执行call指令&#xff0c;进行两步操作&#xff1a; &#xff08;1&#xff09;将当前IP或当前CS和IP压入栈中 &#xff08;2&#xff09;转移。call指令不能短转移&#xff0c;除此之外&#xff0c;call指令转移的方法跟jmp指令的原理…

柔性超级电容器咋储能?生物聚合物在其中起啥作用?有啥挑战?

*本文只作阅读笔记分享* 一、引言 随着对化石燃料影响的日益关注&#xff0c;开发用于先进电化学能量存储设备的绿色和可再生材料变得至关重要。超级电容器因其出色的寿命、安全性和宽温度操作范围等优势而成为有前途的储能候选者。柔性超级电容器特别适合为轻质可穿戴电子设…

xss GAME (xss漏洞攻击1-8)

目录 xss网页链接 第一关 第二关 第三关 ​编辑第四关 ​编辑第五关 ​编辑第六关 第七关 第一种 Function构建函数 第二种 tostring parseInt 第三种 silce() ​编辑第八关&#xff08;安全过滤框架 dom破坏&#xff09; xss网页链接 XSS Game - Learning XSS Ma…

linux之网络子系统-GSO/TSO 源码分析

一、GSO/TSO GSO 目前在内核5.10.* 版本时&#xff0c;已经是合入主线&#xff0c;就是对TCP/UDP都支持并且在网络协议栈GSO功能是默认打开的。虽然可以通过ethtool -K 网卡名 gso off 关闭&#xff0c;但是在L3/L4还是走GSO逻辑&#xff0c;关不掉。我目前是没有找到内核源码…

NextJs - 服务端/客户端组件之架构多样性设计

NextJs - 服务端/客户端组件之架构多样性设计 前言一. 架构设计1.1 SSR流式渲染常见错误设计之 - 根页面同步阻塞1.2 架构设计之 - 客户端组件依赖于服务端组件数据① 使用 Redux 完成数据共享 1.3 架构设计之 - 单页内的分步骤跳转① 如何做到服务端组件和客户端组件之间的切换…

libevent之android与鸿蒙编译过程

背景 最近基于libevent开发了一个端侧的缓存代理库&#xff0c;先是基于macOS编译开发的&#xff0c;基本0问题&#xff0c;后来移植到鸿蒙与android时遇到一些编译链接问题。 libevent版本如下&#xff1a; 软件版本号libevent-2.1.8 android编译 编译环境 android studio…

EmguCV学习笔记

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 笔者的博客网址&#xff1a;https://blog.csdn.net/uruseibest 本教程将分为VB.Net和C#两个版本分别进行发布。 教程VB.net版本请…

Go Roadmap-Basics中文笔记

Go Roadmap-Basics 地址&#xff1a;https://roadmap.sh/golang 简介&#xff1a;Github star No.6 学习路线 Go 中译版 Learn the Basics Go特点&#xff1a;静态类型&#xff0c;运行速度快&#xff0c;编译语言&#xff0c;编译速度快&#xff0c;自动垃圾回收&#xff…

【2】初识JVM

目录 一.什么是JVM 二.JVM的功能 2.1即时编译 三.常见的JVM​编辑 ​编辑 总结​编辑 一.什么是JVM 二.JVM的功能 2.1即时编译 三.常见的JVM 总结

Spring MVC Controller返回json日期格式配置失效的解决办法

如题&#xff0c;Spring MVC 4.3.0版本&#xff0c;配置jackson读写json。Controller层方法返回值对象包含java.util.Date类型的属性&#xff0c;并且在applicationContext.xml中配置了jackson的日期格式&#xff1a; <mvc:annotation-driven><mvc:message-converters…

【ARM+Codesys 客户案例 】RK3568/A40i/STM32+CODESYS在工厂自动化中的应用:PCB板焊接机

现代化生产中&#xff0c;电子元件通常会使用自动化设备来进行生产&#xff0c;例如像PCB&#xff08;印刷电路板&#xff09;的组装。但是生产过程中也会面临一些问题&#xff0c;类似于如何解决在PCB板上牢固、精准地安装各种组件呢&#xff1f;IBL Lttechnik GmbH公司的CM80…

什么是OpenTiny?

OpenTiny 是一套企业级的 Web 前端开发解决方案&#xff0c;提供跨端、跨框架的 UI 组件库和低代码引擎&#xff0c;帮助开发者高效构建 Web 应用 。企业运用开发中&#xff0c;可以利用 OpenTiny 的以下核心组件和优势&#xff1a; TinyVue 组件库&#xff1a;一个丰富的组件库…

AWS boto3 脚本访问 AWS 资源

AWS boto3 脚本访问 AWS 资源 引言boto3主要功能常见用例安装和基本使用 boto3.Client() 低级客户端基本用法关键参数 boto3.resource() 高级客户端常见参数用法 boto3.resource VS boto3.client相似点不同点总结 关于身份验证凭证隐式身份凭证显式身份验证凭证assuem role如何…