數(shù)據(jù)庫(kù)第四天

//計(jì)算日期時(shí)間差

timestampdiff(顯示形式,第一個(gè)日期,第二個(gè)日期);

//第一個(gè)參數(shù)的形式

1. FRAC_SECOND陈惰。表示間隔是毫秒

2. SECOND红符。秒

3. MINUTE揍拆。分鐘

4. HOUR禁漓。小時(shí)

5. DAY蜂嗽。天

6. WEEK墨叛。星期

7. MONTH闷畸。月

8. QUARTER尝盼。季度

9. YEAR。年

select timestampdiff(week,'2017-2-7','2017-3-7') as diff;

//判斷條件

2.Case when用法:

SELECT? 字段1,

case? ? ? ? ? ? ? ? ? -------------如果

when sex='1' then '男' -------------sex='1'腾啥,則返回值'男'

when sex='2' then '女' -------------sex='2'东涡,則返回值'女'

else? ’其他’? ? ? ? ? ? ? ? -------------其他的返回'其他’

end

as 別名? ? ? ? ? ? ? ? ? -------------結(jié)束

from? sys_user? ? ? ? ? ? --------整體理解: 在sys_user表中如果sex='1',則返回值'男'如果sex='2'倘待,則返回值'女' 否則返回'其他’

select name,

case

when sex=1 then '男'

when sex=2 then '女'

else '其他'

end

as sex

from staff;

//索引:提高mysql執(zhí)行效率

索引:書的目錄疮跑,查找目錄要比查找內(nèi)容速度快

mysql索引:mysql->data

索引和數(shù)據(jù)是同步更新(insert,update,delete)的,若給表中所有字段加索引,反而查詢速度會(huì)慢

mysql可以承受百萬級(jí)別的數(shù)據(jù):1200000

家用臺(tái)式機(jī)可執(zhí)行2000/秒凸舵,配置較好的服務(wù)器可執(zhí)行5000~8000/秒

1000000/2000 = 500秒=8分鐘

mysql索引類型:

(1)主索引(primary key):主鍵屬于索引祖娘,是索引的一種,設(shè)置主鍵的字段啊奄,會(huì)自動(dòng)增長(zhǎng)渐苏,非空且唯一。

(2)一般索引(index):任何字段都可以加

(3)唯一索引(unique):加唯一索引的字段值不能重復(fù)

(4)全文索引(fulltext):生成全文索引是一件特別消耗時(shí)間菇夸、磁盤空間的做法

(5)組合索引:多個(gè)字段聯(lián)合起來作為一個(gè)索引

//添加索引(兩種寫法)琼富,對(duì)已經(jīng)存在的表

//(1)一個(gè)字段可以添加多個(gè)索引

(2)加索引(unique)的字段值不允許為空

+

alter table 表名 add 索引類型 索引名稱(字段);

alter table books add index index_bName(b_name);

//兩個(gè)字段作為組合索引

alter table score add unique uni_stid_coid(stid,coid);

create unique index uni_bName on books(b_name);

//創(chuàng)建表添加索引

create table staff2(

id int(11) not null auto_increment primary key,

name varchar(255) not null,

unique uni_name(name)

);

create table staff3(

id int(11) not null auto_increment primary key,

name varchar(255) not null unique

);

//主鍵,外鍵與索引

主外鍵自動(dòng)索引

若要主外鍵的索引庄新,必須先把主外鍵約束去掉

//查看索引

show create table 表名;

show index from 表名;

//刪除索引

alter table 表名 drop index 索引名;

alter table staff2 drop index uni_name;

//談?wù)勀銓?duì)索引看法:

(1)mysql索引類型

(2)使用索引的注意事項(xiàng)(索引的利弊)

索引和數(shù)據(jù)是同步更新(insert,update,delete)的,若給表中所有字段加索引鞠眉,反而查詢速度會(huì)慢,

給合適的字段加合適的索引择诈,可以提高查詢效率

//視圖

定義:視圖是一個(gè)臨時(shí)表械蹋、虛擬表,由select語句執(zhí)行后的結(jié)果組成一張表

