iT邦幫忙

0

php-複習一下MySQL語法

https://ithelp.ithome.com.tw/upload/images/20191112/20117650Qjlslzb84p.jpg

練習而已,新增明細表:

'INSERT INTO list (user_table_id, commodity_table_id) VALUES(1,1)';

修改明細表任何資料,但是這個會改到user_table與commodity_table的資料:

1.只修改user_table的name

'UPDATE list_table INNER JOIN user_table //list_table與user_table連結
ON list_table.user_table_id=user_table.id //list_table.user_table_id與user_table.id的FK對應

 SET user_table.name='周杰倫' //修改user_table.name
 WHERE list_table.id=1';//指定的欄位id
 

2.修改user_table與commodity_table的name與price

UPDATE (list_table INNER JOIN user_table//list_table與user_table連結
ON list_table.user_table_id=user_table.id)//list_table.user_table_id與user_table.id的FK對應

INNER JOIN commodity_table //list_table與ommodity_table連結
ON list_table.commodity_id=commodity_table.id//list_table.user_table_id與commodity_table.id的FK對應

SET user_table.name='蔡依林',commodity_table.price=600 //同時修改user_table.name與commodity_table.price

WHERE list_table.id=1;//指定的欄位id

同時三個table刪除掉,說真的這裡如果要像update的關聯式寫是沒辦法的,我也找不到辦法只能先刪除list_table在刪除其他兩個資料表,如前輩有什麼方法的話歡迎可以留言,感恩

DELETE FROM list_table WHERE id=1//設定資料庫後WHERE id選擇哪個欄位刪除
DELETE FROM user_table WHERE id=1
DELETE FROM commodity_table WHERE id=1

4.尋找這三個table對應的FKid一起列出資料出來

SELETE * (list_table INNER JOIN user_table
ON list_table.user_table_id=user_table.id)
INNER JOIN commodity_table 
ON list_table.commodity_id=commodity_table.id與commodity_table.id
ORDER BY list_table.id ASC//這裡是將整個欄位的資料以list_table的id從第一筆列出來,從第一筆列出來到最後一筆是ASC,如最後一筆到第一筆為DESC

複習:PHP關聯式JOIN筆記記錄
PHP-關聯式JOIN好幾個資料表筆記記錄


尚未有邦友留言

立即登入留言