版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)習(xí)好資料 歡迎下載 Mysql 三大列類型 1. 數(shù)值型 整型 Tinyint ,Smallint, Mediumint ,Int,Bigint 小數(shù)型 FloatD,M,DecimalD,M 2. 字符串型 CharM VarcharM Text 文本類型 3. 日期時(shí)間類型 Date 日期 Time 時(shí)間 Datetime 時(shí)間類型 Year 年類 型 一 整型列的字節(jié)與儲(chǔ)備范疇 從數(shù)學(xué)上爭(zhēng)辯 tinyint ,建表時(shí)既能足夠存放,又不鋪張 空間; 即: 1. 占據(jù)空間 2. 儲(chǔ)備范疇 第 1 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 Tinyint 微小的列類型, 1 字節(jié); 類型 字節(jié)
2、最小值 最大值 (帶符號(hào) / 無(wú)符號(hào)) (帶符號(hào) / 無(wú)符號(hào)) Tinyint 1-128 127 Smallint 20255 -32768 32767 Mediumint 3065535 -223 223-1 Int 40224-1 -231 231-1 Bigint 80232-1 -263 263-1 0264-1 通過(guò)占用字節(jié)和所存范疇分關(guān)系合理的選擇類型; 例: Tinyint 第 2 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 經(jīng)測(cè)試,Tinyint 的默認(rèn)為有符號(hào) -128127 之間,當(dāng)越界時(shí)自動(dòng)取相應(yīng) 的邊界值;如要存 0255 無(wú)符號(hào)時(shí): 列的可選屬性: TinyintM un
3、signed zerofill. M:寬度(在 0 填充的時(shí)候才有意義) Unsigned:無(wú)符號(hào)類型(非負(fù)) ,影響儲(chǔ)備范疇 Zerofill: 0 填充(默認(rèn)無(wú)符號(hào)) 第 3 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 第 4 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 列可以聲明默認(rèn)值,而且舉薦聲明默認(rèn)值 二 小數(shù)型 / 浮點(diǎn)型,定點(diǎn)型 not null default 0 ; FloatM,D:M 代表總位數(shù), D 代表小數(shù)位 第 5 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 ( 6,2)為例: DecimalD,M : 第 6 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 三 字符型列 Char:定長(zhǎng), c
4、harM,M 代表寬度,即:可容納的字符數(shù) 0=M=255 Varchar:變長(zhǎng) ,0=M=65535約 2W6W 個(gè)字符受字符集影響 Text 文本串, 約 2W6W 個(gè)字符受字符集影 響 區(qū)分在哪呢? char 定長(zhǎng): M 個(gè)字符,假如存的小于 M 個(gè)字符,實(shí)占 M 個(gè)字符 varchar:M 個(gè)字符,存的小于 M 個(gè)字符,設(shè)為 N, NM,實(shí)占 N 個(gè) 字符 第 7 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 因此, char 定長(zhǎng)如存空格,讀取時(shí)會(huì)丟失;而變長(zhǎng)不會(huì); Char 利用率小于等于 100%,而 varchar 永久小于 100%, 1-2 個(gè)字節(jié) 用于標(biāo)志實(shí)存字符長(zhǎng)度; Char
5、M如何占據(jù) M 個(gè)字符寬度? 答:假照實(shí)際儲(chǔ)備內(nèi)容不足 M 個(gè),就后面加空格補(bǔ)齊,取出來(lái)的時(shí) 候再把后面的空格去掉, (所以假如內(nèi)容后面有空格,將會(huì)被清除) 選擇原就: 1. 空間利用效率( M 固定選 Char) 2. 速度 速度上:定長(zhǎng)速度快些, 第 8 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 四 日期時(shí)間列類型 Date 日期 Time 時(shí)間 Datatime 時(shí)間類型 Year 年類型 1. Year 類型: 1 個(gè)字節(jié)表 示 錯(cuò)誤時(shí)】 1901-2155 年【 0000 年表示 假如輸入兩位,“ 00-69”表示 20222069, 假如輸入兩位“ 70-99”表示 19701999
6、假如記得麻煩,輸入四位就行了, 第 9 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 2. Date 類型:典型格式 ,1992-08-12 1000-01-01 9999-12-31 3. Time 類型,典型格式 hh:mm:ss -838:59:59 +838:59:59 第 10 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 4. Datetime典型格式: 1989-05-06 12:23:34 1000-01-0100:00:00 9999-12-3123:59:59留意: 在開(kāi)發(fā)中很少使用日期時(shí)間類型來(lái)表示一個(gè)需要精確到秒的列,原 因:雖然日期時(shí)間類型能夠精確到秒,而且便利查看;但是運(yùn)算不 便;
7、用時(shí)間戳來(lái)表示; 時(shí)間戳 : 1970-01-01 00:00:00 到當(dāng)前的秒數(shù) 第 11 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 面試 1: 當(dāng)表示性別時(shí),可用 1 或 0 表示男女,如, 可能會(huì)問(wèn)到為什么不用 enum 枚舉,緣由: enum 不符合關(guān)系型數(shù)據(jù) 庫(kù)設(shè)計(jì)理念,而且字節(jié)上不比 tinyint 少; 第 12 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 實(shí)例: 增刪改查之案例過(guò)程分析 用戶注冊(cè)表單收集,提交數(shù)據(jù),注冊(cè)頁(yè)面收集到表單的數(shù)據(jù)后,形成 insert 語(yǔ)句, user 表插入該條數(shù)據(jù),用戶注冊(cè)完成 前臺(tái)用戶中心,用戶新昵稱,依據(jù)新昵稱和用戶 句,完成昵稱修改 id,形成 upd
8、ate 語(yǔ) 治理后臺(tái)點(diǎn)擊會(huì)員列表,此時(shí),網(wǎng)頁(yè)形成 select 語(yǔ)句,查詢出全部會(huì) 員的數(shù)據(jù),完成會(huì)員的查看 治理員后臺(tái)選中某用戶并且刪除,捕捉此用戶的 成相應(yīng)的 delete 語(yǔ)句 執(zhí)行 delete 語(yǔ)句,完成用戶的刪除; id,依據(jù)用戶 id 形 第 13 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 第 14 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 階段總結(jié)(一) 列類型的概念 數(shù)值型 整型 tinyint smallint mediumint int bigint 整型的 unsigned 代表無(wú)符號(hào), zerofill 代表 0 填充, M 代 表寬度(在 0 填充) 浮點(diǎn)型 / 定點(diǎn)型 f
9、loatM,D unsigned M 精度,即總位數(shù), D 代表小數(shù)位 decimal 比 float 更精確; 字符型 Char( M)定長(zhǎng),可儲(chǔ)備的字符數(shù), M=255 VarcharM ,變長(zhǎng),可儲(chǔ)備的字節(jié)數(shù), M=65535 第 15 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 Char 與 varchar 的不同 點(diǎn) CharM,實(shí)占 M 個(gè)字符,不夠 M 個(gè)右側(cè)補(bǔ)空格,取出時(shí),在去除右 側(cè)空格,導(dǎo)致右側(cè)真有空格時(shí)會(huì)丟失; Varchar( M) ,有 1-2 個(gè)字節(jié)來(lái)標(biāo)記真實(shí)的長(zhǎng)度, 日期時(shí)間型 Year1901-2155,假如輸 2位,00-69之間 +2022,70-99之 間+19
10、00 Date YYYY-MM-DD,范疇在 1000-01-01 9999-12-31 Time HH :ii:ss,范疇在 -838:59:59 838:59:59 Datetime YY-MM-DD HH:ii:ss 1000-01-01 00:00:00 9999-12-31 23:59:59 開(kāi) 發(fā) 中 的 一 個(gè) 問(wèn) 題 精 確 到 秒 的 時(shí) 間 表 示 方 式 , 不 是 用 datetime,而是用 int 來(lái)表示時(shí)間戳 用時(shí)間戳便利運(yùn)算,而且便利格式化成不同的顯示樣式; 建表語(yǔ)句 Create table 說(shuō)明 列名稱 ,列類型 列屬性 默認(rèn)值 , . engine 引擎名
11、 charset 字符集 增: insert 答:往哪張表增,增那幾列,各為什么值? 第 16 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 Insert into 表名 列 1,列 2, .列 N Values (值 1,值 2.值 N) * 假如不聲明插入的列,就默認(rèn)插入全部列; 改: update 答:修改哪張表,修改那幾列,修改成什么值?在哪幾行上生 效? Update 表名 Set 列 1 = 值 1, 列 2 = 值 2, . 列 N =值 N Where 表達(dá)式; 刪: delete 刪除哪張表的數(shù)據(jù),刪除哪些行? Delete from 表名 Where 表達(dá)式 查: select *
12、 from 表名 第 17 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 查詢的五種語(yǔ)句: where, group,having, order by, limit 一 Where 條件查詢 比較運(yùn)算符 1. In ,等于 1 N 任意一個(gè); 例: select goods_id from goods where cat_id in4,5; 2. Between 值 1 and 值 2,表示在值 1 和值 2 之間 例:select goods_id from goods where cat_id between 1 and 5; 規(guī)律運(yùn)算符 1. Not 規(guī)律非 例: select good_id
13、from goods where cat_id not in4,5; 2. Or 規(guī)律或 第 18 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 3. And 規(guī)律與 模糊查詢: 案例:想查找諾基亞開(kāi)頭的全部商品 Like 像,% 通配任意字符 _單個(gè)字符 Selectgoods_id from goodswheregoods_namelike諾基亞 %; Selectgoods_id from goodswheregoods_namelike諾基亞 ; 二 Group 分組查詢 Group by 作用:把 行按 字段分組 語(yǔ)法: group by col1,col2 colN 運(yùn)用場(chǎng)合:常見(jiàn)于統(tǒng)計(jì)場(chǎng)
14、合,如按欄目運(yùn)算帖子數(shù),統(tǒng)計(jì)每個(gè) 人的平均成果等; Group 與統(tǒng)計(jì)函數(shù) Max:求最大, min: 求最小, sum:求總和, avg:求平均, count:求總行數(shù) 第 19 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 練習(xí): 1. 2. 3. 4. 第 20 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 5. 6. 7. 第 21 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 8. 9. 第 22 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 10. 11. 12. 第 23 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 13. 三 Having 第 24 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 第 25 頁(yè),共 80 頁(yè)學(xué)
15、習(xí)好資料 歡迎下載 第 26 頁(yè),共 80 頁(yè)* 例題: 學(xué)習(xí)好資料 歡迎下載 只用一個(gè) select,不用子查詢和左連接; 第 27 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 四 Order by Order by 排序功能 接一個(gè)或多個(gè)字段對(duì)查詢結(jié)果進(jìn)行排序 學(xué)問(wèn)點(diǎn)在本項(xiàng)目案例的運(yùn)用 對(duì)欄目的商品按價(jià)格由高到低或由低到高排序 學(xué)問(wèn)點(diǎn)的運(yùn)用場(chǎng)合描述 各種排序場(chǎng)合,如取熱點(diǎn)新聞,發(fā)帖狀元等; 第 28 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 多重排序: 第 29 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 Limit 在語(yǔ)句的最終起到了限制條目的作用; Limit offset,N offset:偏移量,
16、 N:條目;假如不寫,就從頭開(kāi)頭寫;即: limit 0,N; Truncate table 清空表 第 30 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 摸索:取出每個(gè)欄目下最貴的商品 解法一: 第一建個(gè)臨時(shí)表 g2,將 goods 表導(dǎo)入 g2, 此時(shí), g2 中每個(gè)欄目的第一個(gè) goods_id 就是該欄目下最貴的那個(gè), 再取出每個(gè)欄目下的第一個(gè); 第 31 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 解法二: 思想類似解法一,將 select 后的結(jié)果看作是一張表; 第 32 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 五 良好的懂得模型 1 Where 表達(dá)式:把表達(dá)式放在行中,看表達(dá)式是否為真, 2
17、 列:懂得成變量,可以運(yùn)算 3 取出結(jié)果:可以懂得成一張臨時(shí)表 六 子查詢 1. Where 型子查詢 2. From 型子查詢 3. Exist 型子查 詢 一 Where 型子查詢 第 33 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 是指把內(nèi)層的查詢結(jié)果作為外層查詢的比較條件; 二 From 型子查詢 把內(nèi)層的查詢結(jié)果當(dāng)成表供外層連續(xù)查詢 第 34 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 使用了 from + where 子查詢; 三 Exists 子查詢 把外層的查詢結(jié)果拿到內(nèi)層,看內(nèi)層的查詢是否成 立; 第 35 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 第 36 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡
18、迎下載 階段總結(jié)二 查 select Where 表達(dá)式 表達(dá)式在哪一行成立,哪一行就取出來(lái) =, .=/,=,5 就是認(rèn)為惡意訂單,強(qiáng) 制把所訂的商品數(shù)量改成 5查看全部的觸發(fā)器 Show triggers;第 64 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 儲(chǔ)備引擎 表里的數(shù)據(jù)儲(chǔ)備在硬盤上,具體是如何儲(chǔ)備的? 儲(chǔ)備的方式有很多,同樣的一張表的數(shù)據(jù)對(duì)于用戶來(lái)說(shuō),無(wú)論什 么樣的儲(chǔ)備引擎,用戶看到的數(shù)據(jù)是一樣的,對(duì)于服務(wù)器來(lái)說(shuō)是 不同的; 數(shù)據(jù)庫(kù)對(duì)同樣的數(shù)據(jù),有不同的儲(chǔ)備方式和治理方式,在 mysql中,稱為儲(chǔ)備引擎; 常用的表的引擎有 myisam 和 innodbMyisam:批量插入速度快,不
19、支持事務(wù),鎖表 innoDB:批量插入速度相對(duì)較慢,支持事務(wù),鎖行; 全文索引,目前 都已經(jīng)支持; 爭(zhēng)辯 innoDB 支持事務(wù), myisam 不支持事務(wù); 第 65 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 事務(wù): 事務(wù)的 acid 特性 通俗的說(shuō),一組操作要么都成功執(zhí)行,要么都不執(zhí)行; 原子性 ( atomicity) 在全部操作都沒(méi)有執(zhí)行完畢之前,其他會(huì)話不能夠看到中間轉(zhuǎn)變 的過(guò)程; 隔離性( isolation) 事務(wù)發(fā)生之前和發(fā)生之后數(shù)據(jù)的總額照舊匹配; 一樣性 ( consistenc)事務(wù)產(chǎn)生的影響不能夠撤銷 長(zhǎng)期性( durability) 假如顯現(xiàn)了錯(cuò)誤,事務(wù)也不答應(yīng)撤銷,只能
20、夠 ”補(bǔ)償事務(wù) ” 原子性表達(dá)的是不行分割性,不行見(jiàn)性; 轉(zhuǎn)賬 李三 支出 500,李三 -500趙四 收到 500,趙四 +500關(guān)于事務(wù)的引擎:選用 innoDB/bdb查看 mysql 服務(wù)器的模式: Show variables likezmodez;第 66 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 語(yǔ)法: 開(kāi)啟事務(wù): SqlSqlCommit 提交 /rollback 回滾 留意:當(dāng)一個(gè)事務(wù) commit 或 者 roolback 之后,事務(wù)就已經(jīng)終 止; 只要事務(wù)沒(méi)有提交或回滾,事務(wù)處理都會(huì)看不見(jiàn) .事物的基本原理(明白) 第 67 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 第 68 頁(yè)
21、,共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 數(shù)據(jù)庫(kù)的備份和復(fù)原 第 69 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 Mysql 索引 設(shè)有 N 條隨機(jī)記錄,不用索引,平均查找 之后? Btree 索引, Log2N Hash 索引, 1索引與優(yōu)化之索引的好處與壞處 好處:加快了查詢速度 壞處 :降低了增刪改的速度 N/2 次,那么用了索引 增大了表的文件大?。ㄋ饕募踔量赡鼙葦?shù)據(jù)文件仍大) 大數(shù)據(jù)量導(dǎo)入時(shí),應(yīng)先去掉索引,再導(dǎo)入,最終統(tǒng)一加索引; 索引的使用原就: 不過(guò)度索引,索引條件列( where 后面最頻繁的條件比較適合索 引),索引散列值,過(guò)于集中的值不要索引;例如:給性別男女加 索引意義不大;
22、索引類型:一般索引,主鍵索引,唯獨(dú)索引,全文索引; 第 70 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 .frm 是結(jié)構(gòu)文件 .myd 是數(shù)據(jù)文件 .myi 是索引文件 索引文件比數(shù)據(jù)文件大是一種很常見(jiàn)的事情 1. 2.3.一般索引 index 僅僅是加快查詢速度 唯獨(dú)索引 unique index 行上的值不能重 復(fù) 主鍵索引 primary key 不能重復(fù),主鍵索引必唯獨(dú),但是唯 獨(dú) 索引不愿定是主鍵,一張表上只能有一個(gè)主鍵,但是可以用一 個(gè)或者多個(gè)索引; 4. 全文索引: fulltext index查看一張表上的全部索引: Show index from 表名 ;建立索引: 索引名和索引在哪個(gè)列上發(fā)揮作用 Alter table 表名 add index/unique/fulltext索引名 列名 ;第 71 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 第 72 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 第 73 頁(yè),共 80 頁(yè)學(xué)習(xí)好資料 歡迎下載 主鍵索引有一點(diǎn)區(qū)分: Alter table 表名 pr
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保設(shè)備定制采購(gòu)合同
- 電動(dòng)汽車電池回收合同
- 化工材料生產(chǎn)與銷售合同
- 交通基礎(chǔ)設(shè)施建設(shè) PPP 項(xiàng)目合同
- 音樂(lè)版權(quán)行業(yè)授權(quán)使用合同協(xié)議
- 工業(yè)設(shè)備維修服務(wù)合同
- 房地產(chǎn)項(xiàng)目合同簽訂審批流程解析
- 跨境電商物流配送合作合同
- 人工智能技術(shù)開(kāi)發(fā)合同
- 珠寶首飾定制特殊免責(zé)約定合同
- 工程建設(shè)行業(yè)標(biāo)準(zhǔn)內(nèi)置保溫現(xiàn)澆混凝土復(fù)合剪力墻技術(shù)規(guī)程
- 北師大版物理九年級(jí)全一冊(cè)課件
- 2024年第三師圖木舒克市市場(chǎng)監(jiān)督管理局招錄2人《行政職業(yè)能力測(cè)驗(yàn)》高頻考點(diǎn)、難點(diǎn)(含詳細(xì)答案)
- RFJ 006-2021 RFP型人防過(guò)濾吸收器制造與驗(yàn)收規(guī)范(暫行)
- 盆腔炎教學(xué)查房課件
- 屋面細(xì)石混凝土保護(hù)層施工方案及方法
- 新概念英語(yǔ)課件NCE3-lesson15(共34張)
- GB/T 3683-2023橡膠軟管及軟管組合件油基或水基流體適用的鋼絲編織增強(qiáng)液壓型規(guī)范
- 電視劇《瑯琊榜》特色分析
- 5A+Chapter+1+Changes+at+home+課件(新思維小學(xué)英語(yǔ))
- 安徽省2023年中考數(shù)學(xué)試卷(附答案)
評(píng)論
0/150
提交評(píng)論