mysql數(shù)據(jù)庫(kù)筆記

數(shù)據(jù)庫(kù)

  • SQL語(yǔ)句

    • DDL語(yǔ)句
      • 關(guān)鍵字——CREATE耍休、ALTER刃永、DROP、TRUNCATE等
      • 使用——DDL主要定義或改變表的結(jié)構(gòu)羊精,表之間的鏈接和約束等斯够,在建表實(shí)使用
    • DML語(yǔ)句
      • 關(guān)鍵字——SELECT、UPDATE喧锦、INSERT读规、DELETE
      • 使用——用來(lái)對(duì)數(shù)據(jù)庫(kù)里的數(shù)據(jù)進(jìn)行操作的語(yǔ)言
    • DCL語(yǔ)句
      • 關(guān)鍵字——GRANT、REVOKE等
      • 使用——用來(lái)設(shè)置或更改數(shù)據(jù)庫(kù)用戶或角色權(quán)限的語(yǔ)句
  • 范式

    • 作用——減少冗余
    • 第一范式——要滿足屬性不可拆分
    • 第二范式——消除非主屬性對(duì)主屬性的部分依賴
    • 第三范式——要求一個(gè)關(guān)系中不包含已在其它關(guān)系已包含的非主關(guān)鍵字信息
    • BCNF范式——在3NF基礎(chǔ)上消除對(duì)主碼子集的依賴
    • 反范式——沒(méi)有冗余的數(shù)據(jù)庫(kù)未必是最好的數(shù)據(jù)庫(kù)燃少,有時(shí)為了提高運(yùn)行效率和性能束亏,低范式標(biāo)準(zhǔn),適當(dāng)保留冗余數(shù)據(jù)
  • 主鍵外鍵

    • 主鍵——表的一個(gè)特殊字段阵具。該字段能惟一地標(biāo)識(shí)該表中的每條信息碍遍;可以沒(méi)有主鍵,有主鍵不能為空阳液;
    • 外鍵——特殊字段怕敬。字段sno是一個(gè)表A的屬性,且依賴于表B的主鍵帘皿;外鍵必須依賴于已存在表的主鍵东跪;可以為空值
  • 索引

    • 創(chuàng)建刪除索引
      • 創(chuàng)建索引——ALTER TABLE table_name ADD INDEX idx_1(code);
      • 刪除索引——DROP INDEX idx_1 ON table_name ;
    • 定義——索引由數(shù)據(jù)庫(kù)表中一列或多列組合而成,其作用是提高對(duì)表中數(shù)據(jù)的查詢速度鹰溜;
    • 缺點(diǎn)——索引不是萬(wàn)能的虽填!會(huì)使數(shù)據(jù)修改操作變慢,占用相當(dāng)大的空間奉狈,使用索引有限制
    • 優(yōu)點(diǎn)——索引可以加快數(shù)據(jù)檢索操作
    • mysql中主鍵(primary key)和唯一鍵(unique)區(qū)別
      • 主鍵索引——保證唯一性,不允許為空,一個(gè)表中至多一個(gè)
      • 唯一索引——保證唯一性,允許一個(gè)空值,可以有多個(gè)
    • mysql指定索引 from tables force 索引名
  • 事務(wù)

    • 概念:事務(wù)是應(yīng)用程序中一系列嚴(yán)密的操作卤唉,所有操作必須成功完成,否則在每個(gè)操作中所作的所有更改都會(huì)被撤消
    • 特性
      • 原子性:整個(gè)事務(wù)中的所有操作仁期,要么全部完成桑驱,要么全部不完成启盛,不可能停滯在中間某個(gè)環(huán)節(jié)届案。事務(wù)在執(zhí)行過(guò)程中發(fā)生錯(cuò)誤,會(huì)被回滾(Rollback)到事務(wù)開(kāi)始前的狀態(tài),就像這個(gè)事務(wù)從來(lái)沒(méi)有執(zhí)行過(guò)一樣
      • 一致性:在事務(wù)開(kāi)始之前和事務(wù)結(jié)束以后供璧,數(shù)據(jù)庫(kù)的完整性約束沒(méi)有被破壞
      • 隔離性:隔離狀態(tài)執(zhí)行事務(wù),使它們好像是系統(tǒng)在給定時(shí)間內(nèi)執(zhí)行的唯一操作敢辩。
      • 持久性:在事務(wù)完成以后尿背,該事務(wù)所對(duì)數(shù)據(jù)庫(kù)所作的更改便持久的保存在數(shù)據(jù)庫(kù)之中,并不會(huì)被回滾
  • mysql

    • 常用語(yǔ)句

      • 數(shù)據(jù)導(dǎo)出
        • sql導(dǎo)出:SELECT * FROM new_product INTO OUTFILE 'D:/Program Files (x86)/export_data/new_product.sql' fields terminated by '|' ;
      • 查看數(shù)據(jù)庫(kù)版本——select version() from dual;
      • mysql8.0之后支持row_numer——ROW_NUMBER() over(PARTITION by dynastyid ) rn
    • 啟動(dòng)關(guān)閉連接數(shù)據(jù)庫(kù)

      • 啟動(dòng) mysql 服務(wù):service mysqld start
      • 查看mysqld 狀態(tài):mysqld status
      • 關(guān)閉mysql服務(wù):service mysql stop
      • 重啟mysql服務(wù):service restart stop
      • 連接數(shù)據(jù)庫(kù):mysql -u root -p pwd
    • 函數(shù)

      • GROUP_CONCAT()函數(shù)——group by 的聚合函數(shù)橡伞,將group by產(chǎn)生的同一個(gè)分組中的值連接起來(lái)盒揉,返回一個(gè)字符串結(jié)果,可以指定分隔符
      • IF(expr,v1,v2)函數(shù)——if判斷類似3目運(yùn)算符兑徘,expr表達(dá)式正確返回v1,錯(cuò)誤返回v2
      • IFNULL(v1,v2)函數(shù)——空值轉(zhuǎn)換函數(shù)
    • DELETE與TRUNCATE的區(qū)別

      • DELETE是可以帶WHERE的刚盈,所以支持條件刪除;而TRUNCATE只能刪除整個(gè)表;
      • DELETE是DML挂脑,操作時(shí)原數(shù)據(jù)會(huì)被放到 rollback segment中藕漱,可以被回滾;而TRUNCATE是DDL崭闲,操作時(shí)不會(huì)進(jìn)行存儲(chǔ)肋联,不能進(jìn)行回滾;
      • 在數(shù)據(jù)量比較小的情況下,DELETE和TRUNCATE的清理速度差別不是很大刁俭。但是數(shù)據(jù)量很大的時(shí)候TRUNCATE優(yōu)勢(shì)大
    • 索引

      • MERGE:當(dāng)使用視圖時(shí)橄仍,會(huì)把查詢視圖的語(yǔ)句和創(chuàng)建視圖的語(yǔ)句合并起來(lái),形成一條語(yǔ)句薄翅,最后再?gòu)幕碇胁樵?
        • 視圖中存在
        • 匯總函數(shù)或窗口函數(shù)(SUM()沙兰、MIN()、MAX()翘魄、COUNT()等)
        • DISTINCT
        • GROUP BY
        • HAVING
        • LIMIT
        • UNION或UNION ALL等不會(huì)使用索引
      • TEMPTABLE:當(dāng)使用視圖時(shí)鼎天,會(huì)把創(chuàng)建視圖的語(yǔ)句的查詢結(jié)果當(dāng)成一張臨時(shí)表,再?gòu)呐R時(shí)表中進(jìn)行篩選
      • UNDEFINED:未定義暑竟,自動(dòng)斋射,讓系統(tǒng)幫你選
    • sql優(yōu)化

      • 索引優(yōu)化
        • 索引使用情況
          • 配置全值,對(duì)索引中索引列都指定具體值;
          • 配置值得范圍,對(duì)索引的值能夠進(jìn)行范圍查找;
          • 匹配最左前綴,僅僅使用索中的最左邊列進(jìn)行查找,如col1+col2+col3的聯(lián)合索引,能被包含col1、(col1+col2)但荤、(col1+col2+col3)的等值查詢利用到
          • 僅對(duì)索引查詢,當(dāng)查詢的列都在索引字段中時(shí),查詢效率更高;
        • 不能使用索引的情況
          • 以%開(kāi)頭的like查詢不能使用B-Tree索引
          • 數(shù)據(jù)類型出現(xiàn)隱式轉(zhuǎn)換時(shí)不能使用索引
          • 復(fù)合索引使用需滿足最左原則
          • 如果mysql估計(jì)使用索引比全表掃描慢,則不在使用索引
          • 用or分割開(kāi)的條件
      • sql語(yǔ)句優(yōu)化
        • 執(zhí)行計(jì)劃
          • 語(yǔ)句——EXPLAIN SELECT語(yǔ)句
          • id:選擇標(biāo)識(shí)符——id值越大優(yōu)先級(jí)越高罗岖,越先被執(zhí)行;id相同時(shí),執(zhí)行順序由上至下
          • select_type:表示查詢的類型
            • SIMPLE(簡(jiǎn)單SELECT腹躁,不使用UNION或子查詢等)
            • PRIMARY(子查詢中最外層查詢桑包,查詢中若包含任何復(fù)雜的子部分,最外層的select被標(biāo)記為PRIMARY)
            • UNION(UNION中的第二個(gè)或后面的SELECT語(yǔ)句)
            • DEPENDENT UNION(UNION中的第二個(gè)或后面的SELECT語(yǔ)句纺非,取決于外面的查詢)
            • UNION RESULT(UNION的結(jié)果哑了,union語(yǔ)句中第二個(gè)select開(kāi)始后面所有select)
            • SUBQUERY(子查詢中的第一個(gè)SELECT赘方,結(jié)果不依賴于外部查詢)
            • DEPENDENT SUBQUERY(子查詢中的第一個(gè)SELECT,依賴于外部查詢)
            • DERIVED(派生表的SELECT, FROM子句的子查詢)
            • UNCACHEABLE SUBQUERY(一個(gè)子查詢的結(jié)果不能被緩存弱左,必須重新評(píng)估外鏈接的第一行)
          • table:輸出結(jié)果集的表
          • partitions:匹配的分區(qū)
          • type:表示表的連接類型——ALL窄陡、index、range拆火、 ref跳夭、eq_ref、const们镜、system币叹、NULL(從左到右,性能從差到好)
          • possible_keys:表示查詢時(shí)模狭,可能使用的索引
          • key:表示實(shí)際使用的索引
          • key_len:索引字段的長(zhǎng)度——不損失精確性的情況下套硼,長(zhǎng)度越短越好
          • ref:列與索引的比較
          • rows:掃描出的行數(shù)——估算出結(jié)果集行數(shù),表示MySQL根據(jù)表統(tǒng)計(jì)信息及索引選用情況胞皱,估算讀取的行數(shù)
          • filtered:按表?xiàng)l件過(guò)濾的行百分比
          • Extra:執(zhí)行情況的描述和說(shuō)明
            • Range checked for each record (index map: 0x4) (匹配字段類型,編碼不相符等)
            • MySQL發(fā)現(xiàn)沒(méi)有使用好的索引九妈,但是發(fā)現(xiàn)在前面的表的列值已知之后反砌,可能會(huì)使用一些索引。 對(duì)于上表中的每一行組合萌朱,MySQL檢查是否可以使用range或index_merge訪問(wèn)方法來(lái)檢索行宴树。
            • https://www.cnblogs.com/MYSQLZOUQI/articles/3837828.html
            • converting HEAP to ondisk
            • 該線程正在將內(nèi)部臨時(shí)表從 MEMORY 表轉(zhuǎn)換為磁盤表
            • Using join buffer (Block Nested Loop),
            • Using join buffer (Batched Key Access)
              • Block Nested-Loop Join算法:將外層循環(huán)的行/結(jié)果集存入join buffer, 內(nèi)層循環(huán)的每一行與整個(gè)buffer中的記錄做比較,從而減少內(nèi)層循環(huán)的次數(shù)晶疼。優(yōu)化器管理參數(shù)optimizer_switch中中的block_nested_loop參數(shù)控制著B(niǎo)NL是否被用于優(yōu)化器酒贬。默認(rèn)條件下是開(kāi)啟,若果設(shè)置為off翠霍,優(yōu)化器在選擇 join方式的時(shí)候會(huì)選擇NLJ(Nested Loop Join)算法锭吨。
              • Batched Key Access原理:對(duì)于多表join語(yǔ)句,當(dāng)MySQL使用索引訪問(wèn)第二個(gè)join表的時(shí)候寒匙,使用一個(gè)join buffer來(lái)收集第一個(gè)操作對(duì)象生成的相關(guān)列值零如。BKA構(gòu)建好key后,批量傳給引擎層做索引查找锄弱。key是通過(guò)MRR接口提交給引擎的(mrr目的是較為順序)MRR使得查詢更有效率考蕾,要使用BKA,必須調(diào)整系統(tǒng)參數(shù)optimizer_switch的值会宪,batched_key_access設(shè)置為on肖卧,因?yàn)锽KA使用了MRR,因此也要打開(kāi)MRR (參考http://www.cnblogs.com/chenpingzhao/p/6720531.html)
    • 表優(yōu)化

      • 分析表 ANALYZE
      • 檢查表 check
      • 優(yōu)化表 OPTIMIZE——通過(guò)可以消除刪除和更新造成的磁盤碎片掸鹅,從而減少空間的浪費(fèi) 只讀鎖
    • 查看和中止sql

      • 查看正在運(yùn)行的sql select * from information_schema.PROCESSLIST where info is not null;
      • 中止正在運(yùn)行的sql kill process_id;
    • 慢查詢?nèi)罩?/h3>
      • 查詢是否開(kāi)啟慢查詢?nèi)罩?slow_query_log)——語(yǔ)句:show variables like "%slow%;
      • 開(kāi)啟慢查詢?nèi)罩尽Z(yǔ)句:set global slow_query_log = on
      • 查詢慢查詢閾值(long_query_time)——語(yǔ)句:show variables like "%long%;
      • 修改慢查詢閾值——語(yǔ)句:set global long_query_time = 5

    • 存儲(chǔ)引擎

      • 查看存儲(chǔ)引擎
        • 查看所有支持的 engine:show engines;
        • 查看當(dāng)前庫(kù)的 engine:show variables like '%engine%;
      • innodb
        • 最常用塞帐,支持事務(wù)拦赠、回滾、自增壁榕、外鍵
        • 表結(jié)構(gòu)存在.frm 文件中
        • 數(shù)據(jù)和索引存在表空間中矛紫,聚集索引方式方式
        • 讀寫效率稍差,占用空間大
      • myisam
        • 表結(jié)構(gòu)存在.frm 文件中
        • .myd 存儲(chǔ)數(shù)據(jù), .myi 存儲(chǔ)索引牌里,采用非聚集索引方式
        • 快速颊咬,占空間小,不支持事務(wù)和并發(fā)
      • mysql索引底層數(shù)據(jù)結(jié)構(gòu)采用B+樹(shù)
        • hash很快牡辽,但每次IO只能取一個(gè)數(shù)
        • AVL和紅黑樹(shù)喳篇,在大量數(shù)據(jù)的情況下,IO操作還是太多
        • B樹(shù)每個(gè)節(jié)點(diǎn)內(nèi)存儲(chǔ)的是數(shù)據(jù)态辛,因此每個(gè)節(jié)點(diǎn)存儲(chǔ)的分支太少
        • B+節(jié)點(diǎn)存儲(chǔ)的是索引+指針(引用指向下一個(gè)節(jié)點(diǎn))麸澜,可以存儲(chǔ)大量索引,同時(shí)最終數(shù)據(jù)存儲(chǔ)在葉子節(jié)點(diǎn)奏黑,并且有引用橫向鏈接炊邦,可以在2-3次的IO操作內(nèi)完成千萬(wàn)級(jí)別的表操作。
        • 建議索引是是自增長(zhǎng)數(shù)字熟史,這樣適合范圍查找
      • mysql回表
        • 主鍵索引——InnoDB 是聚集索引方式馁害,因此數(shù)據(jù)和索引都存儲(chǔ)在同一個(gè)文件里。首先 InnoDB 會(huì)根據(jù)主鍵 ID 作為 KEY 建立索引 B+樹(shù)蹂匹,B+樹(shù)的葉子節(jié)點(diǎn)存儲(chǔ)的是主鍵 ID 對(duì)應(yīng)的數(shù)據(jù)
        • 非主鍵索引——葉子節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)的是主鍵 KEY碘菜。拿到主鍵 KEY 后,InnoDB 才會(huì)去主鍵索引樹(shù)里根據(jù)剛在 非主鍵索引樹(shù)找到的主鍵 KEY 查找到對(duì)應(yīng)的數(shù)據(jù)限寞。
    • 分表分區(qū)

      • 分區(qū)
        • 概念:是把一個(gè)數(shù)據(jù)表的文件和索引分散存儲(chǔ)在不同的物理文件中
        • 分區(qū)類型
          • RANGE分區(qū):基于屬于一個(gè)給定連續(xù)區(qū)間的列值忍啸,把多行分配給分區(qū)
          • LIST分區(qū):類似于按RANGE分區(qū),區(qū)別在于LIST分區(qū)是基于列值匹配一個(gè)離散值集合中的某個(gè)值來(lái)進(jìn)行選擇
          • HASH分區(qū):基于用戶定義的表達(dá)式的返回值來(lái)進(jìn)行選擇的分區(qū)履植,該表達(dá)式使用將要插入到表中的這些行的列值進(jìn)行計(jì)算计雌。這個(gè)函數(shù)可以包含MySQL 中有效的、產(chǎn)生非負(fù)整數(shù)值的任何表達(dá)式静尼。
          • KEY分區(qū):類似于按HASH分區(qū)白粉,區(qū)別在于KEY分區(qū)只支持計(jì)算一列或多列,且MySQL服務(wù)器提供其自身的哈希函數(shù)鼠渺。必須有一列或多列包含整數(shù)值鸭巴。
      • 原理:mysql通過(guò)分區(qū)把數(shù)據(jù)保存到不同的文件里,同時(shí)索引也是分區(qū)的拦盹。相對(duì)于未分區(qū)的表來(lái)說(shuō)鹃祖,分區(qū)后單獨(dú)的數(shù)據(jù)庫(kù)文件索引文件的大小都明顯降低,效率則明顯的提示了普舆。
      • 分區(qū)的限制
        • 主鍵或者唯一索引必須包含分區(qū)字段恬口,如primary key (id,username),不過(guò)innoDB的大組建性能不好
        • 很多時(shí)候校读,使用分區(qū)就不要在使用主鍵了,否則可能影響性能
        • 只能通過(guò)int類型的字段或者返回int類型的表達(dá)式來(lái)分區(qū)祖能,通常使用year或者to_days等函數(shù)(mysql 5.6 對(duì)限制開(kāi)始放開(kāi)了)
        • 每個(gè)表最多1024個(gè)分區(qū)歉秫,而且多分區(qū)會(huì)大量消耗內(nèi)存
        • 分區(qū)的表不支持外鍵,相關(guān)的邏輯約束需要使用程序來(lái)實(shí)現(xiàn)
        • 分區(qū)后养铸,可能會(huì)造成索引失效雁芙,需要驗(yàn)證分區(qū)可行性
      • 分表
        • 概念:分表和分區(qū)類似,區(qū)別是钞螟,分區(qū)是把一個(gè)邏輯表文件分成幾個(gè)物理文件后進(jìn)行存儲(chǔ)兔甘,而分表則是把原先的一個(gè)表分成幾個(gè)表。進(jìn)行分表查詢時(shí)可以通過(guò)union或者視圖鳞滨。
        • 分表規(guī)則
          • 水平分割
            • 水平分分割最為常用洞焙。水平分割通常是指切分到另外一個(gè)數(shù)據(jù)庫(kù)或表中。
        • 垂直分割
          • 把常用拯啦、不常用的字段分開(kāi)放
          • 把大字段獨(dú)立存放在一個(gè)表中

