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

歡迎訪問 生活随笔!

生活随笔

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

数据库

经常使用的MySQL语句整理

發布時間:2025/6/17 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 经常使用的MySQL语句整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


本文參考http://www.blogjava.net/bolo

部分自己補充,長期更新

MySQL的SQL語句寫法,除了那些主要的之外,另一些也算比較經常使用的,這里記錄下來,以便以后查找。
好記性不如爛筆頭,這話說的太有道理了。一段時間不寫它,還真easy忘記本文僅僅是一篇筆記而已。

1.將數據從T1表導入到T2表

INSERT INTO T2 (C1,C2) SELECT C1,C2 FROM T1 [WHERE C1 = XX AND C2 = XX ORDER BY C1]

2.使用T2表的NAME來更新T1表的NAME

UPDATE T1 AS A, T2 AS B SET A.NAME = B.NAME WHERE A.TID = B.ID

3.兩表的關聯更新

UPDATE T_ROLE_USER AS A,(SELECTIDFROMT_USERWHEREDEPARTID IN (SELECTIDFROMT_DEPARTWHERELENGTH(ORG_CODE) = 9) ) AS B SET A.ROLEID = '123456' WHEREA.USERID = B.ID

4.自己和自己關聯更新

UPDATE T_DEPART AS A,(SELECTID,SUBSTRING(ORG_CODE, 1, 6) ORG_CODEFROMT_DEPARTWHERELENGTH(ORG_CODE) = 8AND PARENT_DEPART_ID IS NOT NULL ) AS B SET A.PARENT_DEPART_ID = B.ID WHERESUBSTRING(A.ORG_CODE, 1, 6) = B.ORG_CODE

5.兩表關聯刪除,將刪除兩表中有關聯ID而且T2表NAME為空的兩表記錄

DELETE A,B FROM T1 AS A LEFT JOIN T2 AS B ON A.TID = B.ID WHERE B.NAME IS NULL

6.將統計結果插入到表

INSERT INTO SE_STAT_ORG (RECORD_DATE,ORG_ID,ORG_NAME,SIGN_CONT_COUNT,SIGN_ARRI_CONT_COUNT,SIGN_CONT_MONEY,SIGN_ARRI_CONT_MONEY,TOTAL_ARRI_CONT_COUNT,TOTAL_ARRI_MONEY,PUBLISH_TOTAL_COUNT,PROJECT_COUNT ) SELECT* FROM(SELECT'2012-06-09' RECORD_DATE,PARENT_ORG_ID,PARENT_ORG_NAME,SUM(SIGN_CONT_COUNT) SIGN_CONT_COUNT,SUM(SIGN_ARRI_CONT_COUNT) SIGN_ARRI_CONT_COUNT,SUM(SIGN_CONT_MONEY) SIGN_CONT_MONEY,SUM(SIGN_ARRI_CONT_MONEY) SIGN_ARRI_CONT_MONEY,SUM(TOTAL_ARRI_CONT_COUNT) TOTAL_ARRI_CONT_COUNT,SUM(TOTAL_ARRI_MONEY) TOTAL_ARRI_MONEY,SUM(PUBLISH_TOTAL_COUNT) PUBLISH_TOTAL_COUNT,SUM(PROJECT_COUNT) PROJECT_COUNT,FROM SE_STAT_USERWHERE DATE_FORMAT(RECORD_DATE, '%Y-%m-%d') = '2012-06-09'GROUP BY PARENT_ORG_ID) M

7. 三表關聯更新

