日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

我的MYSQL学习心得(一)

發布時間:2023/12/18 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我的MYSQL学习心得(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我的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学习心得(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。