-
begin; --啟動(dòng)事務(wù) insert into 表名 values (); --向表中插入數(shù)據(jù) select * from 表名 rollback; --回滾事務(wù) rollback 回滾的意思。 就是數(shù)據(jù)庫(kù)里做修改后 ( update ,insert , delete)未commit 之前 使用rollback 可以恢復(fù)數(shù)據(jù)到修改之前。 insert into 表名 values(); select * from 表名 會(huì)發(fā)現(xiàn)出現(xiàn)了空洞查看全部
-
唯一序列號(hào): 場(chǎng)景:數(shù)據(jù)庫(kù)主鍵、業(yè)務(wù)序列號(hào) 優(yōu)先選擇系統(tǒng)提供的序列號(hào)生成方式。但可能會(huì)有空洞產(chǎn)生。 特殊情況下可使用SQL方式生成序列號(hào),如要求有一定規(guī)律,不一定由數(shù)字構(gòu)成 系統(tǒng)生成方法: rollback數(shù)據(jù)回滾查看全部
-
使用序列化表的方式來(lái)實(shí)現(xiàn)列轉(zhuǎn)行查看全部
-
使用UNION的方式實(shí)現(xiàn)列轉(zhuǎn)行: UNION是無(wú)重復(fù)記錄的 UNION ALL是所有記錄,是可重復(fù)的查看全部
-
行轉(zhuǎn)列: SELECT username,REPLACE(substring(SUBSTRING_INDEX(mobile,',',a.id), CHAR_LENGTH(SUBSTRING_INDEX(mobile,',',a.id-1))+1),',','') AS mobile FROM tb_sequence AS a CROSS JOIN (SELECT username, CONCAT(mobile,',') AS mobile, (LENGTH(mobile)-LENGTH(REPLACE(mobile,',',''))+1) AS size FROM user1) AS b ON a.id <= b.size;查看全部
-
行轉(zhuǎn)列: 利用自身連接來(lái)實(shí)現(xiàn): SELECT * FROM ( SELECT SUM(KILLS) AS 'A' FROM A INNER JOIN B ON A.NAME=B.USER_NAME WHERE A.NAME='A') AS A CROSS JOIN( SELECT SUM(KILLS) AS 'B' FROM A INNER JOIN B ON A.NAME=B.USER_NAME WHERE A.NAME='B') AS B CROSS JOIN( SELECT SUM(KILLS) AS 'C' FROM A INNER JOIN B ON A.NAME=B.USER_NAME WHERE A.NAME='C')AS C; 比如成績(jī) 1、分別查詢出不同同學(xué)的成績(jī),并將字段名改為同學(xué)的名字 2、通過(guò)交叉連接,將不同的語(yǔ)句連接起來(lái) 缺點(diǎn):是將原來(lái)查詢的結(jié)果每一行單獨(dú)查詢出來(lái),再進(jìn)行拼接。因此每增加一個(gè)同學(xué)就增加一個(gè)SELECT語(yǔ)句。并且是通過(guò)交叉連接,要保證每個(gè)查詢的結(jié)果只能是一個(gè),不然沒(méi)辦法通過(guò)交叉連接實(shí)現(xiàn)轉(zhuǎn)換。查看全部
-
SQL開(kāi)發(fā)技巧(二) 內(nèi)容介紹: 1.如何進(jìn)行行列轉(zhuǎn)換 2.如何生成唯一序列號(hào) 3.如何刪除重復(fù)數(shù)據(jù)查看全部
-
行轉(zhuǎn)列查看全部
-
case行轉(zhuǎn)列查看全部
-
sql 分號(hào)代表一行的結(jié)束,中間不要加分號(hào)。查看全部
-
更復(fù)雜的重復(fù)數(shù)據(jù)查看全部
-
如何處理重復(fù)的數(shù)據(jù)查看全部
-
select sum(case when user_name='孫悟空' then kills end) as '孫悟空', sum(case when user_name='豬八戒',thwn kills end) as '豬八戒') from user_name a join user_kills b on a.id = b.id查看全部
-
利用序列表處理列轉(zhuǎn)行的數(shù)據(jù)查看全部
-
關(guān)于學(xué)生成績(jī)的行轉(zhuǎn)列代碼參考: //表格定義及數(shù)據(jù) create table if not exists score( id smallint unsigned not null primary key auto_increment, uname varchar(100) not null, subject varchar(100) not null, score smallint not null )engine=innodb default charset=utf8; insert score values (default, 'a', 'math', 10), (default, 'a', 'english', 20), (default, 'a', 'chinese', 30), (default, 'b', 'math', 50), (default, 'b', 'english', 60), (default, 'b', 'chinese', 70), (default, 'c', 'math', 110), (default, 'c', 'english', 120), (default, 'c', 'chinese', 130); //轉(zhuǎn)換代碼: select math.uname,math.math,english.english,chinese.chinese from (select id, uname, score as math from score where subject='math') as math inner join (select id, uname, score as english from score where subject='english') as english on math.uname=english.uname inner join (select id, uname, score as chinese from score where subject='chinese') as chinese on chinese.uname=english.uname;查看全部
舉報(bào)
0/150
提交
取消