簡單的mysql查詢

gxyz發表於2016-04-13

mysql是基於客戶機—伺服器的資料庫。客戶機—伺服器應用分為兩個不同的部分。伺服器部分是負責所有資料訪問和處理的一個軟體。

連線mysql

要連線mysql需要知道如下

  1. 主機名: 本地為localhost
  2. 埠: 預設為3306,如更改必須加上此項
  3. 使用者名稱
  4. 密碼

基本資料庫命令

顯示所有資料庫

SHOW DATABASES;

選擇資料庫

USE databasename;

顯示所有表

SHOW TABLES;

顯示錶列

SHOW COLUMNS FROM tablename

等同於

DESC tablename;

其他show語句

  • SHOW STATUS,用於顯示廣泛的伺服器狀態資訊;
  • SHOW GRANTS,用來顯示授予使用者(所有使用者或特定使用者)的安全許可權;
  • SHOW ERRORS和SHOW WARNINGS,用來顯示伺服器錯誤或警告訊息.值得注意的是,客戶機應用程式使用與這裡相同的MySQL命令。

檢索資料

語法: SELECT _ FROM tablename;

_代表特定的一列或幾列

例如: SELECT * FROM tab1; 從tab1中取出所用列的資料
SELECT name FORM tab1; 從tab1中取出name列的資料
SELECT name, age FROM tab1; 檢索多個列

檢索不同的行

SELECT返回所有匹配的行。如果你不想要每個值每次都出現,而是希望同樣的值只出現一次,就要使用DISTINCT關鍵字

SELECT DISTINCT age FROM tab1; 只返回所有不同的age

限制檢索結果

LIMIT子句

SELECT name FROM tab1 LIMIT 5; 顯示小於等於5條資料(如果不足五條就小於)

SELECT name FROM tab1 LIMIT 10, 5; 從第十行開始檢索五行

排序資料

首先注意,如果不明確控制的話,直接從資料庫中檢索的資料不能視為已排序資料。

子句(clause): SQL語句由子句構成,有些子句是必需的,而
有的是可選的。一個子句通常由一個關鍵字和所提供的資料組
成。例如,前面的SELECT語句的FROM子句和LIMIT子句

ORDER BY子句

ORDER BY子句用來排序檢索的資料

單個列排序

SELECT name FROM tab1 ORDER BY name; 以將name列以字母順序排序

SELECT name FROM tab1 ORDER BY age; 以age列的數字大小排序

多個列排序

SELECT name, age FROM tab1 ORDER BY name, age; 先按name排序,再按age排序,只有當name有重複的值時,才會按照age排序

指定排序方向

OEDER BY 預設升序排列(A-Z),在mysql大小寫字母被視為相同,DESC 關鍵字:降序排列(Z-A),還有的ASC是升序排列,用處不大

一個小栗子:
找出一組資料中最大的幾個數

SELECT name FROM tab1 ORDER_BY age DESC LIMIT 5

相關文章