Mysql存儲(chǔ)過(guò)程中沒(méi)有打印語(yǔ)句,可以用select 來(lái)代替,比如:
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),巧家企業(yè)網(wǎng)站建設(shè),巧家品牌網(wǎng)站建設(shè),網(wǎng)站定制,巧家網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,巧家網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
select @var;
select【si'lekt】,中文意思為選擇、挑選。這是一條計(jì)算機(jī)SQL數(shù)據(jù)庫(kù)中常用的函數(shù),select語(yǔ)句是最常用的數(shù)據(jù)查詢語(yǔ)句。
如果給出了 LIMIT 或者 OFFSET 子句,那么 SELECT 語(yǔ)句只返回結(jié)果行的一個(gè)子集。
如果聲明了 FOR UPDATE 或者 FOR SHARE 子句, SELECT 語(yǔ)句對(duì)并發(fā)的更新鎖住選定的行。
你必須有 SELECT 權(quán)限用來(lái)從表中讀取數(shù)值。 使用 FOR UPDATE FOR SHARE 還要求 UPDATE 權(quán)限。
TABLE 語(yǔ)句
具體語(yǔ)法:TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]
其實(shí)從語(yǔ)法上看,可以排序,也可以過(guò)濾記錄集,不過(guò)比較簡(jiǎn)單,沒(méi)有 SELECT 那么強(qiáng)大。
示例 1
簡(jiǎn)單的建一張很小的表 y1,記錄數(shù)為 10 條。表 t1,插入 10 條記錄
mysql-(ytt/3305)-create table t1 (r1 int,r2 int);
Query OK, 0 rows affected (0.02 sec)
mysql-(ytt/3305)-insert into t1
with recursive aa(a,b) as (
select 1,1
union all
select a+1,ceil(rand()*20) from aa where a 10
) select * from aa;
Query OK, 10 rows affected (0.00 sec)
Records: 10 ?Duplicates: 0 ?Warnings: 0
簡(jiǎn)單全表掃描mysql-(ytt/3305)-select * from t1;+------+------+| r1 ? | r2 ? |+------+------+| ? ?1 | ? ?1 || ? ?2 | ? ?9 || ? ?3 | ? ?9 || ? ?4 | ? 17 || ? ?5 | ? 17 || ? ?6 | ? 16 || ? ?7 | ? ?6 || ? ?8 | ? ?1 || ? ?9 | ? 10 || ? 10 | ? ?3 |+------+------+10 rows in set (0.00 sec)
TABLE 結(jié)果mysql-(ytt/3305)-table t1;+------+------+| r1 ? | r2 ? |+------+------+| ? ?1 | ? ?1 || ? ?2 | ? ?9 || ? ?3 | ? ?9 || ? ?4 | ? 17 || ? ?5 | ? 17 || ? ?6 | ? 16 || ? ?7 | ? ?6 || ? ?8 | ? ?1 || ? ?9 | ? 10 || ? 10 | ? ?3 |+------+------+10 rows in set (0.00 sec)
看下 table 的執(zhí)行計(jì)劃mysql-(ytt/3305)-explain table t1 order by r1 limit 2\G*************************** 1. row *************************** ? ? ? ? ? id: 1 ?select_type: SIMPLE ? ? ? ?table: t1 ? partitions: NULL ? ? ? ? type: ALLpossible_keys: NULL ? ? ? ? ?key: NULL ? ? ?key_len: NULL ? ? ? ? ?ref: NULL ? ? ? ? rows: 10 ? ? filtered: 100.00 ? ? ? ?Extra: Using filesort1 row in set, 1 warning (0.00 sec)
其實(shí)可以看到 TABLE 內(nèi)部被 MySQL 轉(zhuǎn)換為 SELECT 了。mysql-(ytt/3305)-show warnings\G*************************** 1. row *************************** ?Level: Note ? Code: 1003Message: /* select#1 */ select `ytt`.`t1`.`r1` AS `r1`,`ytt`.`t1`.`r2` AS `r2` from `ytt`.`t1` order by `ytt`.`t1`.`r1` limit 21 row in set (0.00 sec)
那其實(shí)從上面簡(jiǎn)單的例子可以看到 TABLE 在內(nèi)部被轉(zhuǎn)成了普通的 SELECT 來(lái)處理。示例 2應(yīng)用于子查詢里的子表。這里要注意,內(nèi)表的字段數(shù)量必須和外表過(guò)濾的字段數(shù)量一致。克隆表 t1 結(jié)構(gòu)mysql-(ytt/3305)-create table t2 like t1;Query OK, 0 rows affected (0.02 sec)
克隆表 t1 數(shù)據(jù)mysql-(ytt/3305)-insert into t2 table t1;Query OK, 10 rows affected (0.00 sec)Records: 10 ?Duplicates: 0 ?Warnings: 0
table t1 被當(dāng)做內(nèi)表,表 t1 有兩個(gè)字段,必須同時(shí)滿足 t2 檢索時(shí)過(guò)濾的字段也是兩個(gè)。mysql-(ytt/3305)-select * from t2 where (r1,r2) in (table t1);+------+------+| r1 ? | r2 ? |+------+------+| ? ?1 | ? ?1 || ? ?2 | ? ?9 || ? ?3 | ? ?9 || ? ?4 | ? 17 || ? ?5 | ? 17 || ? ?6 | ? 16 || ? ?7 | ? ?6 || ? ?8 | ? ?1 || ? ?9 | ? 10 || ? 10 | ? ?3 |+------+------+10 rows in set (0.00 sec)
注意:這里如果過(guò)濾的字段數(shù)量和子表數(shù)量不一致,則會(huì)報(bào)錯(cuò)。
開啟mysql的常規(guī)查詢?nèi)罩?所謂的常規(guī)查詢?nèi)罩?,就是客戶端操作的所有日志,包括select delete insert update等等所有的sql語(yǔ)句 開啟的辦法很簡(jiǎn)單: 1. 在etc/mysql/my.cnf中,加入 【注:如果 /var/log/mysql 這個(gè)目錄對(duì)于mysql用戶可寫,那么重啟mysql的時(shí)候會(huì)自動(dòng)生成access.log這個(gè)文件。如果該目錄對(duì)于mysql不可寫,那么手工創(chuàng)建這個(gè)目錄,并加入mysql用戶的寫權(quán)限?!?/p>
1、只能用 SELECT.就像下面這個(gè) Hello World 一樣,mysql DELIMITER //,mysql CREATE PROCEDURE HelloWorld,?BEGIN,SELECT 'Hello World',END/,Query OK, 0 rows affected (0.00 sec),mysql call HelloWorld,Hello World ,row in set 0.00 sec,Query OK, 0 rows affected只有SELECT了。
2、mysql沒(méi)有sqlserver里面控制臺(tái)的概念,因?yàn)閙ysql全部都是控制臺(tái)