UPDATE SE_STAT_USER A,(SELECTUSER_ID,SUM(INVEST_ORG_COUNT + FINANCIAL_ORG_COUNT + INTERMEDIARY_ORG_COUNT + ENTERPRISE_COUNT) AS COMMON_COUNTFROM SE_STAT_USERWHERE DATE_FORMAT(RECORD_DATE, '%Y-%m-%d') = '2012-06-09'GROUP BY USER_ID ) B,(SELECTUSER_ID,SUM(ESTABLISH_COUNT + STOCK_COUNT + MERGER_COUNT + ACHIEVE_COUNT) AS PROJECT_COUNTFROM SE_STAT_USERWHERE DATE_FORMAT(RECORD_DATE, '%Y-%m-%d') = '2012-06-09'GROUP BY USER_ID ) C SET A.COMMON_COUNT = B.COMMON_COUNT, A.PROJECT_COUNT = C.PROJECT_COUNT WHERE A.USER_ID = B.USER_ID AND A.USER_ID = C.USER_ID AND DATE_FORMAT(A.RECORD_DATE, '%Y-%m-%d') = '2012-06-09'

8.帶條件的關聯更新

UPDATE SE_STAT_USER A,(SELECTP.CHANNEL,COUNT(P.CONT_ID) AS CONT_COUNT,C.CUST_MGR_IDFROM(SELECTCHANNEL,CONT_IDFROM SK_PROJECTWHERE PROJECT_STATUS = 6AND DATE_FORMAT(AUDIT_TIME, '%Y-%m-%d') = '2012-06-11') pINNER JOIN SE_CONTRACT C ON P.CONT_ID = C.CONT_IDGROUP BY P.CHANNEL, C.CUST_MGR_ID ) B SETA.STOCK_COUNT = CASE WHEN B.CHANNEL = 2 THEN B.CONT_COUNT ELSE 0 END,A.ESTABLISH_COUNT = CASE WHEN B.CHANNEL = 3 THEN B.CONT_COUNT ELSE 0 END,A.ACHIEVE_COUNT = CASE WHEN B.CHANNEL = 4 THEN B.CONT_COUNT ELSE 0 END, A.BRAND_COUNT = CASE WHEN B.CHANNEL = 5 THEN B.CONT_COUNT ELSE 0 END,A.MERGER_COUNT = CASE WHEN B.CHANNEL = 6 THEN B.CONT_COUNT ELSE 0 END WHEREA.USER_ID = B.CUST_MGR_ID AND DATE_FORMAT(A.RECORD_DATE, '%Y-%m-%d') = '2012-06-11'

9. 加索引

ALTER TABLE PROJECT ADD INDEX INDEX_USER_ID (USER_ID),ADD INDEX INDEX_PROJECT_STATUS (PROJECT_STATUS);

10.刪除列

ALTER TABLE PROJECT DROP COLUMN PROJECT_STATUS,DROP COLUMN EXPECT_RETURN,DROP COLUMN CURRENCY;

11.添加列

ALTER TABLE PROJECT ADD COLUMN DICT_ID INT DEFAULT NULL COMMENT 'xxx' AFTER PROJECT_SITE,ADD COLUMN INTRODUCE TEXT DEFAULT NULL COMMENT 'xx' AFTER DICT_ID,ADD COLUMN STAGE INT DEFAULT NULL COMMENT 'xx' AFTER ID,ADD COLUMN ATTACH_URI VARCHAR(8) DEFAULT NULL COMMENT 'xxx' AFTER INTRODUCE;

12.改動列
一般用MODIFY改動數據類型。CHANGE改動列名。

ALTER TABLE PROJECT CHANGE DICT_ID DICT_ID1 INT NOT NULL,MODIFY PROJECT_STATUS TINYINT NOT NULL COMMENT 'xxx'; 13.改動自增字段開始值

不同數據庫此屬性不一樣,MYSQL 與ORACLE,MS SQL SERVER不一樣,見詳細文檔

http://www.w3school.com.cn/sql/sql_autoincrement.asp

自增

ALTER TABLE persons AUTO_INCREMENT=1;

轉載于:https://www.cnblogs.com/yfceshi/p/7082365.html

總結

以上是生活随笔為你收集整理的经常使用的MySQL语句整理的全部內容,希望文章能夠幫你解決所遇到的問題。

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