MySQL筆記06-MySQL數據查詢

【數據庫和表的操作】

創建數據庫:CREATE DATABASE IF NOT EXISTS shop;

查看數據庫:SHOW DATABASES;

刪除數據庫:DROP DATABASES IF EXISTS shop;

創建表:

查看當前數據庫中的數據表:SHOW TABLES;

查看錶結構:DESCRIBE item;

查看註釋標識:SHOW CREATE TABLE item;

刪除數據表:DROP TABLE IF EXISTS item;

複製數據表和數據(不能複製鍵(key)):

使用LIKE方式可以複製父表的表結構,但不能複製父表的記錄。

使用ALTER TABLE 命令修改表結構:

(1)使用ADD關鍵字增加字段,(2)使用DROP關鍵字刪除字段。

(3)使用CHANGE關鍵字修改字段,(4)將已有字段設爲主鍵。

(5)使用RENAME TO 關鍵字修改表名:ALTER TABLE buyer RENAME TO customer;

 

2.【數據操作】

2.1插入數據:

(1)使用INSERT … VALUES 插入數據

(2)使用 INSERT … SET 插入數據,可根據明確指定的值插入數據;(3)使用 INSERT … SELECT 格式,可將從其他表查詢的結果插入到另一張表中。優點是可以快速的將數據從一個或多個表中導入到另一個表中。

2.2 查詢數據:

2.3 更新數據:

2.4 刪除數據:DELETE和TRUNCATE都可以刪除表中的所有記錄,但後者實際上是刪除並重新創建表,它釋放了表空間,而前者不會釋放。後者刪除速度更快一些。對於有自增字段的表,DELETE後會繼續計數,而TRUNCATE會從頭開始計數。

 

【連接、子查詢、事務處理】

2.5 連接——包括交叉連接、內連接、外連接、自然連接

(2.5.1) 交叉連接:查詢結果集中的數據行數等於各個表中的數據行數的乘積。

(2.5.2) 內連接INNER JOIN:返回與連接條件相匹配的數據行。

(2.5.3) 外連接:不僅返回與連接條件匹配的數據行,還包含左表、右表或者左右表的所有數據。分爲 左外連接 和 右外連接。

① 左外連接LEFT JOIN,左表的數據全部顯示:

② 右外連接RIGHT JOIN,右表的數據全部顯示:

(2.5.4) 自連接:將表與它自身相關聯,通過給表起不同的別名來區分一個表的兩個實例。

2.6 子查詢:嵌套在另一個語句中的一個SELECT查詢語句,可嵌套的SQL語句包括SELECT、INSERT、UPDATE、DELETE或其他子查詢語句。子查詢必須位於圓括號中。

(2.6.1) 將子查詢作爲派生表:需要給這個派生表起一個別名。

(2.6.2) 把子查詢用在WHERE子句中,可以與比較運算符、邏輯運算符、IN或者EXIST等一起使用。

(2.6.3) 其他使用子查詢的語句,如DELETE:

2.7 事務處理:transaction - commit - roll back

目前MySQL中只有InnoDB和BDB這兩種存儲引擎支持事務——

開始事務:START TRANSACTION 或者 BEGIN WORK (WORK可省略)

提交事務:COMMIT

回滾事務:ROLLBACK

 

使用事務的例子:向商品表item添加商品“apple”,同時更新商品名爲“PHP”的數量爲200.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章