大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 8個(gè)實(shí)用SQL腳本

8個(gè)實(shí)用SQL腳本

更新時(shí)間:2021-01-27 17:31:28 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3708次

生成數(shù)據(jù)庫(kù)項(xiàng)目時(shí),預(yù)先部署腳本、數(shù)據(jù)庫(kù)對(duì)象定義和后期部署腳本合并為一個(gè)生成腳本,只能指定一個(gè)預(yù)先部署腳本和一個(gè)后期部署腳本,但可在預(yù)先部署腳本和后期部署腳本中包含其他腳本。在MySQL數(shù)據(jù)庫(kù)中,使用SQL腳本可以提高數(shù)據(jù)訪問(wèn)的效率,并進(jìn)行相關(guān)的數(shù)據(jù)處理。本文為大家介紹8個(gè)實(shí)用SQL腳本,幫助我們便捷MySQL數(shù)據(jù)庫(kù)的使用。

1.行轉(zhuǎn)列的用法PIVOT

CREATE table test(id int,name nvarchar(20),quarter int,number int)insert into test values(1,N'蘋(píng)果',1,1000)insert into test values(1,N'蘋(píng)果',2,2000)insert into test values(1,N'蘋(píng)果',3,4000)insert into test values(1,N'蘋(píng)果',4,5000)insert into test values(2,N'梨子',1,3000)insert into test values(2,N'梨子',2,3500)insert into test values(2,N'梨子',3,4200)insert into test values(2,N'梨子',4,5500)select * from test

結(jié)果:

select ID,NAME,[1] as '一季度',[2] as '二季度',[3] as '三季度',[4] as '四季度'fromtestpivot(sum(number)for quarter in([1],[2],[3],[4]))as pvt

結(jié)果:

2.列轉(zhuǎn)行的用法UNPIOVT

create table test2(id int,name varchar(20), Q1 int, Q2 int, Q3 int, Q4 int)insert into test2 values(1,'蘋(píng)果',1000,2000,4000,5000)insert into test2 values(2,'梨子',3000,3500,4200,5500)select * from test2

結(jié)果:

--列轉(zhuǎn)行select id,name,quarter,numberfromtest2unpivot(numberfor quarter in([Q1],[Q2],[Q3],[Q4]))as unpvt

結(jié)果:

3.連接遠(yuǎn)程服務(wù)器

方法1:

select * ?from openrowset(
'SQLOLEDB',
'server=192.168.0.1;uid=sa;pwd=password',
'SELECT * FROM dbo.test')

--方法2:

select * ?from openrowset(
'SQLOLEDB',
'192.168.0.1';
'sa';
'password',
'SELECT * FROM dbo.test')當(dāng)然也可以參考以前的示例,建立DBLINK進(jìn)行遠(yuǎn)程連接

4.把多行SQL數(shù)據(jù)變成一條多列數(shù)據(jù),即新增列

SELECT
?id,
?name,
?SUM(CASE WHEN quarter=1 THEN number ELSE 0 END) '一季度',
?SUM(CASE WHEN quarter=2 THEN number ELSE 0 END) '二季度',
?SUM(CASE WHEN quarter=3 THEN number ELSE 0 END) '三季度',
?SUM(CASE WHEN quarter=4 THEN number ELSE 0 END) '四季度'FROM testGROUP BY id,name

結(jié)果:

我們將原來(lái)的4列增加到了6列。細(xì)心的朋友可能發(fā)現(xiàn)了這個(gè)結(jié)果和上面的行轉(zhuǎn)列怎么一模一樣?其實(shí)上面的行轉(zhuǎn)列是省略寫(xiě)法,這種是比較通用的寫(xiě)法。

5、表復(fù)制

語(yǔ)法1:Insert INTO table(field1,field2,...) values(value1,value2,...)

語(yǔ)法2:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

(要求目標(biāo)表Table2必須存在,由于目標(biāo)表Table2已經(jīng)存在,所以我們除了插入源表Table1的字段外,還可以插入常量。)

語(yǔ)法3:SELECT vale1, value2 into Table2 from Table1

(要求目標(biāo)表Table2不存在,因?yàn)樵诓迦霑r(shí)會(huì)自動(dòng)創(chuàng)建表Table2,并將Table1中指定字段數(shù)據(jù)復(fù)制到Table2中。)

