我的MYSQL学习心得(一)
原文:我的MYSQL学习心得(一)

我的MYSQL学习心得(一)

我的MYSQL学习心得(二)

我的MYSQL学习心得(三)

我的MYSQL学习心得(四)

我的MYSQL学习心得(五)

我的MYSQL学习心得(六)

使用MYSQL有一段时间了,由于公司使用SQLSERVER和MYSQL,而且服务器数量和数据库数量都比较多

管理起来比较吃力,在学习MYSQL期间我一直跟SQLSERVER进行对比

第一期主要是学习MYSQL的基本语法,陆续还有第二、第三、第四期,大家敬请期待o(∩_∩)o


语法的差异

我这里主要说语法的不同

1、默认约束

区别:mysql里面DEFAULT关键字后面是不用加括号的

--sqlserver
CREATE TABLE emp
(
id INT DEFAULT(12)
)--mysql
CREATE TABLE emp
(
id INT DEFAULT 12
)

2、设置自增列

区别很大,不过好像mysql的自增列不能设置步长的

MYSQL的自增列一定也要是主键列,不是主键列会报错,设置种子值要在表的后面设置

--设置自增列
--sqlserver
CREATE TABLE emp(id INT IDENTITY(1, 1))--mysql
-- 设置自增ID从N开始
CREATE TABLE emp (
ID INT  PRIMARY KEY AUTO_INCREMENT
) AUTO_INCREMENT = 100 ; --(设置自增ID从100开始)

3、查看表定义

SQLSERVER

EXEC sp_help 'emp'

MYSQL

DESC emp

4、修改表名

修改表名也有差异,将表emp改为emp2

--sqlserver
EXEC sys.[sp_rename] @objname = N'emp', -- nvarchar(1035)@newname = 'emp2' -- sysname--mysql
ALTER TABLE emp RENAME emp2

5、修改字段的数据类型

将id字段的int类型改为bigint

--sqlserver
ALTER TABLE [dbo].[emp2] ALTER COLUMN [ID] BIGINT--mysql
ALTER TABLE emp2 MODIFY id BIGINT

6、修改字段名

MYSQL里修改字段名的时候需要加上字段的数据类型否则会报错,而CHANGE也可以只修改数据类型,实现和MODIFY同样的效果

方法是将SQL语句中的“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”

改变数据类型,例如刚才那个例子,将id列改为bigint数据类型

ALTER TABLE emp2 CHANGE id id BIGINT

修改字段名

--sqlserver
EXEC sys.[sp_rename] @objname = N'emp2.id', -- nvarchar(1035)@newname = 'iid', -- sysname@objtype = 'column' -- varchar(13)--mysql
ALTER TABLE emp2 CHANGE id iid BIGINT

7、添加字段

添加字段的语法差不多,但是MYSQL里可以使用FIRSTAFTER关键字指定添加的字段的位置

--sqlserver
ALTER TABLE [dbo].[emp2] ADD NAME NVARCHAR(200) NULL --mysql
ALTER TABLE emp2 ADD NAME NVARCHAR(200)  NULL

8、删除字段

MYSQL删除字段不需要添加COLUMN关键字的

--sqlserver
ALTER TABLE [dbo].[emp2] DROP COLUMN NAME --mysql
ALTER TABLE emp2 DROP NAME

9、删除外键约束

MYSQL跟SQLSERVER删除约束的方法也有很大的区别

在SQLSERVER里面,无论是唯一约束,check约束还是外键约束都可以使用下面的SQL语句来删除掉

ALTER TABLE 表名 DROP CONSTRAINT 约束名

但是MYSQL里面,如果是外键约束,需要使用 DROP FOREIGN KEY,如果是主键约束需要使用DROP PRIMARY KEY,有点麻烦

--sqlserver
ALTER TABLE dbo.emp2 DROP CONSTRAINT fk_emp_dept--mysql
--删除外键约束
ALTER TABLE emp2 DROP FOREIGN KEY fk_emp_dept
--删除主键约束
ALTER TABLE emp2 DROP PRIMARY KEY pk_emp_dept

10、删除表

删除表的语法两个都是一样的

--sqlserver
DROP TABLE [dbo].[emp2]--mysql
DROP TABLE emp2

但是如果要同时删除多个表或者删除之前要先判断一下,MYSQL就方便多了

--sqlserver
IF (OBJECT_ID('dbo.emp2') IS NOT NULL )
DROP TABLE [dbo].[emp2]--mysql
DROP TABLE IF EXISTS emp1 ,emp2

