mysql中能有 MySql中特有的語法

2021-10-17 19:58:50 字數 1856 閱讀 4382

limit

select*fromtablelimit[offset,]rows|rows offset offset

on duplicate key update

insert [low_priority | delayed | high_priority] [ignore][into] tbl_nameset col_name=, ...[ on duplicate key update col_name=expr, ... ]

handler

handler tbl_name open [ as alias ]

handler tbl_name read index_name (value1,value2,...)

dodo expr [, expr] ...

do用於執行表示式,但是不返回任何結果。do是selectexpr的簡化表達方式。do有乙個優勢,就是如果您不太關心結果的話,do的速度稍快。

do主要用於執行有***的函式,比如release_lock()。

join

mysql中cross join等同於inner join,多個錶用逗號分隔,在無聯合條件下與inner join是語義相同的。

可以使用straight_join強制左表在右表之前被讀取。straigh_join可以被用於這樣的情況,即聯合優化符以錯誤的順序排列表。

mysql擴充套件了sql標準語法,可以使用下面的方式連線:

select * from t1 left join (t2, t3, t4)on (t2.a=t1.a and t3.b=t1.b and t4.c=t1.c)

相當於:

select * from t1 left join (t2 inner join t3 inner join t4)on (t2.a=t1.a and t3.b=t1.b and t4.c=t1.c);

可以使用using(column_list)子句為一系列的列進行命名。這些列必須同時在兩個表中存在。如果表a和表b都包含列c1, c2和c3,則以下聯合會對比來自兩個表的對應的列:

a left join b using (c1,c2,c3) 《=》 a left join b on a.c1= b.c1 and a.c2=b.c2 and a.c3=b.c3

delete

可以使用delete quick再加上optimize table加快刪除速度;

可以使用limit來限制每次刪除的記錄數,確保乙個delete語句不會占用過多的時間,但從多個表刪除時不能使用limit和order by;

可以一次從多個表中刪除記錄(可以利用多個表查詢):

delete t1, t2 from t1, t2, t3 where t1.id=t2.id and t2.id=t3.id;

或:delete from t1, t2 using t1, t2, t3 where t1.id=t2.id and t2.id=t3.id;

當搜尋待刪除的行時,這些語句使用所有三個表,但是只從表t1和表t2中刪除對應的行。

union

select ...union [all | distinct]select ...[union [all | distinct]select ...]

預設情況下union代表union distinct。

multiple-tableupdate

update [low_priority] [ignore] table_referencesset col_name1=expr1 [, col_name2=expr2 ...][where where_definition]

例子:update items,month set items.price=month.pricewhere items.id=month.id;

php中mysql函式 php中mysql有關函式

1.mysql query 一般是用來查詢資料裡面的資料。如 username post name sql select from members where login name username result mysql query sql 以上程式是檢測資料庫中是否存在表單傳送過來的使用者名稱...

mysql中 變數 mysql中的變數

toc 變數 mysql本質是一種程式語言,需要很多變數來儲存資料。mysql中很多的屬性控制都是通過mysql中固有的變數來實現的。系統變數 系統內部定義的變數,系統變數針對所有使用者 mysql客戶端 有效。檢視系統所有變數 show variables like pattern mysql允許...

mysql中 變數 MYSQL中的變數 MySQL

bitscn.com 只記很基礎的知識,細節東西太麻煩了,而且我也用不到。變數分為使用者變數與系統變數。使用者變數 使用者變數與資料庫連線有關,在這個連線中宣告的變數,在連線斷開的時候,就會消失。在此連線中宣告的變數無法在另一連線中使用。使用者變數的變數名的形式為 varname的形式。名字必須以 ...