1. 程式人生 > 實用技巧 >MySQL基礎查詢

MySQL基礎查詢

第1章 瞭解SQL

資料庫(database) 儲存有組織的資料的容器(通常是一個文
件或一組檔案)。

(table) 某種特定型別資料的結構化清單。

(column) 表中的一個欄位。所有表都是由一個或多個列組
成的。

資料型別(datatype) 所容許的資料的型別。每個表列都有相
應的資料型別,它限制(或容許)該列中儲存的資料。

(row) 表中的一個記錄。

主鍵(primary key)①一一列(或一組列),其值能夠唯一區分表
中每個行。

第2章 MySQL簡介

通過命令列登入:
mysql 【-h主機名 -P埠號 】-u使用者名稱 -p密碼

退出:
exit或ctrl+C

第3章 使用Mysql

資料庫指令碼下載地址

http://www.forta.com/books/0672327120/

  1. 選擇資料庫
輸入:USE 資料庫名;
  1. 顯示資料庫
輸入:SHOW DATABASES;
  1. 顯示資料庫中的表
輸入:SHOW TABLES;
  1. 顯示資料庫的表列
輸入:SHOW COLUMNS FROM customers;

第4章 檢索資料

1.檢索單個列

select prod_name
from products;

2.檢索多個列

select prod_name,prod_id,prod_price
from products;

3.檢索所有列

select *
from products;

4.檢索不同的行

select distinct vend_id
from products;

5.限制結果

select prod_name
from products
limit 5;
注:獲取前5行
select prod_name
from products
limit 5,5;
注:獲取5到10行。

6.使用完全限定的表名

select products.prod_name
from crashcourse.products

第5章 排序檢索資料

1.排序資料

select prod_name
from products
order by prod_name;

2.按多個列排序

select prod_id,	prod_price,	prod_name
from products
order by prod_price,prod_name;

3.指定排序方向

select prod_id,prod_price,prod_name
from products
order by prod_price desc,prod_name;

4.使用ORDER BY和LIMIT的組合,能夠找出一個列中最高或最低的值

select 	prod_price
from products
order by prod_price desc
limit 1;

第6章 過濾資料

1.使用while語句

select 	prod_price,	prod_name
from products
where prod_price=2.50;

2.where子句操作符

2.1檢測單個值

select 	prod_price,	prod_name
from products
where prod_name='fuses';
select 	prod_price,	prod_name
from products
where prod_price < 10;
SELECT 	prod_price,prod_name
FROM products
WHERE prod_price <=10;

2.2 不匹配檢測

select 	vend_id,prod_name
from products
where vend_id <> 1003;

2.3範圍值檢查

SELECT 	prod_price,	prod_name
FROM products
WHERE prod_price BETWEEN 5 AND 10;

2.4空值檢查

select cust_id
from customers
where cust_email is null;

第7章 資料過濾

1.組合while語句

為了進行更強的過濾控制,MySQL允許給出多個WHERE子句。這些子句可以兩種方式使用:以AND子句的方式或OR子句的方式使用。

1.1 AND操作符

select 	prod_id,prod_price,	prod_name
from products
where vend_id=1003 and prod_price <= 10;

1.2 OR操作符

select 	prod_price,	prod_name
from products
where vend_id=1002 or vend_id = 1003;

1.3 計算次序

select 	prod_price,	prod_name
from products
where vend_id=1002 or vend_id = 1003 and prod_price <= 10;
注:由於AND在計算次序中優先順序更高,操作符被錯誤地組合了。
select 	prod_price,	prod_name
from products
where (vend_id=1002 or vend_id = 1003) and prod_price <= 10;

2.IN操作符

select 	prod_price,	prod_name
from products
where vend_id in (1002,1003)
order by prod_name;

3.NOT操作符

select 	prod_price,	prod_name
from products
where vend_id not in (1002,1003)
order by prod_name;