Mysql必读与MSSQL对比学习MYSQL的心得(一)--基本语法

Mysql必读与MSSQL对比学习MYSQL的心得(一)--基本语法,第1张

概述介绍《Mysql必读与MSSQL对比学习MYSQL的心得(一)-基本语法》开发教程,希望对您有用。

《MysqL必读与MSsql对比学习MysqL的心得(一)--基本语法》要点:
本文介绍了MysqL必读与MSsql对比学习MysqL的心得(一)--基本语法,希望对您有用。如果有疑问,可以联系我们。

MysqL入门这一期主要是学习MysqL的基本语法,陆续还会有续期的文章,敬请期待

MysqL入门语法的差异

MysqL入门我这里主要说语法的不同

MysqL入门1、默认约束

MysqL入门区别:MysqL里面DEFAulT关键字后面是不用加括号的

代码如下:
--sqlserver
CREATE table emp
(
ID INT DEFAulT(12)
)
--MysqL
CREATE table emp
(
ID INT DEFAulT 12
)

MysqL入门2、设置自增列

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

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

代码如下:
--设置自增列
--sqlserver
CREATE table emp
    (
      ID INT IDENTITY(1,1)
    )

MysqL入门--MysqL
-- 设置自增ID从N开始
CREATE table emp (
ID INT  PRIMARY KEY auto_INCREMENT
) auto_INCREMENT = 100 ; --(设置自增ID从100开始)

MysqL入门顺便说一下MysqL获取当前表的自增值的四种方法

MysqL入门1、 SELECT MAX(ID) FROM person

MysqL入门2、 SELECT LAST_INSERT_ID()  函数

MysqL入门LAST_INSERT_ID 是与表无关的,不建议使用

MysqL入门3、 SELECT @@IDentity 

MysqL入门@@IDentity 是表示的是最近一次向具有IDentity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量.

MysqL入门一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头.

MysqL入门使用@@IDentity的前提是在进行insert *** 作后,执行select @@IDentity的时候连接没有关闭,否则得到的将是NulL值.

MysqL入门4.  SHOW table STATUS liKE 'person'

MysqL入门建议使用这一种方法

MysqL入门得出的结果里边对应表名记录中有个auto_increment字段,里边有下一个自增ID的数值就是当前该表的最大自增ID.

MysqL入门3、查看表定义

MysqL入门sqlSERVER

MysqL入门EXEC sp_help 'emp'

MysqL入门

MysqL入门MysqL

MysqL入门DESC emp

MysqL入门

MysqL入门4、修改表名

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

代码如下:
--sqlserver
EXEC sys.[sp_rename] @objname = N'emp',-- nvarchar(1035)
    @newname = 'emp2' -- sysname
--MysqL
ALTER table emp REname emp2

MysqL入门5、修改字段的数据类型

MysqL入门将ID字段的int类型改为bigint

代码如下:
--sqlserver
ALTER table [dbo].[emp2] ALTER ColUMN [ID] BIGINT

MysqL入门--MysqL
ALTER table emp2 MODIFY ID BIGINT

MysqL入门6、修改字段名

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

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

MysqL入门改变数据类型,例如刚才那个例子,将ID列改为bigint数据类型

MysqL入门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入门--MysqL
ALTER table emp2 CHANGE ID iID BIGINT

MysqL入门7、添加字段

MysqL入门 添加字段的语法差不多,但是MysqL里可以使用FirsT和AFTER关键字指定添加的字段的位置

代码如下:
--sqlserver
ALTER table [dbo].[emp2] ADD name NVARCHAR(200) NulL

MysqL入门--MysqL
ALTER table emp2 ADD name NVARCHAR(200)  NulL

MysqL入门8、删除字段

MysqL入门MysqL删除字段不需要添加ColUMN关键字的

代码如下:
--sqlserver
ALTER table [dbo].[emp2] DROP ColUMN name

MysqL入门--MysqL
ALTER table emp2 DROP name

MysqL入门9、删除外键约束

MysqL入门MysqL跟sqlSERVER删除约束的方法也有很大的区别

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

MysqL入门ALTER table 表名 DROP CONSTRAINT 约束名
但是MysqL里面,如果是外键约束,需要使用 DROP FOREIGN KEY,如果是主键约束需要使用DROP PRIMARY KEY,有点麻烦

代码如下:
--sqlserver
ALTER table dbo.emp2 DROP CONSTRAINT fk_emp_dept

MysqL入门--MysqL
--删除外键约束
ALTER table emp2 DROP FOREIGN KEY fk_emp_dept
--删除主键约束
ALTER table emp2 DROP PRIMARY KEY pk_emp_dept

MysqL入门10、删除表

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

代码如下:
--sqlserver
DROP table [dbo].[emp2]

MysqL入门--MysqL
DROP table emp2

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

代码如下:
--sqlserver
IF (OBJECT_ID('dbo.emp2') IS NOT NulL )
DROP table [dbo].[emp2]

MysqL入门--MysqL
DROP table IF EXISTS emp1,emp2

MysqL入门sqlSERVER需要一张一张表判断,然后一张一张表drop

MysqL入门MysqL就不一样,语法非常简洁: DROP table IF EXISTS emp1,emp2

MysqL入门总结

MysqL入门这篇文章只是简单介绍了一下MysqL跟sqlSERVER的语法方面的差异

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

总结

以上是内存溢出为你收集整理的Mysql必读与MSSQL对比学习MYSQL的心得(一)--基本语法全部内容,希望文章能够帮你解决Mysql必读与MSSQL对比学习MYSQL的心得(一)--基本语法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1161476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存