思維導(dǎo)圖:https://www.processon.com/view/link/607a41256376891132d9c9ec

密碼:4URW

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末澡匪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子褒链,更是在濱河造成了極大的恐慌仙蛉,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碱蒙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡夯巷,警方通過(guò)查閱死者的電腦和手機(jī)赛惩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)趁餐,“玉大人喷兼,你說(shuō)我怎么就攤上這事『罄祝” “怎么了季惯?”我有些...
    開(kāi)封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)臀突。 經(jīng)常有香客問(wèn)我勉抓,道長(zhǎng),這世上最難降的妖魔是什么候学? 我笑而不...
    開(kāi)封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任藕筋,我火速辦了婚禮,結(jié)果婚禮上梳码,老公的妹妹穿的比我還像新娘隐圾。我一直安慰自己伍掀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布暇藏。 她就那樣靜靜地躺著蜜笤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盐碱。 梳的紋絲不亂的頭發(fā)上把兔,一...
    開(kāi)封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音甸各,去河邊找鬼垛贤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛趣倾,可吹牛的內(nèi)容都是我干的聘惦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼儒恋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼善绎!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起诫尽,我...
    開(kāi)封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤禀酱,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后牧嫉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體剂跟,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年酣藻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了曹洽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辽剧,死狀恐怖送淆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情怕轿,我是刑警寧澤偷崩,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站撞羽,受9級(jí)特大地震影響阐斜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜诀紊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一智听、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦到推、人聲如沸考赛。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)颜骤。三九已至,卻和暖如春捣卤,著一層夾襖步出監(jiān)牢的瞬間忍抽,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工董朝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鸠项,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓子姜,卻偏偏與公主長(zhǎng)得像祟绊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子哥捕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345