1. 、默认约束
  2.  
  3. 区别:mysql里面DEFAULT关键字后面是不用加括号的
  4.  
  5. 复制代码 代码如下:
  6. --sqlserver
  7. CREATE TABLE emp
  8. (
  9. id INT DEFAULT()
  10. )
  11. --mysql
  12. CREATE TABLE emp
  13. (
  14. id INT DEFAULT
  15. )
  16.  
  17. 、设置自增列
  18.  
  19. 区别很大,不过好像mysql的自增列不能设置步长的
  20.  
  21. MYSQL的自增列一定也要是主键列,不是主键列会报错,设置种子值要在表的后面设置
  22.  
  23. 复制代码 代码如下:
  24. --设置自增列
  25. --sqlserver
  26. CREATE TABLE emp
  27. (
  28. id INT IDENTITY(, )
  29. )
  30.  
  31. --mysql
  32. -- 设置自增IDN开始
  33. CREATE TABLE emp (
  34. ID INT PRIMARY KEY AUTO_INCREMENT
  35. ) AUTO_INCREMENT = ; --(设置自增ID100开始)
  36.  
  37. 顺便说一下MYSQL获取当前表的自增值的四种方法
  38.  
  39. SELECT MAX(id) FROM person
  40.  
  41. SELECT LAST_INSERT_ID() 函数
  42.  
  43. LAST_INSERT_ID 是与表无关的,不建议使用
  44.  
  45. SELECT @@identity
  46.  
  47. @@identity 是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。
  48.  
  49. 一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。
  50.  
  51. 使用@@identity的前提是在进行insert操作后,执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。
  52.  
  53. . SHOW TABLE STATUS LIKE 'person'
  54.  
  55. 建议使用这一种方法
  56.  
  57. 得出的结果里边对应表名记录中有个Auto_increment字段,里边有下一个自增ID的数值就是当前该表的最大自增ID.
  58.  
  59. 、查看表定义
  60.  
  61. SQLSERVER
  62.  
  63. EXEC sp_help 'emp'
  64.  
  65. MYSQL
  66.  
  67. DESC emp
  68.  
  69. 、修改表名
  70.  
  71. 修改表名也有差异,将表emp改为emp2
  72.  
  73. 复制代码 代码如下:
  74. --sqlserver
  75. EXEC sys.[sp_rename] @objname = N'emp', -- nvarchar()
  76. @newname = 'emp2' -- sysname
  77. --mysql
  78. ALTER TABLE emp RENAME emp2
  79.  
  80. 、修改字段的数据类型
  81.  
  82. id字段的int类型改为bigint
  83.  
  84. 复制代码 代码如下:
  85. --sqlserver
  86. ALTER TABLE [dbo].[emp2] ALTER COLUMN [ID] BIGINT
  87.  
  88. --mysql
  89. ALTER TABLE emp2 MODIFY id BIGINT
  90.  
  91. 、修改字段名
  92.  
  93. MYSQL里修改字段名的时候需要加上字段的数据类型否则会报错,而CHANGE也可以只修改数据类型,实现和MODIFY同样的效果
  94.  
  95. 方法是将SQL语句中的“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”
  96.  
  97. 改变数据类型,例如刚才那个例子,将id列改为bigint数据类型
  98.  
  99. ALTER TABLE emp2 CHANGE id id BIGINT
  100.  
  101. 修改字段名
  102.  
  103. 复制代码 代码如下:
  104. --sqlserver
  105. EXEC sys.[sp_rename] @objname = N'emp2.id', -- nvarchar()
  106. @newname = 'iid', -- sysname
  107. @objtype = 'column' -- varchar()
  108.  
  109. --mysql
  110. ALTER TABLE emp2 CHANGE id iid BIGINT
  111.  
  112. 、添加字段
  113.  
  114. 添加字段的语法差不多,但是MYSQL里可以使用FIRSTAFTER关键字指定添加的字段的位置
  115.  
  116. 复制代码 代码如下:
  117. --sqlserver
  118. ALTER TABLE [dbo].[emp2] ADD NAME NVARCHAR() NULL
  119.  
  120. --mysql
  121. ALTER TABLE emp2 ADD NAME NVARCHAR() NULL
  122.  
  123. 、删除字段
  124.  
  125. MYSQL删除字段不需要添加COLUMN关键字的
  126.  
  127. 复制代码 代码如下:
  128. --sqlserver
  129. ALTER TABLE [dbo].[emp2] DROP COLUMN NAME
  130.  
  131. --mysql
  132. ALTER TABLE emp2 DROP NAME
  133.  
  134. 、删除外键约束
  135.  
  136. MYSQLSQLSERVER删除约束的方法也有很大的区别
  137.  
  138. SQLSERVER里面,无论是唯一约束,check约束还是外键约束都可以使用下面的SQL语句来删除掉
  139.  
  140. ALTER TABLE 表名 DROP CONSTRAINT 约束名
  141. 但是MYSQL里面,如果是外键约束,需要使用 DROP FOREIGN KEY,如果是主键约束需要使用DROP PRIMARY KEY,有点麻烦
  142.  
  143. 复制代码 代码如下:
  144. --sqlserver
  145. ALTER TABLE dbo.emp2 DROP CONSTRAINT fk_emp_dept
  146.  
  147. --mysql
  148. --删除外键约束
  149. ALTER TABLE emp2 DROP FOREIGN KEY fk_emp_dept
  150. --删除主键约束
  151. ALTER TABLE emp2 DROP PRIMARY KEY pk_emp_dept
  152.  
  153. 、删除表
  154.  
  155. 删除表的语法两个都是一样的
  156.  
  157. 复制代码 代码如下:
  158. --sqlserver
  159. DROP TABLE [dbo].[emp2]
  160.  
  161. --mysql
  162. DROP TABLE emp2
  163.  
  164. 但是如果要同时删除多个表或者删除之前要先判断一下,MYSQL就方便多了
  165.  
  166. 复制代码 代码如下:
  167. --sqlserver
  168. IF (OBJECT_ID('dbo.emp2') IS NOT NULL )
  169. DROP TABLE [dbo].[emp2]
  170.  
  171. --mysql
  172. DROP TABLE IF EXISTS emp1 ,emp2
  173.  
  174. SQLSERVER需要一张一张表判断,然后一张一张表drop
  175.  
  176. MYSQL就不一样,语法非常简洁: DROP TABLE IF EXISTS emp1 ,emp2
  177.  
  178. 总结
  179.  
  180. 这篇文章只是简单介绍了一下MYSQLSQLSERVER的语法方面的差异

