顯示具有 MySQL 標籤的文章。 顯示所有文章
顯示具有 MySQL 標籤的文章。 顯示所有文章

2024年5月1日 星期三

MySQL-安裝與執行( 一 ) Mac

因為近期有安裝 MySQL 在 Mac 的需求
發現安裝起來好像在微軟的程序有點差異
所以在此記錄下來
以便下次瀏覽和確步驟

安裝 MySQL

  1. 首先到 MySQL 官方網站( 連結 )並且點擊網頁最下方的 Download Server 項目




  2. 點選其他下載版本



  3. 選擇合適你 Mac OS 版本以及 CPU 版本的安裝包
    PS: 我電腦版本 Mac OS 12 所以只能選 8.0.30



  4. 點選安裝包
    PS: 有時候會出現惡意程式提醒,記得去安全性及隱私權解除封鎖







  5. 我們這裡點選預設值



  6. 開始設定密碼( 目前預設長度看起來都要超過 8 碼 )
    PS: 因為僅在本機練習,所以先設定: 12345678




  7. 安裝完成



  8. 確認是否安裝成功,所以我們要去系統偏好內是否存在 MySQL 項目
    PS: 這項目檢測建議重新開機 





安裝 MySQL WorkBench

因為我們上方的步驟僅在本地安裝資料庫 ( DataBase ),如果要查看這資料庫或者是遠端( 線上 ) 資料庫,如果要實際對該資料庫( DataBase )操作,除了終端機外,還有使用官方提供的工具對指定資料庫操作。
  1. 首先到 MySQL 官方網站的 WorkBench( 連結 )並且點擊網頁最下方的 Download WorkBench 項目



  2. 點選其他下載版本



  3. 選擇合適你 Mac OS 版本以及 CPU 版本的安裝包
    PS: 我電腦版本 Mac OS 12 所以只能選 8.0.30



  4. 執行安裝步驟



  5. 安裝完成及歡迎介面



  6. 在 MySQL Connections 旁邊圖示( + ) 點選新增並設定剛剛在本機新增的資料庫連線資料
    Connection Name: TestDB
    Hostname: 127.0.0.1
    Port: 3306
    Password: 12345678( 請自行依照設定填寫 )



  7. 點選 Test Connection 進行測試確認結果



  8. 點選 OK 後,此新增的項目就會添加在介面內以便後續管理



  9. 點選後就可對此資料庫進行管理





歡迎轉載,請註明出處。

2016年12月31日 星期六

JAVA-如何用JDBC存取資料庫(MySQL)

想必大家建立好資料庫後
一定存放大量資料等待存取管理吧
此篇是以基本的方法來教大家如何用 Java 來存取 DB 資料

首先要先來了解的是 : JDBC
如果看不懂以上連結的解釋
最簡單的敘述 : Java - JDBC( 之間溝通 ) - SQL ( DB )

我們要先了解您要是要連哪一種資料庫別
畢竟資料庫有很多廠商
我們這裡以 :MySQL 為範例

準備步驟 :
1 . 所以我們要來這下載 Jar  : The official JDBC driver for MySQL
2 . 確認 IP 位置以及資料庫名稱
3 . 確認連線權限以及帳號密碼
4 . 連線後要做的事情

