【正文】
ect name as 39。,age as 39。,sex as 39。 from stu。xxx39。xxx39。 count 查看表中有幾條數(shù)據(jù) select count(*) from stu。 limit 限制查詢結(jié)果的輸出數(shù)量 同時也可以實現(xiàn)數(shù)據(jù)的分頁 查詢EQ前三名的學(xué)生 select * from stu order by EQ desc limit 3。 select * from stu limit 3,3。 insert into test values()。 insert into test values(1)。11111139。 insert into test values()。 create table test(id int,primary key(id))。 id主鍵自增,減 create table test (id int,name varchar(20),primary key(id)); insert into test values(1,39。); auto_increment的特點自增值 當(dāng)刪除某一值時,他不會自動填充,而是繼續(xù)自增1 create table test(id int not null auto_increment,name varchar(20),primary key(id))。xxx39。 insert into people(name,age,sex,) values(39?!?8’,‘男’,39。)?;? select * from student as a,school as b where =。畢業(yè)學(xué)校,學(xué)校地址 select , s from student, school where =。 外鍵約束( foreign key) 如何創(chuàng)建外鍵 foreign key:定義子中的列為外鍵 references:標(biāo)記外鍵所要參考的父表和列 on delete cascade:允許在刪除父表的列的同時,刪除子表的列 //在InnoDB中支持 create datebase fordb。 創(chuàng)建父表 create table school(id int not null auto_increment,name varchar(20),primary key(id))engine=innodb。紫瑯學(xué)院39。 創(chuàng)建 子表 create table student(id int not null auto_increment,name varchar(20),schoolid int,primary key(id),foreign key(schoolid) references school(id) on delete cascade)。張三39。 ER模型 概述:設(shè)計數(shù)據(jù)庫時,通常采用實體關(guān)系模型“ER模型 軟件開發(fā)流程: 需求調(diào)研(設(shè)計功能,收集數(shù)據(jù)) 與最終用戶進行確定 數(shù)據(jù)庫的設(shè)計 控制多余數(shù)據(jù) 那么在最后,數(shù)據(jù)庫設(shè)計者確定表、不同表之間的關(guān)系以及每個表之間的關(guān)系,通常使用”ER模型“,它將整個系統(tǒng)看作彼此相關(guān)的實體組成 實體:通常用于表示 能夠被清晰識別的人、地點、事物、對象、事件 實體關(guān)系圖:如果需要 基于‘ER’模型建立數(shù)據(jù)庫模型,需要標(biāo)識實體,實體的屬性、以及實體之間的關(guān)系。主鍵必須有唯一性的元素,一個主鍵可以由一個或更多的組成唯一值的列組成。主外鍵關(guān)聯(lián)意味著一對多的關(guān)系。 最小值 找出EQ最低的學(xué)生 select name,min(EQ)from student; count()//統(tǒng)計 查詢出的記錄總數(shù) 查詢出學(xué)生的總條數(shù) select count(name)from student; avg()//求平均值 查詢學(xué)生EQ的平均值 select avg(EQ) from student; sum()//求和 查詢學(xué)生EQ的總和 select sum(EQ) from stu; 修改字段類型 alter table student modify sex char(5); 增加列 alter table student add address varchar(50); 刪除列 alter table student drop address; 修改列的名稱 alter table student change name names varchar(20); 修改表的名字 rename table student to stu; MYSQL 之表連接 內(nèi)鏈接(inner join):又為等值連接,因為他將兩個表中的公共字段有相等的值(記錄)連接起來,這是最常用的連接?;? select , from cases inner join(user,goods) on(= and =)?;? select , from user inner join(cases inner join goods on =) on =)。當(dāng)滿足連接條件時,left join 右邊的表中的相應(yīng)的記錄與left join左邊表中的相應(yīng)記錄結(jié)合顯示。 右連接:與左連接相對應(yīng),他顯示sql語句中right join 右邊表中的記錄,即使在right join 左邊沒有的記錄也被顯示。right join左邊表中相應(yīng)記錄將與right join右邊的表中相應(yīng)記錄進行結(jié)合顯示。 select , from student right join school on =。school就為由表 MYSQL之視圖 視圖:它可以訪問一個或多個表中的數(shù)據(jù),是從一個或多個表中派生出的數(shù)據(jù)對象(虛表) 視圖的特點: 將復(fù)雜的查詢簡單化 提供安全機制,它保證用戶只可以看得到的數(shù)據(jù),系統(tǒng)中真實的表是不可被存取的(現(xiàn)都支持更改數(shù)據(jù)) 創(chuàng)建視圖: create view case_view as select as 39。, as 39。, as 39。 from user inner join(cases inner join goods on =) on =。要想在給定數(shù)據(jù)庫中明確創(chuàng)建視圖。 視圖必須具有唯一的列名,不得有重復(fù),就像基表那樣。 刪除視圖:drop view viewname。編號39。姓名39。名稱39。 數(shù)據(jù)字典 數(shù)據(jù)庫的數(shù)據(jù)字典實際上是一個數(shù)據(jù)庫 它記錄著數(shù)據(jù)庫管理系統(tǒng)中的其他數(shù)據(jù)庫的操作 mysql數(shù)據(jù)庫字典:information_schema use information_schema select * from views。這些操作要么都執(zhí)行,要么都不執(zhí)行,他是一個不可分割的工作單位 事務(wù)是數(shù)據(jù)庫維護數(shù)據(jù)一致性的單位,在每個事務(wù)結(jié)束時,都能保持數(shù)據(jù)一致性 mysql表類型: 在mysql中有多種表的類型,但是分為兩類 : 事務(wù)類型:InnoDB、BDB 非事務(wù)類型:MYISAM、MERGE、MEMORY(HEAP) InnoDB和BDB存儲引擎提供事務(wù)安全表。 InnoDB是為處理巨大數(shù)據(jù)量時的最大性能設(shè)計。 MYISAM管理非事務(wù)表。 ISAM數(shù)據(jù)表是mysql最原始的數(shù)據(jù)表,有三個文件,分別是: .frm,存放數(shù)據(jù)表的結(jié)構(gòu)定義 .isd,數(shù)據(jù)文件,存放數(shù)據(jù)表中的各個數(shù)據(jù)行的內(nèi)容 .ism,索引文件,存放數(shù)據(jù)表的所有索引信息。 BDB數(shù)據(jù)表用兩個文件 來表示,分別是。 定義表的的類型 create table test(id int)engine=heap; 事務(wù)表幣非事務(wù)表有幾大優(yōu)勢: 更安全。(用非事務(wù)安全表,所有發(fā)生的改變都是永久的) 事務(wù)安全存儲引擎可以給那些當(dāng)前用 讀得到許多更新的表提供 更好的部署。盡管如此,在automit被禁止掉的事務(wù)里,變換到非事務(wù)安全表依舊即使提交并且不會被回滾 如何在innodb中實現(xiàn)事務(wù): begin://告知服務(wù)器我要開始一個事物 rollback://如果事務(wù)發(fā)生異常,那么數(shù)據(jù)回滾 mit://事務(wù)執(zhí)行成功,進行數(shù)據(jù)提交 mysql begin。zhangs39。 Query OK, 1 row affected ( sec)