偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Mysql表別名的用法

數(shù)據(jù)庫 MySQL
Mysql表別名可以代替嵌套查詢,那么,該方法是如何實現(xiàn)的呢?下面就為您詳細介紹Mysql表別名的用法,希望對您能有所幫助。

使用Mysql表別名可以解決嵌套查詢的問題,下面對Mysql表別名的使用作了詳細的闡述分析,如果您對此方面感興趣的話,不妨一看。

用MySQL很久了,一直被MySQL中沒有嵌套查詢所困擾,雖然 MySQL 4.1 中支持這個特性,但是我的PHP 的程序都使用的 MySQL 函數(shù)庫,而不是MySQLi 函數(shù)庫,所以 4.1 的特性用不上。

以前遇到需要嵌套查詢的地方,一般轉(zhuǎn)化為兩個表的連接查詢來解決。可是最近做的一個程序里面,發(fā)現(xiàn)需要嵌套查詢的地方是對同一個表進行的兩次查詢,所以沒法直接轉(zhuǎn)化為兩個表的連接查詢。要轉(zhuǎn)化為用 PHP 代替 MySQL 做這種事實在是太麻煩了(以前就干過這種傻事),于是一直想找個簡單的替代法。也許是靈感突發(fā),也許是最近天天再翻 MySQL 手冊對 MySQL 的查詢有了更深入的理解,今天忽然想到可以用Mysql表別名來解決這個問題。

以前一直以為Mysql表別名只是為了能夠讓 SQL 語句能夠簡短一些,沒有其他用處,今天經(jīng)過實驗才發(fā)現(xiàn),原來給表起不同的別名可以讓一個表當多個表用。舉個我程序中的例子來說明一下:

我的程序中有一個分類表,為了實現(xiàn)無限多級分類,我在分類表中有一個 parent_id 字段,這個字段保存的是這條記錄所代表的分類的父分類 id 號,如果這個字段為 null,則表示***分類。現(xiàn)在我需要刪除一個分類,這個分類可能有子分類,因此,刪除這個分類以后,它的子分類的 parent_id 號就需要改變一下,而不能繼續(xù)指向這個不存在的分類,因此我希望刪除這個分類以后,它的子分類的父分類變?yōu)樗母阜诸?。遇到這種情況,以前我就不知道該怎么辦好,現(xiàn)在好了,用下面的語句就可以了:

  1. lock tables `categories` write, `categories` as `c1` write,   `categories` as `c2` write;   
  2.  
  3. update `categories` as `c1`, `categories` as `c2` set `c1`.`parent_id` = `c2`.`parent_id` where `c1`.`parent_id` = `c2`.`cat_id` and `c2`.`cat_id` = $cat_id;   
  4.  
  5. delete from `categories` where `cat_id` = $cat_id;   
  6.  
  7. unlock tables;  
  8.  

這里需要注意的一點是,鎖定表的時候,一定要把要操作的表和Mysql表別名都鎖定,否則下面的語句會出錯.
 

 

 

 

【編輯推薦】

帶您深入了解Mysql外部鎖定

Mysql Merge表的優(yōu)點

隨機獲取Mysql數(shù)據(jù)的方法

根據(jù)Mysql表備份

Mysql清空表的實現(xiàn)方法

責任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關推薦

2010-11-23 11:16:35

MySQL表別名

2010-11-22 15:19:28

Mysql臨時表

2010-11-23 16:29:33

MySQL鏈接表

2010-09-27 10:04:30

Sql Update語

2011-03-16 09:42:27

Oracle臨時表

2010-04-30 15:45:56

Oracle臨時表

2009-08-20 17:17:02

C#哈希表

2010-05-18 19:03:21

linux MySQL

2010-11-26 14:39:35

MySQL用戶變量

2010-07-16 13:10:36

Perl哈希表

2010-05-07 14:26:55

Oracle臨時表

2010-05-31 11:13:00

MySQL Date函

2010-06-01 15:09:55

MySQL 存儲過程

2010-05-27 14:47:14

MySQL INSER

2010-05-31 14:16:01

MySQL數(shù)學函數(shù)

2010-11-24 17:36:02

MySQL條件查詢語句

2010-05-25 15:24:38

MySQL updat

2010-04-29 13:53:42

Oracle臨時表

2010-01-27 13:37:05

Oracle臨時表

2019-05-31 08:00:41

Linuxshell命令別名
點贊
收藏

51CTO技術棧公眾號