第十單元 數(shù)據(jù)庫

一、數(shù)據(jù)庫定義:

? ? ? ? 按照數(shù)據(jù)的結(jié)構(gòu)來組織驹沿、存儲、和管理數(shù)據(jù)的倉庫

? ??????數(shù)據(jù)庫=多張表+各表之間的關(guān)系

二蹈胡、常見數(shù)據(jù)庫

? ? ? ? MySQL渊季、Oracle、MongoDB罚渐、Redis却汉、SqlServer

三、數(shù)據(jù)庫和SQL是什么關(guān)系荷并?

? ??????結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL

? ??????是一種特殊目的的編程語言合砂,是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢璧坟、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)既穆;同時(shí)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。

數(shù)據(jù)庫里面放著數(shù)據(jù)雀鹃,而SQL是用來操作數(shù)據(jù)庫里數(shù)據(jù)的語言(工具)幻工。

四、SQL語句分類

? ??1. DDL-數(shù)據(jù)庫定義語言

? ? 創(chuàng)建數(shù)據(jù)庫? ?? CREATE DATABASE 數(shù)據(jù)庫名;

? ? 刪除數(shù)據(jù)庫? ?→?drop database 數(shù)據(jù)庫名;

? ? 選擇數(shù)據(jù)庫? ?→ use 數(shù)據(jù)庫名;

? ??查看數(shù)據(jù)庫創(chuàng)建細(xì)節(jié) →?show create database 數(shù)據(jù)庫名;

? ? 創(chuàng)建一個使用gbk字符集的數(shù)據(jù)庫 →?create database 數(shù)據(jù)庫名 character set 編碼;

? ??創(chuàng)建表

? ??create table student(id int,name varchar(20),sex varchar(20),age int,salary float(6,2),birthday date);

????刪除表? drop table student;

????查看所有表? show tables;

????查看表的創(chuàng)建細(xì)節(jié)? show create table student;

????展示表結(jié)構(gòu)? desc student;

????在原有的學(xué)生基礎(chǔ)上添加address列? ? alter table student add addressvarchar(20);

????在原有的學(xué)生基礎(chǔ)上刪除address列? ? ? alter table student drop address;

????定義表的約束

????create tablestudent(id int primary key auto_increment,

????name varchar(20) unique not null, sex varchar(20),ageint,salary float(6,2),birthday date);

????刪除單條數(shù)據(jù)

????delete from student where id=1;

? ??刪除所有數(shù)據(jù)黎茎,不刪除結(jié)構(gòu)囊颅,會放到日志中,事務(wù)提交后才生效

? ??delete from student;

? ??摧毀表傅瞻,刪除表中所有數(shù)據(jù)踢代,不刪除結(jié)構(gòu),立即生效

? ??truncate table student;

? ??注意:delete from student;與truncate table student;都能刪除該表中所有數(shù)據(jù)嗅骄,

????區(qū)別:前者刪除后自增主鍵還在胳挎,后者主鍵會從1開始。

? ? 2.DML-數(shù)據(jù)庫操作語言

? ? ? ? 1溺森、插入數(shù)據(jù)

? ? ? ? 指定列插入:insert into 表名(f1,f2,...fn) values(值1,值2,...值n);

? ? ? ? 全部插入:insert into 表名 values(值1,值2,...值n);

? ? ? ? 2慕爬、修改數(shù)據(jù)

? ? ????update 表名 set field = value;

? ??????update 表名 set field = value where field = value;

? ? ????update 表名 set field =?value,field =?value where?field = value;

? ? 3.DQL-數(shù)據(jù)庫查詢語言

? ? ? ? select 字段名 from 表名 where 字段名 between 值1 and 值2;

? ? ? ? select 字段名 from 表名 where 字段名 [<,>,!=,<=,>=] 值;

? ??排序查詢

? ??????升序:select * from 表名 order by 表中的字段 asc(MySQL中默認(rèn)是升序排列,可不寫) 屏积;

? ??????降序:select * from 表名 order by 表中的字段 desc 医窿;

? ??????若要進(jìn)行同時(shí)一個升序一個降序 例如:order by 升序字段 asc,降序字段 desc 炊林;

? ??分頁查詢

? ??????limit是mysql的分頁查詢語法:select * from table limit m,n

? ??其中m是指記錄從m+1開始,姥卢,N代表取n條記錄。

? ??分組查詢

? ??????select * from 表名 group by 字段名 having 字段名>值;

? ??報(bào)表查詢

? ??????count 個數(shù)

????????sum 總數(shù)

????????avg 平均數(shù)

????????max 最大值

