<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 子查詢: 把查詢結果作為值來使用 var1=select max(days) from teacher class; select name gender from teacher class where days=var1; ### 子查詢的位置: **where型** **from型** **exists型** ### 子查詢返回值: **一個值(標量)** 獲得一個值后,使用關系運算符連接 < , = ,> ,<= , >=,!= **一列(列子查詢) in,not in,any(任何一個),all(所有)** =any(集合)=in (等于集合中的任何一個) !=all(集合)=not in 不等于集合中的所有元素 同一個字段的值的集合 用 in 判斷是否在這個范圍內 //先查詢出姓名,然后用姓名查詢他的個人信息 select * from teacher where t_name in (select t_name from class where cname='php0228'); **一行多列(行子查詢)** 構建出一行, 運算符 =,子查詢只能返回一行 ![](https://box.kancloud.cn/b10e1213f28c89ba6a4a46170184057b_1039x79.png) **表(多行多列)** 通常在from里面 select * from(table) where ..... from 里面必須是一個表,不能是一個結果,所以必須給表起**別名** select * from (select t_name,c_name from teacher_class where days>15) as temp where t_anme like '李%'; ## exists子查詢 是否存在 如果子查詢可以返回數據則為真,否則為假 ![](https://box.kancloud.cn/eca5be2ef06e2e58370e985432ef9141_876x98.png) ![](https://box.kancloud.cn/953e9656ceef817724e2f7d7d56a777d_867x83.png) ## 連接查詢 將所有數據,按照某種條件,連接起來,再進行篩選處理 連接分類:——根據連接條件不同 ### **內連接**:inner 要求:連接的多個數據都必須存在,才能進行內連接 inner join 默認可以省略inner `tableleft inner join tableright on 連接條件` 分類: 內連接在連接時候,是可以省略連接條件的。所有的左表數據都要與右表的記錄做一次連接。m*n個記錄, 成為**交叉連接**,或笛卡爾積。(做色子投遞游戲) 此時可以使用 cross join 代替 inner join的無條件格式 有條件的內連接,可以過濾非法連接。 條件分類: **過濾條件**:** where** 是在m*n條記錄里面過濾 **連接條件**:** on ** 和where結果一樣,但邏輯不一樣,on的意思是連接的時候過濾掉無效連接。 on 查詢的數據量比較少。 ** using** using 要求負責連接的2個實體之間的字段名稱一致 select * from tb1 join tb2 using id; 2個表的信息放到一個結果里面 ![](https://box.kancloud.cn/98f492e5ba45224e2c7a5828a02598c0_1088x183.png) ### **外連接**:outer 負責連接的一個或多個數據不存在,(有這個老師,但是沒有帶過課,即個別數據不存在) 外連接,不能使用where 連接的時候最好都加上表名指定字段,**表別名**——保證簡潔和清晰 **列別名**:select t.id as tid,tc.id as tcid from ............ select * from student as s join select * from teacher as t where s.name and t.days>15; ![](https://box.kancloud.cn/d4b821331526f976835b71383aceeffb_1076x138.png) ***左外連接:*** left join 生成的結果中左邊是最重要的 ***右外連接:*** right join 不能使用沒有條件的外連接。 ### **自然連接**: 通過mysql自己的判斷完成的連接,不需要條件 select * from one nature join two; 自動以某一個相同字段作為連接條件 自然內連接: nature join 自然外連接: nature left join natrue right join ## select * into outfile 導出結果,純數據備份,不包括任何格式 select 用法,查詢結果保存到文件里面 select * into outfile "d:/one" from employee; 生成的文件格式: 默認采用行區分記錄,用制表符區分字段 為了滿足特殊需求,這個是可以改的。 字段選項:fields terminated by '\t' enclosed by '' escaped by '\\' 行選項:lines terminated by '\n' starting by '' enclosed 字段的值包裹符號 starting 以什么開始 select * into outfile "d:/one" fields terminated by ',' lines terminated by '\n' starting by '' from employee; ## 增加數據 insert into 表名(字段列表) values (值列表) 插入部分字段數據,沒有插入的字段使用默認值,default 或者null 多個記錄可以用括號分開。 insert into tb1(id,username) values (1,ssssss),(2,aaa),(3,sfdfdf); **在主鍵沖突時采用更新操作** ~~~ insert into tb1(id,username) values (1,楊露禪) on duplicate key update username="楊露禪"; ~~~ 插入部分字段可以使用**set** `insert into teacher set name="張三豐",sex="男";` 插入的語句可以使用select 查詢到的數據 **insert into ....select.........** `insert into teacher (tname,cname) select (tname,cname) from teacher;` 插入默認值 **default** insert into teacher values (10,'yyy',default); insert into teacher values (10,'yyy',default(字段名)); **插入數據replace** 把insert 換成replace 主鍵不沖突就插入,主鍵沖突就替換 replace into .................. ![](https://box.kancloud.cn/b59d4b5911cea3277e9f9b0124cfcb05_364x156.png) ## 數據導入 load data infile 'e:/one' into table teacher; ## 刪除數據 允許使用條件,及limit 6 一次性只能刪除6條 常見:order by limit配合使用 delete from teacher order by name limit 7 ### 刪除多個表記錄 delete from tb1 ,tb2 using tb1 join tb2 on .....=....... **truncate** 刪除表,再新建一個同樣的表名,即初始化 ### 更新數據 ![](https://box.kancloud.cn/49b86a06ec69d498b071954fcbbfa5cc_334x92.png) 多表更新 ![](https://box.kancloud.cn/59c33de840c4f5bbb2e9bda065080e8d_1073x144.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看