MYSQL的基本语法的更多相关文章

  1. MySQL创建索引语法

    1.介绍: 所有mysql索引列类型都可以被索引,对来相关类使用索引可以提高select查询性能,根据mysql索引数,可以是最大索引与最小索引,每种存储引擎对每个表的至少支持16的索引.总索引长度为 ...

  2. MYSQL整理的语法

    MYSQL整理的语法 http://www.cnblogs.com/suoning/p/5744849.html

  3. MySQL的一些语法总结

    初学MySQL,今天遇到了一个问题,然后汇总了一下MySQL的一些语法 1. date和datetime类型是不同的 date只记录日期(包括年月日),datetime记录日期和时间(包括年月日时分秒 ...

  4. sql点滴41—mysql常见sql语法

    原文:sql点滴41-mysql常见sql语法 ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename ...

  5. MySQL中show语法使用总结

    MySQL中 show 语法的使用: 先查看MySQL版本信息: mysql> select version(); +------------+ | version() | +--------- ...

  6. (转)MySQL中show语法

    MySQL中show语法 1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称. 2. show databases; -- ...

  7. mysql基础知识语法汇总整理(二)

    mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...

  8. mysql基础知识语法汇总整理(一)

    mysql基础知识语法汇总整理(二)   连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...

  9. mysql MAX()函数 语法

    mysql MAX()函数 语法 作用:返回一列中的最大值.NULL 值不包括在计算中.直线电机模组--BZD80N 语法:SELECT MAX(column_name) FROM table_nam ...

  10. mysql LAST()函数 语法

    mysql LAST()函数 语法 作用:返回指定的字段中最后一个记录的值. 语法:SELECT LAST(column_name) FROM table_name 注释:可使用 ORDER BY 语 ...

随机推荐

  1. 工具类_SharedPreferencesUtils

    import android.app.Application;import android.content.Context;import android.content.SharedPreferenc ...

  2. UBoot添加命令的方法

    1. 具体实现步骤 ① 在./common文件夹下新建cmd_led.c,并在此文件中添加如下内容 #include <common.h> #include <command.h&g ...

  3. ZPL通用打印类

    using System;using System.Collections.Generic;using System.IO;using System.Runtime.InteropServices;u ...

  4. 4 练习: 使用eclipse开发

    1       练习: 使用eclipse开发 1.1  练习目标 本例讲述在使用eclipse如何创建groovy程序. 1.2  创建new Groovy project 本例假设你已经安装好了g ...

  5. JavaWeb xss攻击

    出处: http://www.cnblogs.com/TankXiao/archive/2012/03/21/2337194.html XSS 全称(Cross Site Scripting) 跨站脚 ...

  6. swagger2使用日志

    ------------------------------------------------------------------------------------ 安装.配置.使用 参考:htt ...

  7. requirej入门nodeTpl使用(三)

    基本语法 HTML部分 在模板中的 HTML 部分,使用定界符“<?”和“?>”作为语法的开始和结束. 在定界符内,可以书写任意JavaScript语句,如: <?for(var i ...

  8. Linpack之HPL测试

    平台信息 Description: CentOS Linux release 7.6.1810 (Core) 注意事项 安装HPL之前需要配置好: GCC/Fortran77 编译器 BLAS/CBL ...

  9. C++计算二叉树的节点数和高度

    用struct结构体的写法: /* * description: 计算二叉树的层数和节点数 * writeby: nick * date: 2012-10-23 16:16 * */ #include ...

  10. 监听outlook新邮件

    using System; using System.Linq; using Microsoft.Office.Interop.Outlook; using System.Collections.Ge ...