SQL 基礎 no.1

SHOW DATABASE
#所有命令
SHOW TABLES
#所有表

#DINSTINCT
SELECT COUNT(DISTINCT(inp)) 
FROM table_name;
SELECT DISTINCT product_ID,in_id
FROM inp;#多個字段選擇,選出組合不同的即可

SELECT * FROM Customers 
WHERE CustomerID=1;
WHERE CustomerID='0001';
#數值字段不需要單引號 但是文本值需要

#AND OR NOT
SELECT a,b,c
FROM table1
WHERE a='0001' AND b=100;
SELECT a,b,c
FROM table1
WHERE a='0001' OR b=100;
SELECT a,b,c
FROM table1
WHERE NOT b=100;
SELECT cust
FROM porduct
WHERE NOT a='0001' AND NOT b=100;
#AND優先級高於OR  所以有時加括號來避免優先級問題
SELECT * FROM Customers
WHERE Country='Germany' AND (City='Berlin' OR City='München');

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
#默認是ASC 升序

SELECT * FROM Customers 
ORDER BY Country, CustomerName; 
#首先按照country來排序 其次對於country一樣的對customername進行排序

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;
#所以和DINSTINCT不同的地方在於DINSTINCT後面的字段全部排
#但是ASC和DESC因爲在後所以只是管前面的字段

#INSERT INTO
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
#順序一樣,value不能缺少!想缺少的用前面那個語法
#也可以設置成NULL,當沒有NOT NULL限制的時候
INSERT INTO product (product_ID,sale_price)
SELECT product_ID,sale_price
FROM product_copy1;
#和select一起用的INSERT語句 

#NULL
#NULL指的是缺失值 不同於0或者空值
#不可以使用比較運算符
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

UPDATE #更新已經存在的記錄
UPDATE table1
SET c_1='衣服'
WHERE a_1='0001';
DELETE #刪除表中的記錄
DELETE FROM table_1
WHERE a='0001';
#刪除所有記錄
DELETE FROM table_1;
DELETE * FROM table_2;

#數值表達式
SELECT * FROM CUSTOMERS WHERE SALARY = 10000;
#數值表達式
SELECT (15 + 6) AS ADDITION
#聚合函數的數值表達式
SELECT COUNT(*) AS "RECORDS" FROM CUSTOMERS; 

SELECT CURRENT_TIMESTAMP;
#返回當前時間

SHOW DATABASES;
USE hello;

#限制展示有限的記錄
SELECT * FROM product
LIMIT 10;

SELECT TOP 2 * 
FROM product 
WHERE a='0001';
#等價於:
SELECT * FROM product
WHERE a='0001'
LIMIT 2;
#注意LIMIT 在WHERE後面
SELECT * FROM product
LIMIT 2,3;
#從第三行讀取三行記錄
SELECT TOP 2 PERCENT * FROM product;

#LIKE
WHERE cust LIKE 'a_%_%' #a開頭且後面至少有兩個字符
WHERE cust LIKE '_r%' #從第二字符驗證是否爲r
# _和%都是通配符
#SQL [charlist] 通配符
SELECT * FROM cust 
WHERE city LIKE '[bsp]%'
#以b或s或p開頭的
SELECT * FROM cust
WHERE city LIKE '[a-c]%'
#簡寫方法
SELECT * FROM cust 
WHERE city LIKE '[!bsp]%'

#IN 運算符
SELECT * FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');
SELECT * FROM Customers
WHERE Country IN (SELECT city FROM country);
SELECT product_type FROM product_copy1
WHERE product_id IN (SELECT product_type 
FROM product_copy_copy);
SELECT * FROM product
WHERE (product_name BETWEEN 'Car' AND 'HA')
AND NOT product_name IN ('hello','haha');


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章