mysql必知必會 讀書筆記

2021-08-19 11:32:36 字數 2816 閱讀 6109

一.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...