2015年7月17日 星期五

MySQL筆記

參考書目:Beginning Linux Programming

在安裝完MySQL後,首先登入並設置密碼:

1
2
$ mysql -u root mysql
mysql> SET password=PASSWORD('2jennifer');

並新增一個帳號,給予權限

1
mysql> GRANT ALL ON *.*  TO [username] IDENTIFIED BY [password]
GRANT 主要用於修改權限,如果目標不存在則新增一個
*.*代表給予所有的權限

可使用指令查看是否新增成功

1
mysql> use myssql;
mysql> SELECT user,host,password FROM user;
成功的話在表單中可以查看到新增的帳號。
此處SELECT在日後會經常使用,謹記。

接著exit出去,用新造的用戶登入:


1
mysql> exit;
$ mysql -u [username] -p#這裡 -p代表需要輸入密碼

先新增資料庫,並切換過去:
1
mysql> CREATE DATABASE [資料庫名]
mysql> use [資料庫名]

看看有沒有成功
1
mysql> SHOW DATABASES;

之後可以新增資料表:

1
CREATE TABLE children(
        no INT AUTO_INCREMENT NOT NULL PRIMARY KEY /*此為鍵值*/
        , fname VARCHAR(30)
        , age INT
)
這裡是新增一個名為children的資料表,並增加三個欄位(column)
值得一提的是,這段可以存成一個檔案,並在mysql互動式界面中存取
假設我存成 AddTable.sql,存取方式如下

1
mysql> SOURCE AddTable.sql;
可以查看有沒有新增成功:

1
mysql> SHOW TABLES FROM [database name];

新增資料的方式如下:

1
mysql> INSERT INTO children(fname,age) VALUE("Nick",9);
mysql> INSERT INTO children(fname,age) VALUE("Jack",12);
由於欄位no我們設定成會自動增加的欄位,所以不指定也ok,會自動填入1

接著可以使用先前查看用戶名的方式來看我們的資料表:

1
mysql> SELECT * FROM children;
也可以指定顯示某幾個欄位

1
mysql> SELECT no,fname FROM children;
透過比對某欄位值來顯示:

1
mysql> SELECT * FROM children WHERE fname='Jack';
也可以用 LIKE

1
mysql> SELECT * FROM children WHERE fname LIKE 'N%';
更詳細的用法我會參考這裡:凍仁的筆記