一.show命令:
1.使用命令列(管理員方式)啟動mysql服務:net start mysql57 (mysql57為安裝時取得名字)
2.登陸本地mysql資料庫:mysql -uroot -p
3.顯示已有的資料庫:show databases;
4.使用某資料庫:use users;
5.(先使用4命令)顯示某資料庫下的表:show tables;
6.顯示某錶的資訊:show columns from study;
二.select命令:
1.檢索student表中的所有列:select * from student;
2.檢索student表中特定列(如name和age列):select name,age from student;
3.檢索出不同值得列:select distinct teacher_id from class;
注意:distinct應用於所有的列,如: select distinct teacher_id,c_id from class;中distinct應用於 teacher_id和c_id。
4.select語句返回所有匹配的行;可以使用limit子句返回第一行或前幾行。
select * from class limit 2; 返回前兩行。
select * from class limit 2 offset 0; 從第0行開始返回兩行。
5.按(teacher_id)預設的公升序排序:select * from class order by teacher_id;
6.teacher_id按公升序,c_id按降序:select * from class order by teacher_id,c_id desc;
7.使用limit返回c_id最大的記錄:select * from class order by c_id desc limit 1;
三.where子句:
1.空值檢查: select * from class where c_name is null; 返回c_name為null的行。
2.and操作符給where子句附加條件:select * from class c_id where c_id<=3 and teacher_id<>3;
3.and 比 or的優先順序更高:如:select * from class where c_id=1 or c_id=2 and teacher_id=3;
會先使用c_id=2 and teacher_id=3過濾,然後結果再和c_id=1進行or。
所以當遇到此類問題時,最好加括號來明確優先順序。如:
select * from class where (c_id=1 or c_id=2) and teacher_id=3;
4.in操作符:in操作符用來指定條件的範圍,範圍中每個條件都可以進行匹配。in取合法值得有由逗號分隔,全部括在括號中。
如:select * from class where c_id in (1,2) order by c_id desc;
使用in操作符的優點:
1)在長的合法選項清單時,in操作符的語法更清楚;
2)在使用in時,計算的次序更容易理解(因為使用的操作符更少)
3)in操作符一般比or操作符執行更快。
4)in最大的優點是可以包含其他select子句,使得能夠更動態的建立where子句。
5.not操作符:否定他之後所有的任何條件。
如:select * from class where c_id not in (1,2);
注意:mysql支援對in、between和exists子句取反。
四.使用萬用字元進行過濾
1.百分號(%)萬用字元:%表示任何字元出現的任意次數。
如:select * from class where c_name like 'bj%'; c_name 以bj開頭的學生記錄。
select * from class where c_name like '%bj%'; c_name包含bj的學生記錄。
注意:1)尾空格可能會干擾萬用字元匹配,如:在儲存詞liming時,如果後面有乙個或多個空格,則子句where c_name like '%liming'將不會匹配他們,因為g最後有多餘的字元。解決辦法:在搜尋模式最後附加乙個%,即:where c_name like '%liming%',乙個更好的辦法使用函式去掉首尾空格。
2)雖然似乎%萬用字元可以匹配任何東西,但有乙個例外,即null。即使是where c_name like '%'也不能匹配用值null作為名 名字的行。
2.下劃線(_)萬用字元:下劃線只能匹配單個字元而不是多個字元。
MySQL必知必會讀書筆記二
暫時只更到檢視之前的內容了 後續的東西有機會再補 插入資料 insert into customers cust address,cust city,cust state,cust zip,cust country,cust contact,cust email values pep e 100 m...
讀書筆記 mysql必知必會 22
檢視是虛擬的表。與包含資料的表不一樣,檢視只包含使用時動態檢索資料的查詢 作為檢視,它不包含表中應該有的任何列或資料,它包含的是乙個sql 查詢 與上面用以正確聯結表的相同的查詢 重用 sql語句。簡化複雜的 sql操作。在編寫查詢後,可以方便地重用它而不必知道它的基本查詢細節。使用表的組成部分而不...
《MySQL必知必會》讀書筆記 4
ps 乙個實際的儲存過程案例 create definer root localhost procedure sp delete article by id in id int begin routine body goes here.declare temp int set aid id sele...