Posts

Showing posts from December, 2015

MySQL基本指令-權限的分配

MySQL將指令分成三大項

DDL ( Data Definition Languages ) : 建立資料庫、Table和格式、索引等指令。常用的有CREATE、DROP、ALTER

DML ( Data Manipulation Languages ) : 用於新增、刪除、修改、搜索資料庫內的Data,並檢查資料的完整性。常用的有 INSERT、DELETE、UPDATE、SELECT

DCL ( Data Control Languages ) : 控制資料庫的存取權限。常用的有GRANT、REVOKE

指令符號解釋
[ ] : 代表可有可無,[ ] 內的指令可能是一次大量執行或是某個特殊功能
大寫英文 : MySQL內定的指令文字。(紫色粗體字)
小寫英文 : 由使用者自行定義的文字,如名稱等



DCL的指令

管理資料庫的各種權限,像是DML指令的UPDATE、SELECT、DELETE




授予權限
主要使用的指令是GRANT

GRANT 授予的權限 ON 資料庫名稱 TO '使用者名稱'@'登入位置' IDENTIFIED BY '密碼';

其中登入位置可以用 :
localhost,代表從本機登入
%,代表可以從任何地方登入

例子:
授予使用者 test1在資料庫company中全部的Table可以使用UPDATE和SELECT的能力
並限制登入的位置為192.168.1.100,密碼是1234
GRANT select,update ON company.* TO 'test1'@'192.168.1.100' IDENTIFIED BY '1234';


取消權限
主要使用的指令是REVOKE

REVOKE 取消的權限 ON 資料庫名稱FROM '使用者名稱'@'登入位置';

 例子:
取消使用者 test1在資料庫company中的UPDATE功能

REVOKE update ON company.* FROM 'test1'@'192.168.1.100';


MySQL基本指令-建立Database和Table

MySQL將指令分成三大項

DDL ( Data Definition Languages ) : 建立資料庫、Table和格式、索引等指令。常用的有CREATE、DROP、ALTER

DML ( Data Manipulation Languages ) : 用於新增、刪除、修改、搜索資料庫內的Data,並檢查資料的完整性。常用的有 INSERT、DELETE、UPDATE、SELECT

DCL ( Data Control Languages ) : 控制資料庫的存取權限。常用的有GRANT、REVOKE

指令符號解釋
[ ] : 代表可有可無,[ ] 內的指令可能是一次大量執行或是某個特殊功能
大寫英文 : MySQL內定的指令文字。(紫色粗體字)
小寫英文 : 由使用者自行定義的文字,如名稱等



DDL的指令

主要是操控DB和Table的指令


Database類


新增Database

CREATE DATABASE 資料庫名稱;

(指令最後面的 ; 符號代表這是指令的最末端,如果沒有輸入這個符號MySQL會認為指令還沒輸入完畢)

例子:
建立一個HappyCompany的Database
CREATE DATABASE HappyCompany;



顯示全部的Database

SHOW DATABASES;

root可以看到全部資料庫,其他使用者如果權限不足會看不到某些資料庫



使用(進入)Database

USE 資料庫名稱

(USE指令最後面不用加 ; 符號)
要進到某個Database內才能對內部的Table或資料執行修改或查詢等動作

例子:
進入HappyCompany的Database
USE HappyCompany



刪除Database

DROP DATABASE 資料庫名稱;

刪除Database會連帶刪掉內部的全部資料

例子:
刪除HappyCompany的Database
DROP DATABASE HappyCompany;





Table類


新增Table

CREATE TABLE [IF NOT EXISTS] Table名稱 ( filed_1 type_1 , filed_2 type_2,....);

進行任何Table的操作前,一定要先用USE指令進入DB
IF NOT EXISTS : 要建立的Table名稱如果不存在,才會建立Table,這是一種比較保…

MySQL基本指令-資料的新增與查詢

MySQL將指令分成三大項

DDL ( Data Definition Languages ) : 建立資料庫、Table和格式、索引等指令。常用的有CREATE、DROP、ALTER

DML ( Data Manipulation Languages ) : 用於新增、刪除、修改、搜索資料庫內的Data,並檢查資料的完整性。常用的有 INSERT、DELETE、UPDATE、SELECT

DCL ( Data Control Languages ) : 控制資料庫的存取權限。常用的有GRANT、REVOKE

指令符號解釋
[ ] : 代表可有可無,[ ] 內的指令可能是一次大量執行或是某個特殊功能
大寫英文 : MySQL內定的指令文字。(紫色粗體字)
小寫英文 : 由使用者自行定義的文字,如名稱等


DML的指令
主要是新增修改等資料庫內的資料


新增資料

INSERT INTO Table名稱 (filed_1,filed_2,...) VALUES (value_1,value_2,...);

也可以省略欄位名稱的部分,但Value後面的順序必須和Table的欄位順序一樣


刪除資料

DELETE FROM Table名稱 [WHERE子句];
或用以下指令可以刪除多個Table的資料
DELETE FROM table_1,table_2,.. [WHERE子句];

如沒有加WHERE,會清除掉Table內的全部資料
如WHERE查詢出的資料有很多筆,其全部都會被刪除

例子:
刪除HappyCompany的SadBoy人事資料
DELETE FROM HappyCompany WHERE name=SadBoy;

例子-刪除多個Table的資料
刪除Table T1,T2,T3的資料,且資料名稱為 bad。
DELETE FROM a,b,c USING t1 AS a INNER JOIN t2 AS b INNER JOIN t3 AS c WHERE a.id=b.id AND a.id=c.id AND a.name=bad;


修改資料

UPDATE Table名稱 SET filed_1=value_1,filed_2=value_2,... [WHERE子句];

如要一次更新多個Table的資料可用
UPDATE t_1,t_2,... SET t_1.filed…