MySQL基本使用

Winter發表於2019-09-09

MySQL 是最流行的關係型資料庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS(Relational Database Management System:關聯式資料庫管理系統)應用軟體之一。

今天剛好又接觸到了MySQL,有一些相關知識和語句不常用會容易忘記,在這裡記錄一下。

mysql登入命令

# 方法一:
>> mysql -uroot -p
>> 然後回車
>>Enter password:輸入密碼
>>回車,登入成功
# 方法二:
>>mysql -u 使用者名稱 -p 密碼
>>回車

增加新使用者

grant 許可權 on 資料庫.* to 使用者名稱@登入主機 identified by "密碼"

資料庫相關操作命令

# 建立資料庫 
>>create database 資料庫名;
# 刪除資料庫
>>drop database 資料庫名;
# 查詢資料庫
>>show Databases;
# 使用資料庫
>>use 資料庫名稱;
# 進入選定的資料庫後,查詢資料庫表
>>show tables;
# 建立資料庫表
>>create table 表名(欄位列表);
# 刪除資料庫表
>>drop table 表名;

增刪改查語句

  • 建立資料庫表
    CREATE TABLE users(
    id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20) UNIQUE NOT NULL,
    age SMALLINT
    );
    
  • 插入資料
    INSERT INTO users(id,name,age) VALUES(1,'Tom',18);
    
  • 查詢資料
    select * from users;
    
  • 修改資料(將Tom的年齡修改為20)
    update users set age=20 where name="Tom";
    
  • 刪除資料
    delete from users where name="Tom";
    

表連線查詢

  • INNER JOIN:查詢出 A表 和B表 的 交集;

    SELECT * FROM A INNER JOIN B ON A.id = B.id
    
  • LEFT OUTER JOIN:查詢A表的完全集,而B表中匹配的則有值,沒匹配的以 null 值取代

    SELECT * FROM A LEFT OUTER JOIN B ON A.id = B.id
    
  • RIGHT OUTER JOIN:查詢B表的完全集,而A表中匹配的則有值,沒匹配的以 null 值取代

    SELECT * FROM A RIGHT OUTER JOIN B ON A.id = B.id
    

資料型別

  • 數值型別

    MySQL支援所有標準SQL數值資料型別。
    這些型別包括嚴格數值資料型別(INTEGER、SMALLINT、DECIMAL和NUMERIC),
    以及近似數值資料型別(FLOAT、REAL和DOUBLE PRECISION)。
    
  • 日期和時間型別

    表示時間值的日期和時間型別為:DATETIME、DATE、TIMESTAMP、TIME、YEAR。
    
  • 字串型別
    ```
    字串型別指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

CHAR 和 VARCHAR 型別類似,但它們儲存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同。在儲存或檢索過程中不進行大小寫轉換。

BINARY 和 VARBINARY 類似於 CHAR 和 VARCHAR,不同的是它們包含二進位制字串而不要非二進位制字串。
也就是說,它們包含位元組字串而不是字元字串。這說明它們沒有字符集,並且排序和比較基於列值位元組的數值值。

BLOB 是一個二進位制大物件,可以容納可變數量的資料。有 4 種 BLOB 型別:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它們區別在於可容納儲存範圍不同。

有 4 種 TEXT 型別:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。對應的這 4 種 BLOB 型別,可儲存的最大長度不同,可根據實際情況選擇。
```

參考: https://www.9xkd.com/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69908432/viewspace-2656428/,如需轉載,請註明出處,否則將追究法律責任。