在我第N次忘記如何查看表結(jié)構(gòu)后,在網(wǎng)上查了一下后,看到有好幾種查看表結(jié)構(gòu)的方式,總結(jié)一下。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的東寧網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
以student(sid,sname,birthday,sex)的查看為例。
【方式一】:desc student;
語(yǔ)法:desc 表名;---------------------用于查看表整體結(jié)構(gòu)
【方式二】:describe student;
語(yǔ)法:describe 表名;---------------------用于查看表整體結(jié)構(gòu);
【方式三】:show columns from student;
語(yǔ)法:show columns from 表名;--------------------------用于查看表整體結(jié)構(gòu);
【方式四】:show create table student;
語(yǔ)法:show create table 表名;--------------------------用于查看表整體結(jié)構(gòu);
【方式五】:show full fields from student;
語(yǔ)法:show full fields from 表名;--------------------------------- 用于查看表整體結(jié)構(gòu);
【方式六】:show fields from student;
語(yǔ)法:show fields from 表名;----------------------------用于查看表整體結(jié)構(gòu);
【方式七】:desc student sname;
語(yǔ)法:desc 表名 成員名;--------------------------------用于查詢(xún)表中的一部分;
【方式八】:show index from student;
語(yǔ)法:show index from 表名;------------------------------------用于查看表局部結(jié)構(gòu);這種顯示不是很直觀,也不是可以完全顯示所有信息。
1 mysql 的存儲(chǔ)過(guò)程里,沒(méi)有固定的輸出語(yǔ)句,要輸出內(nèi)容,使用 select .. 形式即可;
select var_a;
select column_a from tb_a limit 2;
2 存儲(chǔ)過(guò)程里,如果只是輸出內(nèi)容(不進(jìn)行捕獲),用上邊1中的select即可;如果調(diào)用存儲(chǔ)過(guò)程后對(duì)輸出的值進(jìn)行后續(xù)捕獲,則需使用 out 指定輸出參數(shù);
3 @var_a 表示這是個(gè)會(huì)話(huà)變量,在存儲(chǔ)過(guò)程里可以直接設(shè)置值而不用聲明,如
set @var_a = 10;
但并不推薦在存儲(chǔ)過(guò)程里使用會(huì)話(huà)變量(因?yàn)檫@種變量在同一個(gè)mysql連接是都是生效的,執(zhí)行完存儲(chǔ)后仍存在),推薦使用聲明式的臨時(shí)變量,即以下方式:
declare var_a int;
set var_a = 10;
4 示例
drop PROCEDURE p_a;
create PROCEDURE p_a(out aa int)
begin
declare bb int;
set bb = 10;
select bb;
select * from t_student limit 1;
select CURRENT_DATE();
set aa = bb;
end;
#調(diào)用
set @temp = 50;
call p_a(@temp);
select @temp; #@temp 為會(huì)話(huà)變量,由存儲(chǔ)過(guò)程返回重設(shè)值了。
希望能解決您的問(wèn)題。
1.第一招、mysql服務(wù)的啟動(dòng)和停止net stop mysqlnet start mysql。
2.第二招、登陸mysql語(yǔ)法如下: mysql -u用戶(hù)名 -p用戶(hù)密碼鍵入命令mysql -uroot -p, 回車(chē)后提示你輸入密碼,輸入12345,然后回車(chē)即可進(jìn)入到mysql中了。
3.第三招、增加新用戶(hù)格式:grant 權(quán)限 on 數(shù)據(jù)庫(kù).* to 用戶(hù)名@登錄主機(jī) identified by "密碼"如,增加一個(gè)用戶(hù)user1密碼為password1,讓其可以在本機(jī)上登錄, 并對(duì)所有數(shù)據(jù)庫(kù)有查詢(xún)。
4.第四招: 操作數(shù)據(jù)庫(kù)登錄到mysql中,然后在mysql的提示符。
合并思想. N個(gè)表 -- 1個(gè)表
連接的定義
將2個(gè)或2個(gè)以上的表通過(guò)一定的條件拼接起來(lái)形成一個(gè)虛表的過(guò)程。連接是from子句的一部分.
從2個(gè)表的連接開(kāi)始.
左表: 放置在你左手邊的表. left_tab
右表: 放置在你右手邊的表. right_tab
連接語(yǔ)法
三種基本類(lèi)型: 交叉連接,內(nèi)連接與外連接
交叉連接
返回的就是一個(gè)笛卡爾積.
交叉連接語(yǔ)法
內(nèi)連接
在交叉連接的基礎(chǔ)上,僅返回滿(mǎn)足連接條件的行.
連接條件
1.使用on關(guān)鍵字來(lái)指定.
2.on的用法與where類(lèi)似.
3.on可以使用連接的所有表中的列值進(jìn)行判斷
內(nèi)連接的語(yǔ)法
外連接
在內(nèi)連接的基礎(chǔ)上,返回一些額外的行.
左外連接(左連接)
在內(nèi)連接的基礎(chǔ)上,左表除了返回滿(mǎn)足連接條件的行之外,剩下的所有不滿(mǎn)足連接條件的行也要一并返回,右表中與之沒(méi)有匹配的行的列值設(shè)置為null
右外連接(右連接)
在內(nèi)連接的基礎(chǔ)上,右表除了返回滿(mǎn)足連接條件的行之外,剩下的所有不滿(mǎn)足連接條件的行也要一并返回,左表中與之沒(méi)有匹配的行的列值設(shè)置為null
外連接語(yǔ)法
語(yǔ)法:
表的別名
注意: 一旦給表設(shè)置了別名,則以后只能通過(guò)別名引用表中的列.別名會(huì)隱藏表名.
join嵌套
可以在一個(gè)join中嵌套另外一個(gè)join
一般來(lái)說(shuō),當(dāng)連接的表的個(gè)數(shù)N=3時(shí)需要使用嵌套join.
當(dāng)連接的表的個(gè)數(shù)為N時(shí),則至少需要N-1個(gè)連接條件.
語(yǔ)法:
join嵌套
與內(nèi)連接中的join嵌套用法類(lèi)似.