????????min 最小值

? ? 4.DCL-數(shù)據(jù)庫控制語言


多表設(shè)計(jì)

? ??constraint 約束

? ??foreign key就是表與表之間的某種約定的關(guān)系,由于這種關(guān)系的存在独榴,能夠讓表與表之間的數(shù)據(jù)僧叉,更加的完整,關(guān)連性更強(qiáng)

? ??foreign key語句的式例:FOREIGN KEY(Sno) REFERENCES Student(Sno)

? ??注意:表的外鍵必須是另一張表的主鍵

連表查詢

? ??交叉查詢:又叫笛卡爾積查詢棺榔,會將左表和右表的信息彪标,做一個乘積將所有信息查詢出來,會產(chǎn)生臨時(shí)表掷豺,比較占用內(nèi)存捞烟,生成的記錄數(shù)=表1 X表2

????(cross join 可以省略)

? ??select * from customer,orders;

? ??select * from customer cross join orders;

? ??內(nèi)連接:inner join on

? ??注意:join前面是左,后面是右

? ? select * from customer c inner join orders o on c.id=o.customer_id;

? ? select * from customer, orders where customer.id=orders.customer_id;

? ? 左外連接:?left join on

? ??select * from customer c left join orders o on c.id=o.customer_id;

? ??右外連接:right join on

? ??select * from customer c right join orders o on c.id=o.customer_id;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末当船,一起剝皮案震驚了整個濱河市题画,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌德频,老刑警劉巖苍息,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異壹置,居然都是意外死亡竞思,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門钞护,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盖喷,“玉大人,你說我怎么就攤上這事难咕】问幔” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵余佃,是天一觀的道長暮刃。 經(jīng)常有香客問我,道長爆土,這世上最難降的妖魔是什么椭懊? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮步势,結(jié)果婚禮上氧猬,老公的妹妹穿的比我還像新娘。我一直安慰自己立润,他們只是感情好狂窑,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布媳板。 她就那樣靜靜地躺著桑腮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蛉幸。 梳的紋絲不亂的頭發(fā)上破讨,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天丛晦,我揣著相機(jī)與錄音,去河邊找鬼提陶。 笑死烫沙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的隙笆。 我是一名探鬼主播锌蓄,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼撑柔!你這毒婦竟也來了瘸爽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤铅忿,失蹤者是張志新(化名)和其女友劉穎剪决,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體檀训,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡柑潦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了峻凫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渗鬼。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖荧琼,靈堂內(nèi)的尸體忽然破棺而出乍钻,到底是詐尸還是另有隱情,我是刑警寧澤铭腕,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布银择,位于F島的核電站,受9級特大地震影響累舷,放射性物質(zhì)發(fā)生泄漏浩考。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一被盈、第九天 我趴在偏房一處隱蔽的房頂上張望析孽。 院中可真熱鬧,春花似錦只怎、人聲如沸袜瞬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽邓尤。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間汞扎,已是汗流浹背季稳。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澈魄,地道東北人景鼠。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像痹扇,于是被迫代替她去往敵國和親铛漓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

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

  • 1. 為什么軟件測試工程師還需要學(xué)習(xí)數(shù)據(jù)庫以及開發(fā)方面的知識鲫构? 測試工程師的目的是找出軟件的不足票渠,并告訴開發(fā)工程師...
    睿智的少年閱讀 574評論 0 0
  • 一、數(shù)據(jù)庫概述 1.為什么軟件測試工程師還需要學(xué)習(xí)數(shù)據(jù)庫以及開發(fā)方面的知識芬迄? ●測試工程師在測試軟件過程中问顷,不僅僅...
    AYang閱讀 255評論 0 0
  • 數(shù)據(jù)庫 一、數(shù)據(jù)庫概述 1.為什么軟件測試工程師還需要學(xué)習(xí)數(shù)據(jù)庫以及開發(fā)方面的知識禀梳? 測試工程師的目的是找出軟件的...
    __65a0閱讀 181評論 0 0
  • 一杜窄、數(shù)據(jù)庫概述 1.為什么軟件測試工程師還需要學(xué)習(xí)數(shù)據(jù)庫以及開發(fā)方面的知識? 測試工程師的目的是找出軟件的不足算途,并...
    九櫻MOL閱讀 157評論 0 0
  • 一塞耕、數(shù)據(jù)庫概述 1.為什么軟件測試工程師還需要學(xué)習(xí)數(shù)據(jù)庫以及開發(fā)方面的知識? 測試工程師的目的是找出軟件的不足嘴瓤,并...
    淅平閱讀 219評論 0 0