package com.brian.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest {

    // 資料庫別
    private static final String driver = "com.mysql.jdbc.Driver";
    // 連線資訊
    private static final String url = "jdbc:mysql://localhost:3306/";
    // DataBase
    private static final String DBName = "store";
    // 使用者帳號
    private static final String user = "root";
    // 使用者密碼
    private static final String password = "password";
    
    public static void main(String[] args) {
        Connection connection = null;
        try {
            Class.forName(driver);

            String DBUrl = url + DBName;
            connection = DriverManager.getConnection(DBUrl, user, password);
            System.out.println("成功連線至DB");

            Statement statement = connection.createStatement();
            String sql = "Select * From proudct";
            ResultSet resultSet = statement.getResultSet();
            while (resultSet.next()) {
                // Table 欄位名稱(產品編號)
                System.out.println(resultSet.getString("NO"));
            }
            
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}


參考資料 : JAVA基础 之 Statement
參考資料 : 解决mysql“Access denied for user 'root'@'IP地址'
歡迎轉載,請註明出處.

2016年3月7日 星期一

MySQL SQLite-How use "UPDATE" in the sql?

上一篇 : MySQL SQLite-How use "DELETE" in the sql?

繼上一篇刪除功能
接下來
那我用新增資料再刪除舊的資料太麻煩了
那還有其他的方法嗎??
有的
那就是更新
可是在更新前一定要先搜尋會被更改到的資料
不然後續會很麻煩的

----------------------------------------------------
更新語法

1 . 條件欄位取代
更新資料表名稱設定參數( 新 )條件參數(舊)
UPDATEtable_nameSETa = 7WHEREa = 6

UPDATE COMPANY SET AGE = 25, NAME = ..... WHERE NAME = 'Allen' ;































2 . 此欄位全部被取代
更新資料表名稱設定參數( 新 )
UPDATEtable_nameSETa = 7
此方法要謹慎使用


UPDATE COMPANY SET AGE = 30;














































歡迎轉載,請註明出處。

2016年3月6日 星期日

MySQL SQLite-How use "DELETE" in the sql?

上一篇 : MySQL SQLite-How use "SELECT" in the sql?

既然可以新增資料
但如果我有不要的資料要如何做處裡
當然可以
但是!!!
資料量少當然沒問題,只需要抓 Key
但是  !!!
資料量如果是上千筆
一定要先用 SELECT 在加上你要 DELETE 的 Key
不然那可能神仙也難救了...

--------------------------------------------------------------------------
刪除語法
刪除欄位 ( 不用填值 )來源資料表名稱判斷條件
DELETEFROMtable_nameWHEREa = 6
其實,刪除的語法跟 SELECT 的語法類似
前面的動作和欄位不用填寫。

DELETE FROM COMPANY WHERE ID = 4;















































建議用法( 以上執行指令為例 )
1 . 先將要刪除的條件用 SELECT 列出來,確認有無其餘資料。
SELECT * FROM COMPANY WHERE ID = 4;

2 . 再執行剛剛的刪除步驟。
DELETE FROM COMPANY WHERE ID = 4;

歡迎轉載,請註明出處。

2016年2月28日 星期日

MySQL SQLite-How use "SELECT" in the sql?

上一篇 : How insert into data in table?

上一篇簡單介紹有關如何將資料寫入
接下來就準備從上百筆、上千筆的資料表取資料囉

使用的方法我們慢慢的簡介

1 . 顯示所有的資料欄
SELECT * 
FROM table_name;
















2 . 顯示特定的資料欄
SELECT column1,column2... 
FROM table_name;
















3 . 顯示特定的資料欄,並且加入篩選的條件( 以下簡略集中說明 )
SELECT column1,column2... 
FROM table_name
// 等於
WHERE column1 = 3;
// 大於
WHERE column1 > 3;
// 等於_文字
WHERE column1 = 'A';
// 欄位等於 NULL
WHERE column1 = 'NULL';
// IS NULL 要全大寫
WHERE column1 IS NULL;
















4 . 篩選過濾文字(  % 、 _  )
SELECT column1,column2... 
FROM table_name
// 篩選目標字尾為 CS : SDVCS、YEKCS、51584CS
WHERE column1 LIKE '%CS';
// 篩選目標字尾為 CS 附帶前一字元 : ACS、UCS
WHERE column1 LIKE '_CS';






















5 . 多筆條件 ( OR 、 AND )
SELECT column1,column2... 
FROM table_name
// 及
WHERE column2 = 3 AND column3 < 5;
// 或 
WHERE column2 = 3 OR column3 < 5;























6 . 同欄位範圍值( BETWEEN )
SELECT column1,column2... 
FROM table_name
// 3 ~ 10
WHERE column2 BETWEEN 3 AND 10;
// B ~ H
WHERE column2 BETWEEN 'B' AND 'H';
// 10 ~ 3 順序不對
WHERE column2 BETWEEN 10 AND 3;
EX : 3 ~ 10、B ~ H

7 . 同欄位特定值( IN )
SELECT column1,column2... 
FROM table_name
// 欄位包含
WHERE column2 IN('Tom', "Peter", "May");
// 反之,欄位不可包含
WHERE column2 NOT IN('Tom', "Peter", "May");

8 . 不可、反
SELECT column1,column2... 
FROM table_name
WHERE NOT column1 = 3;
類似 Java 的 " ! "

歡迎轉載,請註明出處


MySQL SQLite-How insert into data in table?

上一篇 : Create Table in the DataBase

之前我們有提到如何創立資料表
那我們依照語法生成資料表後
我們要如何將資料置入到資料表內?

有三種方法 :
1 . 將參數放置對應欄位
INSERT INTO table_name(column1, column2...)
VALUES(value1, value2...);

2 . 依照欄位順序放置參數
INSERT INTO table_name
VALUES(value1, value2...);

3 . 指定欄位放置參數,有可能直接跳過不設置
INSERT INTO table_name(column3, column5...)
VALUES(value3, value5...);


以下是範例程式 :
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
)

Insert into :
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
































參考資料 : SQLite - INSERT Query

歡迎轉載,請註明出處。

2016年2月27日 星期六

MySQL SQLite-Create Table in the DataBase

我們在前一篇 : What's Column、Row、Table、DataBase?

我們如何使用語法新建資料表?
會很複雜嗎?

就目前最複雜的是 :
你的需求是甚麼?你有哪些資料要放!!!
你的需求是甚麼?你有哪些資料要放!!!
你的需求是甚麼?你有哪些資料要放!!!

以上的問題思考分析完就可以將內容放置進去
CREATE TABLE table_name(
    欄位名稱_1 型別_1,
    欄位名稱_2 型別_2
    .
    .
    .
);

那資料欄的內容要怎麼設定?
CREATE TABLE products1(
    name VARCHAR(10),
    type INT NOT NULL,
    cost DEC(3, 2) NOT NULL DEFAULT 1.0
);

我們用表格來說明

欄位名稱欄位型別是否能為空值初始定義初始定義參數
nameVARCHAR(10)
typeINTNOT NULL
costDEC(3, 2)NOT NULLDEFAULT1.0

欄位要用 : "," 分隔。
















接下來,我們針對欄位型別做簡單的說明

型別範例
CHAR(5)'Tom'
VARCHAR(5)'Tom'
INT123
DEC(6,2)1234,56
DATE27/02/2016
DATETIME

CHAR(5) vs VARCHAR(5) 差異?

型別CHAR(5)VARCHAR(5)
內容TomTom
長度(length)53

如果每筆資料量遠小於預設字元
使用 CHAR 就會造成空間的浪費



歡迎轉載,請註明出處。

2016年2月26日 星期五

MySQL SQLite-What's Column、Row、Table、DataBase?

相信大家對以上名詞再熟悉不過了
如果還是不太了解
此篇以最簡單的圖解來解釋以上的名詞

1 .  Column 欄位 資料欄









2 . Row 列 資料列









3 . Table 表格 資料表




















4 . DataBase 資料庫



















歡迎轉載,請註明出處。

2016年2月12日 星期五

MySQL-基本資料型別_整數( 一 )

數據類型範圍
TINYINT有符號值 : -128 ~ 127
無符號值 : 0 ~ 255
SMALLINT有符號值 : -32768 ~ 32767
無符號值 : 0 ~ 65535
MEDIUMINT有符號值 : -2^23 ~ 2^23-1
無符號值 : 0 ~ 2^24
INT有符號值 : -2^31 ~ 2^31-1
無符號值 : 0 ~ 2^32-1
BIGINT有符號值 : -2^63 ~ 2^63-1
無符號值 : 0 ~ 2^64-1

為什麼不直接用調置最大儲存?
如果儲存內容為班級身高那這不是殺雞焉用牛刀,一打鉛筆用卡車載送!!!
那10打鉛筆不就要用到10輛卡車,那浪費一堆資源卻得不到好處!!!

歡迎轉載,請註明出處。

2016年2月10日 星期三

MySQL-登入與登出( 三 )

參數說明
-D, --database=name打開指定資料庫
--delimiter=name指定分隔符號
-h, --host=name伺服器名稱
-p, --password[=name]密碼
-P, --port=#端口
--prompt=name設置提示符號
-u, --user=name使用者名稱
-V, --version版本
















mysql -uroot -p -P3306 -h127.0.0.1

歡迎轉載,請註明出處。

2016年2月6日 星期六

MySQL-安裝與執行( 二 )

上一篇 : MySQL-安裝與執行( 一 )

接下來我們就來確認剛剛的安裝是否真正成功
首先我們點選電腦管理的介面
確認我們剛剛建立的 MySQL Server 是否啟動














並且在環境變數新增






















再次到命令提示字元確認
請輸入 : net start mysql

如果 Respone : 系統發生 5 錯誤
代表權限未開啟

這時比較建議直接用管理者開啟命令提示字元
請輸入 : net user administrator /active:yes

參考資料 : 想開啟administrator可是卻發生 系統發生5錯誤 存取被拒絕

歡迎轉載,請註明出處。

2016年2月4日 星期四

MySQL-安裝與執行( 一 )

此教學目的是如何安裝 MySQL 
圖多,但基本上會把重點做標記

1 . 下載官方安裝檔案
連結 : MySQL on Windows















2 . 點擊安裝





















3 . 設定管理者密碼









想開啟administrator可是卻發生 系統發生5錯誤 存取被拒絕

下一篇 : MySQL-安裝與執行( 二 )

參考資料 : Install MySQL On Mac
歡迎轉載,請註明出處。