mysql2

mysql2

三大范式

三大范式是設(shè)計(jì)數(shù)據(jù)數(shù)據(jù)庫(kù)的一個(gè)原則

?1. 對(duì)于屬性(字段)必須是原子性的知给,不可再進(jìn)行分割

? person表 (name,age,gender,tel,birthday)

2. 對(duì)于記錄的唯一性,要求記錄有唯一標(biāo)識(shí)测柠,

? ? 數(shù)據(jù)表中都要求主鍵炼鞠,而且主鍵盡量不要是業(yè)務(wù)字段,單獨(dú)拿個(gè)字段來做主鍵

? ? 字段與主鍵要有直接關(guān)系轰胁,不是間接關(guān)系谒主, 確保一張表中只能存儲(chǔ)一種類型的數(shù)據(jù),不能存儲(chǔ)多種

?3. 對(duì)于字段的冗余性赃阀,要求任何字段不能由其他字段派生過來霎肯,要求字段沒有冗余性

? ? ?person表 (province, abbreviation, name)??

外鍵

當(dāng)我們進(jìn)行表關(guān)聯(lián)的時(shí)候擎颖,我們可以通過外鍵約束一下

? 1. 創(chuàng)建表的時(shí)候直接添加

? Create table 表名(字段 類型,字段 類型观游,..., constraint [外鍵名稱] foreign key(外鍵字段) references 父表(主鍵字段))

? create table stu(id int primary key auto_increment, name varchar(20), card_id varchar(10),clazz_id int,constraint fk_clazz_id_id foreign key(clazz_id) references clazz(id));

2. 通過alert進(jìn)行修改 (外鍵起名要有一個(gè)命名規(guī)則)

?Alter table 表名 add [constraint 外鍵名字] foreign key(外鍵字段) references 父表(主鍵字段);

? alter table stu add constraint fk_clazz_id_id foreign key(clazz_id) references clazz(id);

3. 刪除外鍵

? alter table [表名] drop foreign key [外鍵名稱];

? alter table stu drop foreign key fk_clazz_id_id;

?4. 查詢外鍵

? show create table [表名]

? 4. 級(jí)聯(lián)操作 (級(jí)聯(lián)更新搂捧,級(jí)聯(lián)刪除)

? ? 級(jí)聯(lián)更新 , 當(dāng)父表主鍵發(fā)生變化變化的時(shí)候懂缕,從表中外鍵也跟著更新

? alter table stu add constraint fk_clazz_id_id foreign key(clazz_id) references clazz(id) on update cascade;

? ? 級(jí)聯(lián)刪除 允跑,當(dāng)父表中記錄被刪除時(shí)候,字表外鍵相關(guān)的記錄全部被刪除

? ? alter table stu add constraint fk_clazz_id_id foreign key(clazz_id) references clazz(id) on delete cascade;

? ? 級(jí)聯(lián)更新和級(jí)聯(lián)刪除可以一起使用搪柑,默認(rèn)情況下不帶級(jí)聯(lián)更新和級(jí)聯(lián)刪除的

? 連接查詢

? ? ? 內(nèi)連接? inner join? (on 是關(guān)聯(lián)條件)? 兩張表中符合條件的交集

? ? ? ? select * from stu inner join clazz on stu.clazz_id = clazz.id

? ? ?左連接? left join? 把左表中內(nèi)容都列出來聋丝,右表有匹配的就匹配,沒有匹配的直接為空

? ? ? ? select * from stu left join clazz on stu.clazz_id = clazz.id

? ? ? 右連接? right join 把右表內(nèi)容都列出來工碾,左表中有匹配的就匹配弱睦,沒有匹配的直接為空

? ? ? ? select * from stu right join clazz on stu.clazz_id = clazz.id

?子查詢

一個(gè)查詢的結(jié)果是另外一個(gè)查詢的條件

select name from clazz where id in (select clazz_id from stu where name = 'zhangsan');

?別名(as)

通過as 可以給表起別名, 也可以給字段起別名

select s.name as sname, c.name as cname, c.number cnumber from stu as s inner join clazz as c on s.clazz_id = c.id;

?as 可以省略掉

select s.name sname, c.name cname, c.number cnumber from stu s inner join clazz c on s.clazz_id = c.id;

mysql的函數(shù)

? ? 1. max 最大值

? ? ? 求男生的最大年齡

? ? ? select gender, max(age) mage from stu2 group by gender having gender = 'm';

? ? 2. min? 最小值

? ? ? 求女生最小年齡

? ? ? select gender, min(age) mage from stu2 group by gender having gender = 'g';

? ? 3. count? 數(shù)量和

? ? ? 分別求男生和女生的數(shù)量

? ? ? select gender, count(gender) gcount from stu2? group by gender;

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

? ? 男生和女生的年齡的平均數(shù)

? ? select gender, avg(age) gcount from stu2? group by gender;

? ? 5. concat 字段拼接

? ? ? 全表查詢渊额,把姓名字段和年齡字段拼接輸出

? ? ? select name,age,concat(name,'-','age') cc from stu2;

? ? 6. substring 字段裁剪 substring(字段,begin,count)? begin 是從1開始的

? ? ? 截取姓名的字段的首字母輸出

? ? ? select name ,substring(name,1,1) sub from stu2;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末况木,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子旬迹,更是在濱河造成了極大的恐慌火惊,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舱权,死亡現(xiàn)場(chǎng)離奇詭異矗晃,居然都是意外死亡仑嗅,警方通過查閱死者的電腦和手機(jī)宴倍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仓技,“玉大人鸵贬,你說我怎么就攤上這事〔蹦恚” “怎么了阔逼?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)地沮。 經(jīng)常有香客問我嗜浮,道長(zhǎng),這世上最難降的妖魔是什么摩疑? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任危融,我火速辦了婚禮,結(jié)果婚禮上雷袋,老公的妹妹穿的比我還像新娘吉殃。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布蛋勺。 她就那樣靜靜地躺著瓦灶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪抱完。 梳的紋絲不亂的頭發(fā)上贼陶,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音巧娱,去河邊找鬼每界。 笑死,一個(gè)胖子當(dāng)著我的面吹牛家卖,可吹牛的內(nèi)容都是我干的眨层。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼上荡,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼趴樱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起酪捡,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤叁征,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后逛薇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捺疼,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年永罚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啤呼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡呢袱,死狀恐怖官扣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情羞福,我是刑警寧澤惕蹄,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站治专,受9級(jí)特大地震影響卖陵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜张峰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一泪蔫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挟炬,春花似錦鸥滨、人聲如沸嗦哆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽老速。三九已至,卻和暖如春凸主,著一層夾襖步出監(jiān)牢的瞬間橘券,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工卿吐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留旁舰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓嗡官,卻偏偏與公主長(zhǎng)得像箭窜,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子衍腥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355