作用:簡(jiǎn)化查詢

圖書ID 圖書名稱 圖書類型

select bk.id,bk.b_name,bt.type_name from books bk

left join book_type bt

on bk.type_id = bt.type_id;

//創(chuàng)建一個(gè)視圖

create view 視圖名稱 as 查詢語句;

create view bookinfo as

select bk.id,bk.b_name,bt.type_name from books bk

left join book_type bt

on bk.type_id = bt.type_id;

//若修改了books或book_type表中的數(shù)據(jù)羞芍,視圖中的數(shù)據(jù)會(huì)變化

//視圖中的數(shù)據(jù)能否修改哗戈?

(1)如果只修改(insert,update,delete)單張表的數(shù)據(jù),是可以修改的,并且原表的數(shù)據(jù)也跟著變化

(2)不能同時(shí)修改(insert,update,delete)來自兩張表的數(shù)據(jù)

學(xué)生ID 學(xué)生姓名 科目? 成績(jī)

//觸發(fā)器(trigger)

定義:當(dāng)執(zhí)行一個(gè)動(dòng)作時(shí)荷科,引起了其他一系列的操作唯咬。

//創(chuàng)建學(xué)生數(shù)量表

create table st_count(

number int(11) not null default 0

);

//創(chuàng)建觸發(fā)器語法

create trigger 觸發(fā)器名稱

觸發(fā)的時(shí)機(jī) //before,after

觸發(fā)的動(dòng)作 //insert,update,delete

on 引起觸發(fā)器的表名稱

for each row

執(zhí)行的sql語句;

//執(zhí)行單條sql語句的觸發(fā)器

//在student表中刪除一條數(shù)據(jù)之后纱注,st_count的學(xué)生數(shù)量自動(dòng)-1

create trigger tri_after_del

after delete

on student for each row

update st_count set number = number -1;

//student執(zhí)行delete操作

delete from student where stid = 7;

//執(zhí)行多條sql語句的觸發(fā)器

//在student表中存入一條數(shù)據(jù)之后,

(1)st_count的學(xué)生數(shù)量自動(dòng)+1

(2)score自動(dòng)存入學(xué)生一條成績(jī)

create trigger tri_after_insert2

after insert

on student for each row

begin

update st_count set number = number+1;

insert into score values(8,1,100);

end

//使用begin ...end結(jié)構(gòu)胆胰,可以定義一個(gè)執(zhí)行多條sql語句的觸發(fā)器

//delimiter 定義mysql中的分隔符

在mysql中,';'標(biāo)志著sql語句的結(jié)束奈附,但是在觸發(fā)器要執(zhí)行的Sql語句中要使用到';',所有需要重新定義分隔符

delimiter //? 敲//才執(zhí)行Sql

//調(diào)用:student執(zhí)行Insert操作

insert into student values(9,'喵喵',22,'女','12345678909','2012-12-1','江蘇');

insert into student (name,age,sex,tel,joinTime,local)values('喵喵',22,'女','12345678909','2012-12-1','江蘇');

//查看觸發(fā)器

show triggers;

//刪除觸發(fā)器(注意外鍵約束)

drop trigger 觸發(fā)器名稱;

//mysql存儲(chǔ)過程 = java封裝方法

定義:是一組為了完成特定功能的Sql語句煮剧,經(jīng)過編譯之后存在數(shù)據(jù)庫(kù)中,用戶通過指定存儲(chǔ)過程的名稱并給定參數(shù)(若有參數(shù))來調(diào)用執(zhí)行它

mysql變量:

(1)用戶變量:用戶自己定義的變量

a)定義:以@開始将鸵,形式:@變量名//@a

b)賦值:set @a = 10;

c)作用范圍:整個(gè)客戶端勉盅,當(dāng)客戶端退出時(shí),用戶變量消失顶掉,所以也叫會(huì)話變量

d)訪問:select @a;

(2)局部變量:

a)定義:declare b int;//沒有default設(shè)置value值時(shí)草娜,默認(rèn)值是Null

declare c int default 10;