語(yǔ)法4:使用導(dǎo)入導(dǎo)出功能進(jìn)行全表復(fù)制。如果是使用【編寫(xiě)查詢(xún)以指定要傳輸?shù)臄?shù)據(jù)】,那么在大數(shù)據(jù)表的復(fù)制就會(huì)有問(wèn)題?因?yàn)閺?fù)制到一定程度就不再動(dòng)了,內(nèi)存爆了?它也沒(méi)有寫(xiě)入到表中。而使用上面3種語(yǔ)法直接執(zhí)行是會(huì)馬上刷新到數(shù)據(jù)庫(kù)表中的,你刷新一下mdf文件就知道了。

6.利用帶關(guān)聯(lián)子查詢(xún)Update語(yǔ)句更新數(shù)據(jù)

--方法1:Update Table1set c = (select c from Table2 where a = Table1.a)where c is null

--方法2:update  Aset  newqiantity=B.qiantityfrom  A,Bwhere  A.bnum=B.bnum

--方法3:update(select A.bnum ,A.newqiantity,B.qiantity from Aleft join B on A.bnum=B.bnum) AS Cset C.newqiantity = C.qiantitywhere C.bnum ='001'

7.字符串替換SUBSTRING/REPLACE

SELECT REPLACE('abcdefg',SUBSTRING('abcdefg',2,4),'**')

結(jié)果:

SELECT REPLACE('13512345678',SUBSTRING('13512345678',4,11),'********')

結(jié)果:

SELECT REPLACE('12345678@qq.com','1234567','******')

結(jié)果:

8.查詢(xún)一個(gè)表內(nèi)相同紀(jì)錄 HAVING

如果一個(gè)ID可以區(qū)分的話,可以這么寫(xiě)

SELECT * FROM HR.Employees

結(jié)果:

select * from HR.Employeeswhere title in (select title from HR.Employeesgroup by titlehaving count(1)>1)

結(jié)果:

對(duì)比一下發(fā)現(xiàn),ID為1,2的被過(guò)濾掉了,因?yàn)樗麄冎挥幸粭l記錄

如果幾個(gè)ID才能區(qū)分的話,可以這么寫(xiě)

select * from HR.Employeeswhere title+titleofcourtesy in(select title+titleofcourtesyfrom HR.Employeesgroup by title,titleofcourtesyhaving count(1)>1)

結(jié)果:

title在和titleofcourtesy進(jìn)行拼接后符合條件的就只有ID為6,7,8,9的了

以上就是為大家推薦的8個(gè)實(shí)用SQL腳本,在MySQL數(shù)據(jù)庫(kù)的使用過(guò)程中會(huì)經(jīng)常用到,最好能夠記住。實(shí)在記不住也沒(méi)有關(guān)系,在需要的時(shí)候可以隨時(shí)來(lái)本站的MySQL教程查詢(xún)即可。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产欧美精品一区二区色综合 | www色网站 | 亚洲国产综合自在线另类 | 免费av一区二区三区 | 精品国产欧美一区二区 | 日本特级aⅴ一级毛片 | 在线亚洲播放 | jizzjizz中国护士第一次 | 四虎影视1515hh四虎免费 | 99精品欧美一区二区三区美图 | 欧美一级黄色毛片 | 奇米第四色在线视频 | 精品欧美高清一区二区免费 | 日本亚洲国产精品久久 | 69成人网| 久青草国产免费观看 | 国内偷自视频区视频综合 | 欧美精品在线观看 | 免费国产一区二区在免费观看 | 国产成人一区二区三区视频免费 | 九九久久精品国产 | 国产在线观看一区二区三区四区 | 美女精品久久久久久国产潘金莲 | 国产精品每日更新在线观看 | 一级a毛片 | 伊人久久91| 久久精品这里热有精品 | 久久99久久99精品免观看麻豆 | 国产91嫩草精品 | 亚洲精品久久99久久 | 欧美人牲囗毛片 | 成人亚洲国产综合精品91 | 亚洲欧美高清在线 | 黄色一级免费网站 | 欧美日日日 | japanese国产高清麻豆 | 中文字幕在线观看 | 夜夜女人国产香蕉久久精品 | 天天干视频网站 | 国产成人亚洲日本精品 | 日本高清不卡码 |