博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SqlServer与MySql语法比较
阅读量:5302 次
发布时间:2019-06-14

本文共 1349 字,大约阅读时间需要 4 分钟。

1、复制表(包括表结构、表数据)

SqlServer:

  Select * into user_copy from user

MySql:

  CREATE TABLE user_copy LIKE user;

  INSERT INTO user_copy SELECT * FROM user;

 

2、多表连接做update

SqlServer:

  UPDATE s1 SET s1.salary= s2.salary

  FROM (SELECT * FROM s WHERE age>10) AS s1 JOIN s2 ON s1.uname= s2.uname
  WHERE s1.uname = 'xx'

MySql:(无法直接对目标表的查询数据直接做更新,只能针对目标表操作)

  UPDATE s1 JOIN s2 ON s1.uname= s2.uname

  SET s1.salary= s2.salary
  WHERE s1.uname = 'xx'

 

3、修改表字段结构

SqlServer:  

  ALTER TABLE user ALTER COLUMN uid INT NOT NULL

  GO
  ALTER TABLE user ALTER COLUMN name nvarchar(100) NOT NULL
  GO

MySql:(无法直接对目标表的查询数据直接做更新,只能针对目标表操作)

  ALTER TABLE user MODIFY uid INT NOT NULL COMMENT 'xx';

  ALTER TABLE user MODIFY name varchar(100) NOT NULL COMMENT 'xxy';

 

4、添加、修改主键

SqlServer:

  ALTER TABLE user ADD CONSTRAINT PK_uid_name PRIMARY KEY(uid, name)

MySql:(无法直接对目标表的查询数据直接做更新,只能针对目标表操作)

  ALTER TABLE user DROP PRIMARY KEY;

  ALTER TABLE user ADD PRIMARY KEY (uid, name);

 

5、查询数据拼接Sql语句

SqlServer:

  SELECT 'insert into dbo.TableName([ID],[Name]) values ('+ CAST([ID] AS VARCHAR) + ',''' + CAST([Name] AS VARCHAR)  + ''')'

  FROM dbo.TableName WHERE ID > 433

 

6、查询字段首位为汉字

SqlServer:

SELECT * FROM 表名 WHERE ascii(字段)>127

7、查询字段包含汉字(任意位)

SqlServer:

SELECT * FROM 表名 WHERE 字段 LIKE '%[吖-座]%'--[吖-座]是中文字符集第一个到最后一个的范围

转载于:https://www.cnblogs.com/fightingtong/p/9114941.html

你可能感兴趣的文章
谈谈国外网络干扰那些事
查看>>
C. Journey(dfs)
查看>>
java 数据流DataOutputStream和DataInputstream
查看>>
解决下载Android Build-tools 19.1.0失败
查看>>
Microsoft Robotics Developer Studio beta4的大bug
查看>>
jmeter多sql查询
查看>>
Linux下Tomcat重启脚本
查看>>
ReentrantLock
查看>>
js拖拽案例、自定义滚动条
查看>>
Office办公 如何打印顺丰发票
查看>>
PS 基础知识 什么是Adobe Bridge
查看>>
联接查询
查看>>
PHP获取IP地址
查看>>
小程序授权登录
查看>>
TCP Socket Programming in Node.js
查看>>
【CSS3】背景
查看>>
js 判断进入可视区域
查看>>
URL中的#
查看>>
deepin配置Oracle JDK
查看>>
在XP IIS5.1手工安装PHP 5.2.11
查看>>