b)賦值:set b = 8;

c)作用范圍:在begin到end語句塊之間。

//創(chuàng)建一個(gè)存儲(chǔ)過程

create procedure 存儲(chǔ)過程名稱([參數(shù)1],[參數(shù)2],...)

begin

要執(zhí)行的sql語句;

end

//創(chuàng)建一個(gè)不帶參數(shù)的存儲(chǔ)過程

//獲取所有員工信息

create procedure getStaff()

begin

select * from staff;

end

//調(diào)用存儲(chǔ)過程

call getStaff();

//存儲(chǔ)過程中的參數(shù)類型

in:表示輸入?yún)?shù),默認(rèn)為in痒筒,可以不寫

out:表示輸出參數(shù),mysql沒有return,所以返回值要定義為out

inout:既可以是輸入?yún)?shù)宰闰,也可以是輸出參數(shù)

function sum(a,b){

return a+b;

}

//創(chuàng)建一個(gè)帶參數(shù)的存儲(chǔ)過程

create procedure pro_add(in a int,in b int)

begin

declare sum int;

if a is null then

set a = 0;

end if;

if b is null then

set b = 0;

end if;

set sum = a+b;

select sum;

end

//調(diào)用帶參數(shù)的存儲(chǔ)過程

call pro_add(2,3);

表名aa

字段view

update aa set view = view + 1;//瀏覽量加1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市簿透,隨后出現(xiàn)的幾起案子移袍,更是在濱河造成了極大的恐慌,老刑警劉巖老充,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葡盗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡啡浊,警方通過查閱死者的電腦和手機(jī)觅够,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來巷嚣,“玉大人喘先,你說我怎么就攤上這事⊥⒘#” “怎么了窘拯?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)评雌。 經(jīng)常有香客問我树枫,道長(zhǎng),這世上最難降的妖魔是什么景东? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任砂轻,我火速辦了婚禮,結(jié)果婚禮上斤吐,老公的妹妹穿的比我還像新娘搔涝。我一直安慰自己厨喂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布庄呈。 她就那樣靜靜地躺著蜕煌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诬留。 梳的紋絲不亂的頭發(fā)上斜纪,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音文兑,去河邊找鬼盒刚。 笑死,一個(gè)胖子當(dāng)著我的面吹牛绿贞,可吹牛的內(nèi)容都是我干的因块。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼籍铁,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼涡上!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拒名,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤吩愧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后增显,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體耻警,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年甸怕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了甘穿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡梢杭,死狀恐怖温兼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情武契,我是刑警寧澤募判,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站咒唆,受9級(jí)特大地震影響届垫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜全释,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一装处、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浸船,春花似錦妄迁、人聲如沸寝蹈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽箫老。三九已至,卻和暖如春黔州,著一層夾襖步出監(jiān)牢的瞬間耍鬓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工流妻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留界斜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓合冀,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親项贺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子君躺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • MySQL 數(shù)據(jù)庫(kù)常用命令 1、MySQL常用命令 create database name; 創(chuàng)建數(shù)據(jù)庫(kù) use...
    55lover閱讀 4,788評(píng)論 1 57
  • 一开缎、jdbc 1棕叫、執(zhí)行sql語句 (1)executeUpdate()執(zhí)行除了select語句外的,它返回的是in...
    淺水姑娘檸檬淚_d411閱讀 207評(píng)論 0 0
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法奕删,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法器腋,線程的語...
    子非魚_t_閱讀 31,630評(píng)論 18 399
  • (一)Oracle數(shù)據(jù)庫(kù) 1.oracle中row_id理解 ORACLE的row_id是一個(gè)偽列,其個(gè)是為18個(gè)...
    獨(dú)云閱讀 5,611評(píng)論 0 10
  • 時(shí)間隱隱約約就過去了盗痒,開始出現(xiàn)一種熟悉的景象。那種谨设,別人說的班上著上著熟掂,忘記了日子,生活是出租屋扎拣、公司赴肚、餐廳的三點(diǎn)...
    羅_11f3閱讀 265評(píng)論 0 0