SQLSERVER需要一张一张表判断,然后一张一张表drop

MYSQL就不一样,语法非常简洁: DROP TABLE IF EXISTS emp1 ,emp2


总结

这篇文章只是简单介绍了一下MYSQL跟SQLSERVER的语法方面的差异

以后会写更多关于MYSQL跟SQLERVER差异的文章,和我这段时间使用MYSQL期间的一些心得,大家敬请期待o(∩_∩)o

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

posted on 2014-05-05 13:19 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/3709004.html

我的MYSQL学习心得(一)相关推荐

  1. 我的MYSQL学习心得(十六) 优化

    原文:我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看 ...

  2. 我的MYSQL学习心得(4) : 数据类型

    我的MYSQL学习心得(1) :简单语法 我的MYSQL学习心得(2) :数据类型宽度 我的MYSQL学习心得(3) : 查看字段长度 MYSQL里的BLOB数据类型 BLOB是一个二进制大对象,用来 ...

  3. 我的MYSQL学习心得(二)

    我的MYSQL学习心得(二) 原文:我的MYSQL学习心得(二) 我的MYSQL学习心得(二) 我的MYSQL学习心得(一) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL ...

  4. 查看我的mysql_我的MYSQL学习心得(七) 查询

    在这个<我的MYSQL学习心得>系列里面,我一直都把MYSQL跟SQLSERVER进行比较,相互进行比较是学习一样东西比较好的方法 比较出大家的异同点,从而加深记忆 这一篇<我的MY ...

  5. 我的MYSQL学习心得(十一) 视图

    我的MYSQL学习心得(十一) 视图 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  6. 我的MYSQL学习心得(十三) 权限管理

    这一篇<我的MYSQL学习心得(十三)>将会讲解MYSQL的用户管理 在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有: 1.user表 2.db表 ...

  7. mysql查询心得_我的MYSQL学习心得(七) 查询

    在这个<我的MYSQL学习心得>系列里面,我一直都把MYSQL跟SQLSERVER进行比较,相互进行比较是学习一样东西比较好的方法 比较出大家的异同点,从而加深记忆 这一篇<我的MY ...

  8. MYSQL学习心得 总结

    http://www.cnblogs.com/lyhabc/p/3691555.html 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三 ...

  9. mysql心得笔记_【原创】学习{我的mysql学习心得}的笔记

    标签: 万丈高楼平地起. 从最基础的做起,从最简单的做起. ---------------------------------------------------------------------- ...

最新文章

  1. 如何使用TensorRT对训练好的PyTorch模型进行加速?
  2. 移动互联网长连接方案实例
  3. boost::fibers模块实现适应非阻塞的测试程序
  4. Linux 添加DNS配置
  5. Ms sqlserver闪退----“转载的知识”
  6. python set集合_Python字典(dict)和集合(set)
  7. java 数组转字符串 字符串转数组,java高级面试笔试题
  8. RSYNC安装使用详解
  9. 依赖倒置原则_设计模式原则之依赖倒置原则
  10. arcgis合并tif影像_ARCGIS多种影像裁剪
  11. 剑指Offer_16_合并两个排序的链表
  12. 光学成像基础-荧光滤色片
  13. LeetCode - Pascal's Trangle
  14. C# 定时器轮询 设计思路
  15. 这11家世界顶级AI初创公司,每个单拎出来都是行业第一
  16. 生成对抗网络(GAN)的18个绝妙应用
  17. 原创:史上最全最通俗易懂的,索引最左前缀匹配原则(认真脸)
  18. 调用第三方接口,实现电子签章的功能
  19. HDWiki数据库结构说明
  20. OpenCV每日函数 计算摄影模块(1) 图像修复算法 inpaint函数

热门文章

  1. python做动画视频教程_Python零基础入门动画教程
  2. 数组|leetcode35.搜索插入位置
  3. flex java red5_使用 Flex 和Java servlets 将文件上传到 RED5 服务器的步骤
  4. 实现暂停一秒输出的效果_从暂停游戏联想到的
  5. mysql创建回滚点_mysql创建与回滚
  6. python连不上树莓派_Python实现树莓派WiFi断线自动重连
  7. linux颜色吸取工具,8 个优秀的 Linux 图形图像及色彩工具
  8. 单片机的程序有多大?
  9. android滚动条布局横向,Android自定义ViewGroup实现可滚动的横向布局(2)
  10. FPGA学习之路—Vivado与Modelsim联合仿真