關聯課件: 3子項目三 -SQL操作和查詢語言(點擊在線預覽)
3.3.3.3 數據操作語言(INSERT/UPDATE/DELETE)
1.INSERT語句
INSERT語句用來向(xiàng)表中插入新的數據記錄。每次插入一條。如要向(xiàng)剛才創建的info表中插入一條各字段值分别爲“張三”、“男”、“20”的記錄,可以使用下面(miàn)的語句:
mysql> INSERT INTO info VALUES(“張三”,”男”,20);
執行後(hòu)顯示“Query OK, 1 row affected (0.08 sec)”,表示語句執行成(chéng)功。
值得注意的是,在插入數據時,字符串型值要用雙引号或者單引号引起(qǐ)來,數值型不用引号(加引号就錯了)。而且提供的數據也必須按照表的字段順序排列,不能(néng)颠倒。
在下面(miàn)的小節中將(jiāng)介紹如何從表中查詢數據。在查詢之前,先執行幾次INSERT語句向(xiàng)表中插入幾條信息,這(zhè)樣可以更加形象地說明查詢語句的作用。不妨再插入“李四”、“王五”、“趙六”3條記錄,這(zhè)樣表中共有4條記錄。
2.UPDATE語句
UPDATE語句可以對(duì)表中現有的記錄進(jìn)行修改。
1)修改全部記錄的某個字段的值
例如要將(jiāng)info表中全部記錄的年齡都(dōu)修改成(chéng)25,可以使用下面(miàn)的語句:
mysql> UPDATE info SET age=25;
這(zhè)時如果用SELECT語句查詢此表,會看到所有記錄的age字段都(dōu)變成(chéng)了25。(讀者可以執行SELECT * FROM info;語句來查看表中的數據,SELECT語句的詳細用法將(jiāng)在7.4.4節介紹)。
此外,還(hái)可以一次修改多個字段的值。如除了要將(jiāng)所有記錄的age字段修改成(chéng)25,還(hái)要將(jiāng)所有sex記錄修改爲“女”,可以用如下語句:
mysql> UPDATE info SET age = 25, sex = “女”;
也就是說,多個字段之間用逗号隔開(kāi),可以一次修改多個字段的值。
2)修改滿足某條件的記錄
通過(guò)WHERE子句指定的條件,可以修改滿足指定條件的記錄的值。如要將(jiāng)姓名爲“張三”的記錄的年齡修改成(chéng)23,可以用如下語句:
mysql> UPDATE info SET age = 23 WHERE name = “張三”;
執行之後(hòu)再用SELECT語句查詢此表,會發(fā)現“張三”的年齡爲23,其他記錄的年齡的均爲25。
同樣可以用逗号隔開(kāi)的方法,修改滿足指定條件的記錄的多個字段。
3.DELETE語句
DELETE語句用來删除表中的記錄。可以一次删除全部記錄,也可以删除滿足指定條件的記錄。
1)删除表中的全部記錄。
如要删除表info中全部記錄,可以用以下語句:
mysql>DELETE FROM info;
該語句執行後(hòu)表info中的全部記錄都(dōu)會被删除。可以看出該命令是比較危險的,不小心很容易造成(chéng)誤删,帶來意想不到的後(hòu)果。因此使用此命令時應盡量注意。
2)删除滿足條件的記錄
如果要删除表info中性别爲“女”的記錄,可以用如下命令:
mysql> DELETE FORM info WHERE sex = “女”;
讀者可以自行嘗試變換條件,來觀察語句運行效果。
3.3.3.4 數據查詢語言(SELECT)
SELECT語句用來查詢表中的數據。SELECT語句是SQL中最複雜的語句之一。因爲用SELECT語句可以實現極爲複雜的查詢功能(néng),如可以查詢某個表中全部記錄、部分滿足條件的記錄、全部字段、部分滿足條件的字段等。還(hái)可以同時從多個表中查詢滿足條件的記錄,以及對(duì)查詢結果進(jìn)行排序等。
這(zhè)裡(lǐ)僅介紹幾種(zhǒng)常用的SELECT語句,讀者可以參考其他數據庫專業書籍來更加深入地學(xué)習。
1)查詢全部記錄全部字段
查詢一個表中全部記錄,可以用如下語句:
mysql> SELECT * FROM info;
這(zhè)裡(lǐ)“*”表示所有字段。info爲表名。程序執行後(hòu)輸出:
------ ------ ------
| name | sex | age |
------ ------ ------
| 張三 | 男 | 20 |
| 李四 | 男 | 18 |
| 王五 | 女 | 18 |
| 趙六 | 女 | 17 |
------ ------ ------
4 rows in set (0.02 sec)
可見剛才插入的4條數據全部被查詢出來了。
2)查詢全部記錄的部分字段值
可以通過(guò)指定具體的字段和排序方式,來過(guò)濾掉不需要顯示的字段。如要查詢所有記錄的姓名、年齡兩(liǎng)個字段值,可以用如下語句:
mysql> SELECT name,age FROM info;
執行後(hòu)輸出
------ ------
| name | age |
------ ------
| 張三 | 20 |
| 李四 | 18 |
| 王五 | 18 |
| 趙六 | 17 |
------ ------
4 rows in set (0.00 sec)
3)查詢滿足某個條件的記錄
通過(guò)SELECT語句的WHERE子句,可以查詢某些滿足指定條件的記錄,這(zhè)在查詢中極爲常用。如要查詢所有年齡小于19的記錄,可以用如下語句:
mysql> SELECT * FROM info WHERE age<19;
執行後(hòu)輸出:
------ ------ ------
| name | sex | age |
------ ------ ------
| 李四 | 男 | 18 |
| 王五 | 女 | 18 |
| 趙六 | 女 | 17 |
------ ------ ------
3 rows in set (0.01 sec)
當查詢條件有多個時,可以使用AND關鍵字。如現在查詢所有年齡小于19并且性别爲女的記錄,可以使用下列語句:
mysql> SELECT * FROM infor WHERE age<19 AND sex = “女”;
該語句執行後(hòu),將(jiāng)隻輸出滿足條件的王五、趙六的兩(liǎng)條記錄。
4)查詢某些記錄,并對(duì)結果進(jìn)行排序
使用SELECT語句的ORDER BY子句可以對(duì)查詢結果進(jìn)行排序。如查詢所有性别爲“女”的記錄,并且將(jiāng)結果按照年齡從小到大排序。
mysql> SELECT * FROM info WHERE sex= “女” ORDER BY age ASC;
運行後(hòu)輸出結果如下:
------ ------ ------
| name | sex | age |
------ ------ ------
| 趙六 | 女 | 17 |
| 王五 | 女 | 18 |
------ ------ ------
2 rows in set (0.01 sec)
如果要將(jiāng)從小到大改爲從大到小,則將(jiāng)命令中的“ASC”改爲“DESC”即可。
本節簡要地介紹了一些Web開(kāi)發(fā)中最爲常用的SQL語句。這(zhè)些語句能(néng)夠滿足一般Web開(kāi)發(fā)的需求。在後(hòu)面(miàn)的編程中經(jīng)常會用到SQL語句,讀者應注意多積累、多比較、多練習。掌握盡量多的SQL語句的使用方法,才能(néng)在以後(hòu)的開(kāi)發(fā)中得心應手。
//返回括号裡(lǐ)字符串的字符全部大寫的字符串 $str=strtoupper("sdaf"); //將(jiāng)括号裡(lǐ)第一個字符串變成(chéng)大寫後(hòu)返回 $str=ucfirst("asdf"); //用echo等將(jiāng)括号裡(lǐ)字符串打印在網頁上時原汁原味打印出括号裡(lǐ)的字符串,包括标簽字符 $str=htmlentities("<br/>");
批量插入多條數據 insert into worker values(‘tom’,’tom@yahoo.com’),(‘paul’,’paul@yahoo.com’);
老師講的很詳細,從中學(xué)到了很多。
經(jīng)過(guò)SQL操作和查詢語言講的非常的詳細,讓我學(xué)會了好(hǎo)多的知識
條理清晰,通俗易懂
精緻的講解,通俗易懂,學(xué)到不少,
簡要地介紹了一些Web開(kāi)發(fā)中最爲常用的SQL語句。這(zhè)些語句能(néng)夠滿足一般Web開(kāi)發(fā)的需求。在後(hòu)面(miàn)的編程中經(jīng)常會用到SQL語句,讀者應注意多積累、多比較、多練習。掌握盡量多的SQL語句的使用方法,才能(néng)在以後(hòu)的開(kāi)發(fā)中得心應手。
通俗易懂 方便學(xué)習
内容詳細易懂,感謝老師