標籤:進階 排序 欄位 limit 選擇 產生 單表 多表 失敗
MySQL中資料的進階操作 (五子句)資料操作:增刪改查新增資料文法:insert into 表名 [(欄位列表)] values (值列表);主鍵衝突當主鍵存在衝突(Duplicate key)的時候,可以進行選擇性處理:更新和替換。更新操作insert into 表名 [(欄位列表:包含主鍵)] values(值列表) on duplicate key update 欄位 = 新值;替換操作replace into 表名 [(欄位列表:包含主鍵)] values(值列表) ; 蠕蟲複製特點:從已有的資料中去擷取資料,然後將資料又進行新增操作分裂式增長,資料成倍增加。 表建立的進階操作:從已有表建立新表(複製表結構)Create table 表名 like 資料庫.表名; 蠕蟲複製:先查出資料,然後將查出的資料新增一遍insert into 表名[(欄位列表)] select 欄位列表/* from 資料庫表名;可以複製自己的表也可以複製另外的表。注意:複製的時候不要複製主鍵,防止主鍵衝突。 意義:1,從已有的表中拷貝資料到新表中;2,可以迅速的讓表中的資料膨脹到一定的數量級,可以測試表的壓力和效.更新資料基本文法update 表名 set 欄位 = 值 [where條件] ;進階新增文法update 表名 set 欄位 = 值 [where條件] limit 數量;刪除資料進階基本文法delete from 表名 [where條件] limit 數量;刪除:如果表中存在主鍵自增長,那麼當刪除之後,自增長不會被還原。資料的刪除是不會改變表結構的,只能刪除表之後的重建表。 truncate table 表名; --先刪除表,後增加表;查詢資料基本文法select */欄位列表 from 表名[where條件];完整文法select [select選項] 欄位列表 [as] [欄位別名] /* from 資料來源 [where條件] [group by子句] [hanving 子句] [order by 子句] [limit 子句];select 選項:All:預設的,保留所有的結果;Distinct:去重,查出來的結果,將重複的去除(所有欄位相同)欄位別名:當資料進行查詢的時候,有時候名字並不一定滿足需求(對錶查詢的時候可能會出現同名欄位),需要對欄位名進行重新命名:別名。文法: 欄位名 as 別名;資料來源:資料的來源,關係型資料庫的資料的來來源資料表,本質上只要保證資料類似二維表,最終都可以作為資料來源。資料來源分類:單表資料來源,多表資料來源,查詢語句(表子查詢:資料的來源是一條查詢語子)。where子句:用來判斷資料,篩選資料;where子句返回結果:0或1;0代表false;1代表true;判斷條件:運算子:>,<,>=,<=,!=,<>,=,like,between and ,in ,not in .邏輯運算子:&&(and) , ||(or) , !(not).where 原理:where是唯一一個直接從磁碟擷取資料的時候就開始判斷的條件,從磁碟取出一條記錄,開始進行條件判斷,判斷的結果如果成立就儲存到記憶體中,如果失敗就直接放棄.group by子句:group by :分組字句,根據某個欄位進行分組(相同的放一組,不同的分到不同的分組)基本文法:select * from 表名 group by 欄位名;having 子句:having子句 :與where子句一樣 進行條件的判斷.1. where是針對磁碟資料進行操作:進入記憶體之後,會進行分組操作,分組的結果就要用having子句來處理.having 幾句能做where能做的所有事情,但是where卻不能做having能做的很多事情分組統計的結果或者說函數統計的結果都之後having能夠使用.2. having 能夠使用欄位別名 ,where不能. 因為where是從磁碟取資料,別名只能是欄位名,別名是欄位進入到記憶體後才會產生的.order by 子句 :order by : 排序 根據某個欄位進行升序或者降序,依賴校對集使用基本文法:order by 欄位名 [asc | desc]; --asc 是升序(預設),desc是降序.排序可以進行多欄位排序:先根據某個欄位進行排序,然後排序好的內部,再按照某個欄位進行再次排序limit子句:limit子句是一種限制結果的語句 : 限制數量.limit有兩種使用方式:方案1. 只用來限制長度(資料量) :limit 資料量 ;方案2. 限制起始位置,限制數量: limit 起始位置 , 長度;-- limit Offset length;從指定的位置,找幾個出來. 記錄數從0開始.limit方案2 主要用來實現數的分頁:為使用者節省時間,提交伺服器的響應效率減資源的浪費Length : 每頁顯示的資料量,基本不變 .Offset :offset = ( 頁碼 - 1 ) * Length---要顯示的起始位置
( 6 )MySQL中資料的進階操作 (五子句)