Sql語句基本知識


SQL DML 和 DDL

 可以把 SQL 分為兩個部分:數據操作語言 (DML) 和 數據定義語言 (DDL)。

SQL (結構化查詢語言)是用於執行查詢的語法。但是 SQL 語言也包含用於更新、插入和刪除記錄的語法。

查詢和更新指令構成了 SQL 的 DML 部分:

  • SELECT - 從數據庫表中獲取數據
  • UPDATE - 更新數據庫表中的數據
  • DELETE - 從數據庫表中刪除數據
  • INSERT INTO - 向數據庫表中插入數據

SQL 的數據定義語言 (DDL) 部分使我們有能力創建或刪除表格。我們也可以定義索引(鍵),規定表之間的鏈接,以及施加表間的約束。

SQL 中最重要的 DDL 語句:

  • CREATE DATABASE - 創建新數據庫
  • ALTER DATABASE - 修改數據庫
  • CREATE TABLE - 創建新表
  • ALTER TABLE - 變更(改變)數據庫表
  • DROP TABLE - 刪除表
  • CREATE INDEX - 創建索引(搜索鍵)
  • DROP INDEX - 刪除索引

一、DML

1.SQL SELECT 語句

select 語句用於從表中選取數據。

結構被存儲在一個結果集中。

語法:

SELECT 列名稱 FROM 表名稱
或者
select * from 表名稱

2.SQL SELECT DISTINCT 語句

在表中,可能會包含重復值。但是有時你也許只希望列出不同的值

關鍵詞DISTINCT用於返回唯一不同的值。

語法:

SELECT DISTINCT 列名稱 FROM 表名稱


SELECT DISTINCT Company FROM Orders 

3.SQL WHERE 子句

如需有條件地從表中選取數據,可將 WHERE 子句添加到 SELECT 語句。

語法:

SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值

 

下面的運算符可在 WHERE 子句中使用:

操作符 描述
= 等於
<> 不等於
> 大於
< 小於
>= 大於等於
<= 小於等於
BETWEEN 在某個范圍內
LIKE 搜索某種模式

注意:引號的使用

請注意,我們在例子中的條件值周圍使用的是單引號。

SQL 使用單引號來環繞文本值(大部分數據庫系統也接受雙引號)。如果是數值,請不要使用引號。

文本值:

這是正確的:
SELECT * FROM Persons WHERE FirstName='Bush'

這是錯誤的:
SELECT * FROM Persons WHERE FirstName=Bush

數值:

這是正確的:
SELECT * FROM Persons WHERE Year>1965

這是錯誤的:
SELECT * FROM Persons WHERE Year>'1965'

4.SQL AND & OR 運算符

AND 和 OR 可在 WHERE 子語句中把兩個或多個條件結合起來。

如果第一個條件和第二個條件都成立,則 AND 運算符顯示一條記錄。

如果第一個條件和第二個條件中只要有一個成立,則 OR 運算符顯示一條記錄。

語法:

SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'
 

 

5.SQL ORDER BY 子句

ORDER BY 語句用於根據指定的列對結果集進行排序。

ORDER BY 語句默認按照升序對記錄進行排序。

如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。

語法:

以字母順序顯示公司名稱:
SELECT Company, OrderNumber FROM Orders ORDER BY Company

以字母順序顯示公司名稱(Company),並以數字順序顯示順序號(OrderNumber)
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber


以逆字母順序顯示公司名稱
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC


以逆字母順序顯示公司名稱,並以數字順序顯示順序號
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

 

6.SQL INSERT INTO 語句

INSERT INTO 語句用於向表格中插入新的行。

 語法:

INSERT INTO 表名稱 VALUES (值1, 值2,....)

INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')

指定所要插入數據的列

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

 

7.Update 語句

Update 語句用於修改表中的數據。

語法:

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值


更新某一行中的一個列
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 

更新某一行的若干列
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'

8.DELETE 語句

DELETE 語句用於刪除表中的行。

 語法:

DELETE FROM 表名稱 WHERE 列名稱 = 值

刪除某行
DELETE FROM Person WHERE LastName = 'Wilson'

刪除所有行

可以在不刪除表的情況下刪除所有的行。這意味着表的結構、屬性和索引都是完整的:

DELETE FROM table_name
或者
DELETE * FROM table_name

 

 9.SELECT DISTINCT 語句

在表中,一個列可能會包含多個重復值,有時你也許希望僅僅列出不同(distinct)的值。

DISTINST關鍵詞用於返回唯一不同的值

SQL SELETE DISTINCT 語法

select distinct column_name,column_name FROM table_name;

  

在本教程中,我們將使用 RUNOOB 樣本數據庫。

下面是選自 "Websites" 表的數據:

+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘寶 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鳥教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | +----+--------------+---------------------------+-------+---------+

 

SELECT DISTINCT 實例

下面的SQL語句僅從"Websites" 表的 "country" 列中選取唯一不同的值,也就是去掉‘’‘country’列重復的值

實例:

select distinct country from websites;

輸出結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM