1. 程式人生 > >sql常用語句整理(包括增刪改查)

sql常用語句整理(包括增刪改查)

(本文是參考w3c中的sql教程內容,再結合其他相關材料整理的)

一、插入(複製)表資料

1、INSERT INTO 語句

(1)插入新的一行資料

INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing');
(2)在指定的列中插入資料
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees');
2、SQL SELECT INTO 語句可用於建立表的備份復件

(1)在建表時複製所有資料:

create table userinfo_new as
select * from userinfo;

(2)在建表時複製部分資料:
create table userinfo_new1 as select id,username from userinfo;

(3)在新增時複製所有資料:
insert into userinfo_new select * from userinfo;

(4)在新增時複製部分資料:
insert into userinfo_new(id,username) select id,username from userinfo;

二、修改表資料

1、Update 語句
(1)無條件更新:

update userinfo set userpwd='111'
,email='[email protected]';
(2)有條件更新:
update userinfo set userpwd='123456' where username='xxx';

三、刪除表資料

1、DELETE 語句

無條件刪除:

dalete from userinfo;
有條件刪除:
delete from userinfo where username='yyy';
四、查詢表資料

1、SELECT 語句

(1)查詢所有欄位:

select * from users;
(2)查詢指定欄位:
select username,salary from users;
2、SELECT DISTINCT 語句

如需從 Company" 列中僅選取唯一不同的值,我們需要使用 SELECT DISTINCT 語句:

SELECT DISTINCT Company FROM Orders; 

3、SQL where

選取居住在城市 "Beijing" 中的人,我們需要向 SELECT 語句新增 WHERE 子句:

SELECT * FROM Persons WHERE City='Beijing';
注意:SQL 使用單引號來環繞文字值(大部分資料庫系統也接受雙引號)。如果是數值,請不要使用引號。

4、SQL AND & OR

(1)使用 AND 來顯示所有姓為 "Carter" 並且名為 "Thomas" 的人:

SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter';
(2)使用 OR 來顯示所有姓為 "Carter" 或者名為 "Thomas" 的人:
SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter';
5、ORDER BY 語句用於對結果集進行排序。
(1)以字母順序顯示公司名稱:
SELECT Company, OrderNumber FROM Orders ORDER BY Company;
(2)以字母順序顯示公司名稱(Company),並以數字順序顯示順序號(OrderNumber):
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber;
(3)以逆字母順序顯示公司名稱:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC;
(4)以逆字母順序顯示公司名稱,並以數字順序顯示順序號:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC;

6、TOP 子句

SQL Server 的語法:

從"Persons" 表中選取頭兩條記錄:
SELECT TOP 2 * FROM Persons;

從"Persons" 表中選取 50% 的記錄:

SELECT TOP 50 PERCENT * FROM Persons;

MySQL 語法:

從"Persons" 表中選取頭兩條記錄:
SELECT * FROM Persons LIMIT 2;

Oracle 語法:

從"Persons" 表中選取頭兩條記錄:
SELECT * FROM Persons WHERE ROWNUM <= 2;
7、LIKE 操作符、SQL 萬用字元
(1)從"Persons" 表中選取居住在以 "N" 開始的城市裡的人:
SELECT * FROM Persons WHERE City LIKE 'N%';
(2)從"Persons" 表中選取居住在以 "g" 結尾的城市裡的人:
SELECT * FROM Persons WHERE City LIKE '%g';
(3)從 "Persons" 表中選取居住在包含 "lon" 的城市裡的人:
SELECT * FROM Persons WHERE City LIKE '%lon% ;
(4)從 "Persons" 表中選取居住在不包含 "lon" 的城市裡的人:
SELECT * FROM Persons WHERE City NOT LIKE '%lon%';
(5)從"Persons" 表中選取名字的第一個字元之後是 "eorge" 的人:
SELECT * FROM Persons WHERE FirstName LIKE '_eorge';
(6)從"Persons" 表中選取的這條記錄的姓氏以 "C" 開頭,然後是一個任意字元,然後是 "r",然後是任意字元,然後是 "er":
SELECT * FROM Persons WHERE LastName LIKE 'C_r_er';
(7)從"Persons" 表中選取居住的城市以 "A" 或 "L" 或 "N" 開頭的人:
SELECT * FROM Persons WHERE City LIKE '[ALN]%';
(8)從"Persons" 表中選取居住的城市不以 "A" 或 "L" 或 "N" 開頭的人:
SELECT * FROM Persons WHERE City LIKE '[!ALN]%';
8、IN 操作符
從表中選取姓氏為 Adams 和 Carter 的人:
SELECT * FROM Persons WHERE LastName IN ('Adams','Carter');
9、BETWEEN 操作符
以字母順序顯示介於 "Adams"(包括)和 "Carter"(不包括)之間的人:
SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter';

注意:不同的資料庫對 BETWEEN...AND 操作符的處理方式是有差異的。某些資料庫會列出介於 "Adams" 和 "Carter" 之間的人,但不包括 "Adams" 和 "Carter" ;某些資料庫會列出介於 "Adams" 和 "Carter" 之間幷包括 "Adams" 和 "Carter" 的人;而另一些資料庫會列出介於 "Adams" 和 "Carter" 之間的人,包括 "Adams" ,但不包括 "Carter" 。

所以,請檢查你的資料庫是如何處理 BETWEEN....AND 操作符的!

10、為列名稱和表名稱指定別名(Alias)(1)表的 SQL Alias 語法
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Product_Orders AS po WHERE p.LastName='Adams' AND p.FirstName='John';
(2)列的 SQL Alias 語法
SELECT LastName AS Family, FirstName AS Name FROM Persons;
10、Join(Inner Join)、Left Join(Left Outer Join)、Right Join(Right Outer Join)、Full Join(Full Outer Join)

"Persons" 表:

Id_PLastNameFirstNameAddressCity
1AdamsJohnOxford StreetLondon
2BushGeorgeFifth AvenueNew York
3CarterThomasChangan StreetBeijing

"Orders" 表:

Id_OOrderNoId_P
1778953
2446783
3224561
4245621
53476465
(1)Join用where 聯表查詢:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P = Orders.Id_P ;
用Join(Inner Join)查詢:INNER JOIN 關鍵字在表中存在至少一個匹配時返回行。如果 "Persons" 中的行在 "Orders" 中沒有匹配,就不會列出這些行。
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName;
LastNameFirstNameOrderNo
AdamsJohn22456
AdamsJohn24562
CarterThomas77895
CarterThomas44678
(2)左外連線Left Join(Left Outer Join):LEFT JOIN 關鍵字會從左表 (Persons) 那裡返回所有的行,即使在右表 (Orders) 中沒有匹配的行。
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName;
LastNameFirstNameOrderNo
AdamsJohn22456
AdamsJohn24562
CarterThomas77895
CarterThomas44678
BushGeorge
(3)右外連線Right Join(Right Outer Join):RIGHT JOIN 關鍵字會從右表 (Orders) 那裡返回所有的行,即使在左表 (Persons) 中沒有匹配的行。
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons RIGHT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName;
LastNameFirstNameOrderNo
AdamsJohn22456
AdamsJohn24562
CarterThomas77895
CarterThomas44678
34764
(4)全連線Full Join(Full Outer Join):FULL JOIN 關鍵字會從左表 (Persons) 和右表 (Orders) 那裡返回所有的行。如果 "Persons" 中的行在表 "Orders" 中沒有匹配,或者如果 "Orders" 中的行在表 "Persons" 中沒有匹配,這些行同樣會列出。
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName;
LastNameFirstNameOrderNo
AdamsJohn22456
AdamsJohn24562
CarterThomas77895
CarterThomas44678
BushGeorge
34764
11、Union:UNION 操作符用於合併兩個或多個 SELECT 語句的結果集。

注意:UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 SELECT 語句中的列的順序必須相同。UNION 結果集中的列名總是等於 UNION 中第一個 SELECT 語句中的列名。

Employees_China:

E_IDE_Name
01Zhang, Hua
02Wang, Wei
03Carter, Thomas
04Yang, Ming

Employees_USA:

E_IDE_Name
01Adams, John
02Bush, George
03Carter, Thomas
04Gates, Bill

(1)UNION命令列出所有在中國和美國的不同的僱員名:

SELECT E_Name FROM Employees_China UNION SELECT E_Name FROM Employees_USA;
E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Gates, Bill
(2)UNION ALL 命令列出在中國和美國的所有的僱員:
SELECT E_Name FROM Employees_China UNION ALL 
            
           

相關推薦

sql常用語句整理(包括刪改),適合小白使用

SELECT * FROM Persons WHERE ROWNUM <= 2;  7、LIKE 操作符、SQL 萬用字元(1)從"Persons" 表中選取居住在以 "N" 開始的城市裡的人:SELECT * FROM Persons WHERE City LIKE'N%';  (2)從"Person

sql常用語句整理(包括刪改)

(本文是參考w3c中的sql教程內容,再結合其他相關材料整理的)一、插入(複製)表資料1、INSERT INTO 語句(1)插入新的一行資料INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijin

偏於SQL語句的 sqlAlchemy 刪改操作

select 比較 esc nec 第一個 映射 webp char 定義 ORM 江湖 曾幾何時,程序員因為懼怕SQL而在開發的時候小心翼翼的寫著sql,心中總是少不了恐慌,萬一不小心sql語句出錯,搞壞了數據庫怎麽辦?又或者為了獲取一些數據,什麽內外左右連接,函數存

MyBatis之SQL語句對映檔案刪改和Java引數如何對應

轉載 http://limingnihao.iteye.com/blog/781911 select 一個select 元素非常簡單。例如: <!-- 查詢學生,根據id --> <select id="getStudent" param

Mysql常用命令操作之刪改

賬號 建立 批量插入 創建表 tab use 常用命令 default images 1.數據庫操作: 1.1 創建數據庫 : create database <數據庫名> a.建立一個名為oldboy_default的數據

mql語句中的刪改

增 insert into 表名(列名1,列名2…) values(值1,值2…); 刪 delete from 表名 where 條件表示式 改 update 表名 set 列名=新值1,列名=新值2 where 條件表示式

SQL Server 基本操作之刪改

回顧一些學習和使用的資料庫基礎知識: 首先看下建立一個數據庫操作類: #pragma once #import "C:\Program Files\Common Files\System\ADO\msado15.dll" named_guids rename("EOF","

Sql Server 的crud(刪改)以及一些簡單的巢狀查詢

列出一些簡單的查詢語句,做一下筆記! Ps:使用sql語句最好統一大小寫 1:建立和刪除資料庫 create database dbname //建立資料庫 drop database dbname //刪除資料庫 2:建立表 use db

SQL常用刪改語句

滿足 between 結構 模糊 運算 源表 刪除表 sel 模糊查詢 1增 1.1【插入單行】insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性別,出生日期) values (‘開心朋

複習之SQL語句(一)——常用單表“刪改語句使用

結構化查詢語言(Structured Query Language)簡稱SQL 結構化查詢語言是高階的非過程化程式語言,允許使用者在高層資料結構上工作。它不要求使用者指定對資料的存放方法,也不需要使用者瞭解具體的資料存放方式,所以具有完全不同底層結構的不同資料庫

sql語句常用刪改

(本文是參考w3c中的sql教程內容,再結合其他相關材料整理的) 一、插入(複製)表資料 1、INSERT INTO 語句 (1)插入新的一行資料 [sql] view plain copy print? INSERTINTO Persons VALUES ('Gates', 'Bill', 

oracle中的刪改和一些常用sql語句

對於oracle工作當中的操作覺得看了我的部落格基本就沒什麼問題了。通俗易懂 oracle當中的修改密碼問題 1. 管理員登入     *. sqlplus sys/密碼 as sysdba     *. sqlplus / as sysdba 2. 解鎖 alter

常用刪改sql示例

sql常用查詢一、插入數據 (1)INSERT INTO Persons VALUES (‘Gates‘, ‘Bill‘, ‘Xuanwumen 10‘, ‘Beijing‘) (2)INSERT INTO Persons (LastName, Address) VALUES

SQL語句 刪改

ids 表名 set int delet 漢族 nat pda delete 增: insert into 表名 values(‘阿紫‘,‘0‘,‘回族‘ insert into 表名 (sex,[name],nation) values (‘1‘,‘阿碧‘,‘漢族‘) 刪

JavaWeb SQL常用語言(刪改

dbd -o 相等 3.3 主鍵 src 個學生 ima all 1、SQL常用插入語INSERT(增) 1.1插入字符類型數據  需要使用單引號’將字符串引起來,如果要插入的值中有單引號’,則需要使用兩個單引號’’進行轉義,如下圖給student表中插

sql語句操作mysql資料庫的刪改(命令提示符和引入mysql模組兩種方式)

1:命令提示符方法: 我的 :mysql.sql檔案。當然首先得開啟本地伺服器(我的是xampp); 少了一步了:首先要在進入mysql -h127.0.0.1 -u root -p;後引入我的mysql.sql 檔案; 我用的是 source方法:  source

MongoDB刪改sql語句的使用和編寫

Mongodb 操作筆記 開啟一個數據集合上方的黑色條框輸入: 1、集合 建立集合:use 集合名 刪除集合:db.集合名.drop() 刪除當前所有集合:db.dropDatabase() --慎用 建立固定集合:db.createCollection("集合名", { c

SQL語句刪改/高階查詢

有道筆記檢視常用sql語句 sql高階查詢語句 SQL語句規範 分號結尾 關鍵詞大小寫不區分 建立/刪除資料庫 建立:CREATE DATABASE 資料庫名 ysj_example; 刪除:DROP DATABASE 資料庫名 ysj_example; 建立/刪

利用sql語句進行刪改

1.查詢   函式:raw(sql語句)   語法:Entry.objects.raw(sql)   返回:QuerySet 2.增刪改   from django.db import connection   def doSQL(request):     with connection.curso()

安卓使用sql語句實現SQLite資料庫的刪改

本篇博文是在上一篇新建了資料庫的基礎上編寫的,上一篇博文連結:https://blog.csdn.net/liyunfu233/article/details/84193368 首先在佈局檔案中新增四個按鍵分別是增刪改查四種方法,在主視窗類中實現四種方法: 第一個點選按鈕增加一條記錄