免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
SQL數(shù)據(jù)庫基礎(chǔ)知識

SQL數(shù)據(jù)庫基礎(chǔ)知識-鞏固篇<一>、、、

 

首先展示兩款我個(gè)人很喜歡的數(shù)據(jù)庫-專用于平時(shí)個(gè)人SQL技術(shù)的練習(xí)<特點(diǎn):體積小,好安裝和好卸載,功能完全夠用了>

MySQL-57 DataBase

MS-SQLServer-2000 DataBase

SQL的含義:結(jié)構(gòu)化查詢語言(Structured Query Language)簡稱SQL

作用:SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)是一種用于操作數(shù)據(jù)庫的語言。

結(jié)構(gòu)化查詢語言包含6個(gè)部分:
一:數(shù)據(jù)查詢語言(DQL:Data Query Language):也稱為“數(shù)據(jù)檢索語句”,用以從表中獲得數(shù)據(jù),關(guān)鍵字有:SELECT WHERE,ORDER BY,GROUP BY和HAVING

二:數(shù)據(jù)操作語言(DML:Data Manipulation Language):包括動(dòng)詞INSERT,UPDATE和DELETE。它們分別用于添加,修改和刪除表中的行。也稱為動(dòng)作查詢語言。

三:事務(wù)處理語言(TPL):TPL語句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

四:數(shù)據(jù)控制語言(DCL):

五:數(shù)據(jù)定義語言(DDL):包括動(dòng)詞CREATE和DROP。在數(shù)據(jù)庫中創(chuàng)建新表或刪除表(CREAT TABLE 或 DROP TABLE);為表加入索引

六:指針控制語言(CCL):像DECLARE CURSOR,F(xiàn)ETCH INTO和UPDATE WHERE CURRENT用于對一個(gè)或多個(gè)表單獨(dú)行的操作。

==================

結(jié)構(gòu)化查詢語言中的五種數(shù)據(jù)類型:字符型,文本型,數(shù)值型,邏輯型和日期型。

==================

第一部分:SQL基礎(chǔ)知識:SQL入門知識、、、

SQL 是用于訪問和處理數(shù)據(jù)庫的一種計(jì)算機(jī)語言。
常用到的數(shù)據(jù)庫有:Oracle, SQL Server, DB2, Access 、MySQL等等。
======================
什么是 SQL?
SQL 指結(jié)構(gòu)化查詢語言
SQL 使我們有能力訪問數(shù)據(jù)庫
SQL 是一種 ANSI 的標(biāo)準(zhǔn)計(jì)算機(jī)語言
編者注:ANSI,美國國家標(biāo)準(zhǔn)化組織

==========
SQL常用的對數(shù)據(jù)庫做的一些基礎(chǔ)的操作:
SQL 能做什么?
SQL 面向數(shù)據(jù)庫執(zhí)行查詢
SQL 可從數(shù)據(jù)庫取回?cái)?shù)據(jù)
SQL 可在數(shù)據(jù)庫中插入新的記錄
SQL 可更新數(shù)據(jù)庫中的數(shù)據(jù)
SQL 可從數(shù)據(jù)庫刪除記錄
SQL 可創(chuàng)建新數(shù)據(jù)庫
SQL 可在數(shù)據(jù)庫中創(chuàng)建新表
SQL 可在數(shù)據(jù)庫中創(chuàng)建存儲過程
SQL 可在數(shù)據(jù)庫中創(chuàng)建視圖
SQL 可以設(shè)置表、存儲過程和視圖的權(quán)限

=======
SQL 是一門 ANSI 標(biāo)準(zhǔn)的計(jì)算機(jī)語言,用來訪問和操作數(shù)據(jù)庫系統(tǒng)。
SQL語言中常用的一些關(guān)鍵詞:SELECT、UPDATE、DELETE、INSERT、WHERE
一定要記住,SQL 對大小寫不敏感!
分號是在數(shù)據(jù)庫系統(tǒng)中分隔每條 SQL 語句的標(biāo)準(zhǔn)方法,
===========
RDBMS 指的是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。MS Access, SQL Server, MySQL,IBM DB2,

RDBMS 中的數(shù)據(jù)存儲在被稱為表(tables)的數(shù)據(jù)庫對象中。表是相關(guān)的數(shù)據(jù)項(xiàng)的集合,它由列和行組成。

===============
SQL 分為兩個(gè)部分:數(shù)據(jù)操作語言 (DML) 和 數(shù)據(jù)定義語言 (DDL)。


一、SQL (結(jié)構(gòu)化查詢語言)是用于執(zhí)行查詢的語法。

SELECT - 從數(shù)據(jù)庫表中獲取數(shù)據(jù)
UPDATE - 更新數(shù)據(jù)庫表中的數(shù)據(jù)
DELETE - 從數(shù)據(jù)庫表中刪除數(shù)據(jù)
INSERT INTO - 向數(shù)據(jù)庫表中插入數(shù)據(jù)

======================
二、SQL 的數(shù)據(jù)定義語言 (DDL) 部分使我們有能力創(chuàng)建或刪除表格?;蚴切薷谋淼膶傩?/p>

CREATE DATABASE - 創(chuàng)建新數(shù)據(jù)庫
ALTER DATABASE - 修改數(shù)據(jù)庫
CREATE TABLE - 創(chuàng)建新表
ALTER TABLE - 變更(改變)數(shù)據(jù)庫表
DROP TABLE - 刪除表
CREATE INDEX - 創(chuàng)建索引(搜索鍵)
DROP INDEX - 刪除索引

======================

需要用到的數(shù)據(jù)庫表:

 


SELECT 語法:
1.SELECT 列名稱 FROM 表名稱
2.SELECT * FROM 表名稱

例子:
1.需獲取名為 "LastName" 和 "FirstName" 的列的內(nèi)容(從名為 "Persons" 的數(shù)據(jù)庫表),

SELECT LastName,FirstName FROM Persons

2.從 "Persons" 表中選取所有的列。

SELECT * FROM Persons

結(jié)果集---result-set:SELECT 語句用于從表中選取數(shù)據(jù)。然后將選取的數(shù)據(jù)存儲在一個(gè)結(jié)果表中(稱為結(jié)果集)。

=======================
DISTINCT 語法:不重復(fù)的顯示查詢結(jié)果集,即:查詢的數(shù)據(jù)中重復(fù)的數(shù)據(jù)只顯示一次
1.SELECT DISTINCT 列名稱 FROM 表名稱

例子:
1.從 Company" 列中僅選取唯一不同的值,

SELECT DISTINCT Company FROM Orders

====================-==

WHERE 子句語法:有條件地從表中選取數(shù)據(jù),
1.SELECT 列名稱 FROM 表名稱 WHERE 列 運(yùn)算符 值

where子句中的中常用的運(yùn)算符:
= 等于
<> 不等于 或是 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某個(gè)范圍內(nèi)
LIKE 搜索某種模式

例子:
1.選取居住在城市 "Beijing" 中的人

SELECT * FROM Persons WHERE City='Beijing'

單引號使用:

數(shù)值:這是正確的:SELECT * FROM Persons WHERE Year>1965

文本值:這是正確的:SELECT * FROM Persons WHERE FirstName='Bush'
===============================
AND 運(yùn)算符:
例子:
1.使用 AND 來顯示所有姓為 "Carter" 并且名為 "Thomas" 的人:

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

OR 運(yùn)算符:

例子
1.使用 OR 來顯示所有姓為 "Carter" 或者名為 "Thomas" 的人:

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

AND 和 OR 運(yùn)算符結(jié)合使用:

例子

SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')AND LastName='Carter'

==============================

ORDER BY 語法:用于給查詢的結(jié)果集排序 order by 默認(rèn)是升序排列,desc降序排列 asc升序排列

升序排列1序號的數(shù)據(jù)<2序號的數(shù)據(jù)<3序號的數(shù)據(jù) 同時(shí):數(shù)據(jù)表一般都是自上而下開始,123456、、(頂部的數(shù)據(jù)小,底部的數(shù)據(jù)大)

========================
INSERT語法:
1.INSERT INTO 表名稱 VALUES (值1, 值2,....)
2.INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

例子
1.在person表中插入新的一行數(shù)據(jù)

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

2.在person表的指定列中插入數(shù)據(jù)

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

====================

Update語法:
1.UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
例子
1.為 lastname 是 "Wilson" 的人添加 firstname:為Fred

UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'

更新某一行中的若干列

2.為 lastname 是 "Wilson" 的人修改地址(address),并添加城市名稱(city):

UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'WHERE LastName = 'Wilson'

=====================

DELETE 語法:DELETE 語句用于刪除表中的行。
1.DELETE FROM 表名稱 WHERE 列名稱 = 值
例子
1.刪除lastname 是Wilson的那行數(shù)據(jù)

DELETE FROM Person WHERE LastName = 'Wilson' 

2.可以在不刪除表的情況下刪除所有的行。這意味著表的結(jié)構(gòu)、屬性和索引都是完整的:

DELETE FROM table_name或是DELETE * FROM table_name

===============================

第二部分:SQL-進(jìn)階部分、、、

需要用到的數(shù)據(jù)庫表:

 

TOP 句子:
1.SQL Server 的語法:
SELECT TOP number|percent column_name(s) FROM table_name

2.MySQL 和 Oracle 中的 SQL SELECT TOP 是等價(jià)的
MySQL 語法:
SELECT column_name(s) FROM table_name LIMIT number

===============
TOP使用的例子
1.從上面的 "Persons" 表中選取頭兩條記錄。

SELECT TOP 2 * FROM Persons

2.從上面的 "Persons" 表中選取 50% 的記錄。

SELECT TOP 50 PERCENT * FROM Persons

====================

LIKE 操作符 的語法:
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
例子
1.從上面的 "Persons" 表中選取居住在以 "N" 開始的城市里的人:

SELECT * FROM Persons WHERE City LIKE 'N%'

2.從 "Persons" 表中選取居住在以 "g" 結(jié)尾的城市里的人:

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%'

==============

SQL通配符語法:

% 替代一個(gè)或多個(gè)字符
_ 僅替代一個(gè)字符

[charlist] 字符列中的任何單一字符

[^charlist] 或者 [!charlist] 不在字符列中的任意一個(gè)

例子
1.從上面的 "Persons" 表中選取居住在以 "Ne" 開始的城市里的人:

SELECT * FROM Persons WHERE City LIKE 'Ne%'

2.從 "Persons" 表中選取居住在包含 "lond" 的城市里的人:

SELECT * FROM Persons WHERE City LIKE '%lond%'

3.從上面的 "Persons" 表中選取名字的第一個(gè)字符之后是 "eorge" 的人:

SELECT * FROM Persons WHERE FirstName LIKE '_eorge'

4.從 "Persons" 表中選取的這條記錄的姓氏以 "C" 開頭,然后是一個(gè)任意字符,然后是 "r",然后是任意字符,然后是 "er":

SELECT * FROM Persons WHERE LastName LIKE 'C_r_er'

5.從上面的 "Persons" 表中選取居住的城市以 "A" 或 "L" 或 "N" 開頭的人:

SELECT * FROM Persons WHERE City LIKE '[ALN]%'

6.從上面的 "Persons" 表中選取居住的城市不以 "A" 或 "L" 或 "N" 開頭的人:

SELECT * FROM Persons WHERE City LIKE '[!ALN]%'

===============

IN 操作符語法:
1.SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
例子
1.從上表中選取姓氏為 Adams 和 Carter 的人:

SELECT * FROM Persons WHERE LastName IN ('Adams','Carter')

===================

BETWEEN ... AND操作符的語法:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
例子
1.以字母順序顯示介于 "Adams"(包括)和 "Carter"(不包括)之間的人,

SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'

2.以字母順序顯示介于 "Adams"(包括)和 "Carter"(不包括)之外的人

SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Adams' AND 'Carter'

===================

Alias 別名的語法:
1.表中的別名語法
SELECT column_name(s) FROM table_name AS alias_name
2.列中的別名語法:
SELECT column_name AS alias_name FROM table_name

例子
1.有兩個(gè)表分別是:"Persons" 和 "Product_Orders"。我們分別為它們指定別名 "p" 和 "po"。
現(xiàn)在,我們希望列出 "John Adams" 的所有定單。

SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Product_Orders AS po WHERE p.LastName='Adams' AND p.FirstName='John'

不使用表的別名:

SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName FROM Persons, Product_Orders 

WHERE Persons.LastName='Adams' AND Persons.FirstName='John'

2.列名別名:

SELECT LastName AS Family, FirstName AS Name FROM Persons

=================

需要用到的數(shù)據(jù)庫表:

 


Jion語法
主鍵(Primary Key)是一個(gè)列,在這個(gè)列中的每一行的值都是唯一的。在表中,每個(gè)主鍵的值都是唯一的。

例子
1.誰訂購了產(chǎn)品,并且他們訂購了什么產(chǎn)品?

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM Persons, OrdersWHERE Persons.Id_P = Orders.Id_P 

2.列出所有人的定購,

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsINNER JOIN OrdersON Persons.Id_P = Orders.Id_PORDER BY Persons.LastName

================================

Join的四種類型:
JOIN: 如果表中有至少一個(gè)匹配,則返回行
LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN: 即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN: 只要其中一個(gè)表中存在匹配,就返回行

=======================

需要用到的數(shù)據(jù)庫表:

 


一、INNER JOIN 的語法:其實(shí)inner join 就是join
1.SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

圖解:

 

例子
1.列出所有人的定購。

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsINNER JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName

=============================

需要用到的數(shù)據(jù)庫表:

 


二、Left Join 的語法:
會(huì)從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。
1.SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

圖解:

 

例子
1.列出所有的人,以及他們的定購 - 如果有的話。

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsLEFT JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName

==================

需要用到的數(shù)據(jù)庫表:

 


三、RIGHT JOIN 的語法:
會(huì)從右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中沒有匹配的行。
1.SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

圖解:

 

例子
1.列出所有的定單,以及定購它們的人 - 如果有的話。

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsRIGHT JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName

會(huì)從右表 (Orders) 那里返回所有的行,即使在左表 (Persons) 中沒有匹配的行。

====================

需要用到的數(shù)據(jù)庫表:

 


四、FULL JOIN 的語法-全連接:
1.SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name

圖解:

 

例子
1.列出所有的人,以及他們的定單,以及所有的定單,以及定購它們的人。

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsFULL JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName

會(huì)從左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中沒有匹配,或者如果 "Orders" 中的行在表 "Persons" 中沒有匹配,

==========================

需要用到的數(shù)據(jù)庫表:

 


UNION 操作符的語法:
UNION 內(nèi)部的 SELECT 語句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時(shí),每條 SELECT 語句中的列的順序必須相同。
默認(rèn)地,UNION 操作符選取不同的值。如果允許重復(fù)的值,請使用 UNION ALL。
1.SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
UNION ALL 語法:
1.SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

例子
1.列出所有在中國和美國的不同的雇員名:

SELECT E_Name FROM Employees_ChinaUNIONSELECT E_Name FROM Employees_USA

2.列出在中國和美國的所有的雇員:

SELECT E_Name FROM Employees_ChinaUNION ALLSELECT E_Name FROM Employees_USA

===================================================

1.創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE database_name
2.創(chuàng)建數(shù)據(jù)表
CREATE TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
....
)

=====================
SQL中的約束:
NOT NULL 不接受 NULL 值。這意味著,如果不向字段添加值,就無法插入新記錄或者更新記錄。
UNIQUE 唯一標(biāo)識數(shù)據(jù)庫表中的每條記錄。
PRIMARY KEY 唯一標(biāo)識數(shù)據(jù)庫表中的每條記錄。 主鍵必須包含唯一的值。主鍵列不能包含 NULL 值。每個(gè)表都應(yīng)該有一個(gè)主鍵,并且每個(gè)表只能有一個(gè)主鍵。
FOREIGN KEY 外鍵約束:個(gè)表中的 FOREIGN KEY 指向另一個(gè)表中的 PRIMARY KEY。
CHECK 用于限制列中的值的范圍。如果對單個(gè)列定義 CHECK 約束,那么該列只允許特定的值。如果對一個(gè)表定義 CHECK 約束,那么此約束會(huì)在特定的列中對值進(jìn)行限制。
DEFAULT 用于向列中插入默認(rèn)值。

===================
索引 INDEX 用于快速高效地查詢數(shù)據(jù)。
DROP INDEX 刪除索引

==============
ALTER 用于在已有的表中添加、修改或刪除列。
1.在表中添加列,
LTER TABLE table_name ADD column_name datatype
2.刪除表中的列,
ALTER TABLE table_name DROP COLUMN column_name

=============
AUTO INCREMENT 自動(dòng)增長

=============
VIEW 視圖

==================
日期:
Date 數(shù)據(jù)類型
1.MySQL 使用下列數(shù)據(jù)類型在數(shù)據(jù)庫中存儲日期或日期/時(shí)間值:
DATE - 格式 YYYY-MM-DD
DATETIME - 格式: YYYY-MM-DD HH:MM:SS
TIMESTAMP - 格式: YYYY-MM-DD HH:MM:SS
YEAR - 格式 YYYY 或 YY

2.SQL Server 使用下列數(shù)據(jù)類型在數(shù)據(jù)庫中存儲日期或日期/時(shí)間值:
DATE - 格式 YYYY-MM-DD
DATETIME - 格式: YYYY-MM-DD HH:MM:SS
SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
TIMESTAMP - 格式: 唯一的數(shù)字

====================================
數(shù)據(jù)類型:
text 用于文本或文本與數(shù)字的組合。最多 255 個(gè)字符。
Byte 允許 0 到 255 的數(shù)字。
Integer 允許介于 -32,768 到 32,767 之間的數(shù)字。
Long 允許介于 -2,147,483,648 與 2,147,483,647 之間的全部數(shù)字
Yes/No 邏輯字段,可以顯示為 Yes/No、True/False 或 On/Off。在代碼中,使用常量 True 和 False (等價(jià)于 1 和 0)
CHAR(size) 保存固定長度的字符串(可包含字母、數(shù)字以及特殊字符)。在括號中指定字符串的長度。最多 255 個(gè)字符。
VARCHAR(size) 保存可變長度的字符串(可包含字母、數(shù)字以及特殊字符)。在括號中指定字符串的最大長度。最多 255 個(gè)字符。注釋:如果值的長度大于 255,則被轉(zhuǎn)換為 TEXT 類型。

====================
DBMS - 數(shù)據(jù)庫管理系統(tǒng)(Database Management System)
RDBMS - 關(guān)系數(shù)據(jù)庫管理系統(tǒng)(Relational Database Management System)IBM 公司發(fā)明了 RDBMS。

==================
SQL中常用的一些函數(shù):
avg 平均值
count 統(tǒng)計(jì)
max 最大值
min 最小值
sum 求和
group by 對查詢結(jié)果集進(jìn)行分組
having 過濾
=========================

無法比較 NULL 和 0;它們是不等價(jià)的。因?yàn)椋簄ull是指不能為空的值,而0就是表示數(shù)值0

=====================

第三部分:基礎(chǔ)的SQL知識檢測題、、、

SQL 是用于訪問和處理數(shù)據(jù)庫的一種計(jì)算機(jī)語言、常用的數(shù)據(jù)庫:SQL Server, DB2,MySQL、 Access

1 . SQL 指的是?
Structured Query Language

哪個(gè) SQL 語句用于從數(shù)據(jù)庫中提取數(shù)據(jù)?
SELECT
哪條 SQL 語句用于更新數(shù)據(jù)庫中的數(shù)據(jù)?
UPDATE
哪條 SQL 語句用于刪除數(shù)據(jù)庫中的數(shù)據(jù)?
DELETE
哪條 SQL 語句用于在數(shù)據(jù)庫中插入新的數(shù)據(jù)?
insert into
通過 SQL,您如何從 "Persons" 表中選取 "FirstName" 列?
SELECT FirstName FROM Persons
通過 SQL,您如何從 "Persons" 表中選取所有的列?
SELECT * FROM Persons
通過 SQL,您如何從 "Persons" 表中選取 "FirstName" 列的值等于"Peter" 的所有記錄?
SELECT * FROM Persons WHERE FirstName='Peter'
通過 SQL,您如何從 "Persons" 表中選取 "FirstName" 列的值以 "a" 開頭的所有記錄?
SELECT * FROM Persons WHERE FirstName LIKE 'a%'

判斷題:當(dāng)所列出的某個(gè)條件為 true 時(shí),OR 運(yùn)算符會(huì)顯示記錄。當(dāng)列出的所有條件為 true 時(shí),AND 運(yùn)算符會(huì)顯示記錄。

 

對的

通過 SQL,您如何在表 Persons 中選擇 FirstName 等于 Thomas 而 LastName 等于 Carter 的所有記錄?
SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

通過 SQL,您如何按字母順序選取 Persons 表中 LastName 介于 Adams 和 Carter 的所有記錄?
SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'

哪條 SQL 語句可返回唯一不同的值?
SELECT DISTINCT
哪個(gè) SQL 關(guān)鍵詞用于對結(jié)果集進(jìn)行排序?
ORDER BY
通過 SQL,您如何根據(jù) "FirstName" 列降序地從 "Persons" 表返回所有記錄?
SELECT * FROM Persons ORDER BY FirstName DESC
通過 SQL,您如何向 "Persons" 表插入新的記錄?
INSERT INTO Persons VALUES ('Jimmy', 'Jackson')
通過 SQL,您如何向 "Persons" 表中的 "LastName" 列插入 "Wilson" ?
INSERT INTO Persons (LastName) VALUES ('Wilson')
您如何把 "Persons" 表中 "LastName" 列的 "Gates" 改為 "Wilson" ?
UPDATE Persons SET LastName='Wilson' WHERE LastName='Gates'
通過 SQL,您如何在 "Persons" 表中刪除 "FirstName" 等于 "Fred" 的紀(jì)錄?
DELETE FROM Persons WHERE FirstName = 'Fred'
20.通過 SQL,您如何返回 "Persons" 表中記錄的數(shù)目?
SELECT COUNT(*) FROM Persons

=====================

圖片版:

 

======================================================== 

附錄部分:

=====================

常用的語法:

Select SELECT 字段名 FROM 表名;Distinct SELECT DISTINCT 字段名 FROM 表名;Where SELECT 字段名 FROM 表名 WHERE 條件;And/Or SELECT 字段名 FROM 表名 WHERE 簡單條件1 {[AND|OR] 簡單條件2}+;In SELECT 字段名 FROM 表名 WHERE 字段名 IN ('值1', '值2', ...);Between SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN '值1' AND '值2';Like SELECT 字段名 FROM 表名 WHERE 字段名 LIKE {模式};Order By SELECT 字段名 FROM 表名 [WHERE 條件]ORDER BY 字段名 [ASC, DESC];Count SELECT COUNT(字段名) FROM 表名;Group By SELECT 字段1, SUM(字段2) FROM 表名 GROUP BY 字段1;Having SELECT 字段1, SUM(字段2) FROM 表名 GROUP BY 字段1 HAVING (欄位);Create Table CREATE TABLE 表名(字段1 數(shù)據(jù)類型,字段2 數(shù)據(jù)類型,... );Drop Table DROP TABLE 表名;Truncate Table TRUNCATE TABLE 表名;Insert Into INSERT INTO 表名 (字段1, 字段2, ...)VALUES (值1, 值2, ...);Update UPDATE 表名SET 字段1 = [新值]WHERE 條件;Delete From DELETE FROM 表名WHERE 條件;

==================================

簡單的SQL語句及翻譯

1.營業(yè)額超過 $1,000 的資料

SELECT Store_Name FROM Store_Information WHERE Sales > 1000;

2.選出所有 Sales 高于 $1,000 或是 Sales 在 $500 及 $275 之間的資料

SELECT Store_Name FROM Store_Information WHERE Sales > 1000 OR (Sales < 500 AND Sales > 275);

3.所有含蓋 Los Angeles 或 San Diego 的資料

SELECT * FROM Store_Information WHERE Store_Name IN ('Los Angeles', 'San Diego');

4.所有介于 January 6, 1999 及 January 10, 1999 中的資料

SELECT * FROM Store_Information WHERE Txn_Date BETWEEN 'Jan-06-1999' AND 'Jan-10-1999';

5.依照 Sales 欄位的由大往小列出 Store_Information 表格中的資料:由小往大 (ascending) 或是由大往小 (descending)

SELECT Store_Name, Sales, Txn_Date FROM Store_Information ORDER BY Sales DESC;

6. store_name 欄不是空白的資料

SELECT COUNT (Store_Name) FROM Store_Information WHERE Store_Name IS NOT NULL;

7.找出我們的表格中有多少個(gè)不同的 store_name,

SELECT COUNT (DISTINCT Store_Name) FROM Store_Information;

8.取前客戶表的前3個(gè)記錄的例子:

MS-SQL中SELECT TOP 3 * FROM CUSTOMERS;MySQL中SELECT * FROM CUSTOMERSLIMIT 3;Oracle中SELECT * FROM CUSTOMERSWHERE ROWNUM <= 3;

=============

欄位 (column) 及列位 (row)
主鍵 (Primary Key)
組合鍵 (Composite Key)
ANSI(American National Standards Institute 美國國家標(biāo)準(zhǔn)化組織)
FOREIGN KEY 外鍵約束
PRIMARY KEY 主鍵約束
================
常用的連接查詢:
INNER JOIN:如果表中有至少一個(gè)匹配,則返回行
LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN:只要其中一個(gè)表中存在匹配,則返回行

INNER JOIN: 返回記錄當(dāng)兩個(gè)表有匹配。等值連接。

LEFT JOIN: 返回左表中所有的行,即使右表中沒有匹配。

RIGHT JOIN: 返回右表中所有的行,即使有在左表中沒有匹配。

FULL JOIN: 返回表中匹配的所有行。

SELF JOIN: 是用來連接表本身,如果表有兩張表,暫時(shí)改名至少在一個(gè)表中的SQL語句。

CARTESIAN JOIN: 返回來自兩個(gè)或更多個(gè)聯(lián)接的表的記錄的集合的笛卡爾乘積。

==================
SQL中的約束 (Constraints)
NOT NULL - 指示某列不能存儲 NULL 值。
UNIQUE - 保證某列的每行必須有唯一的值。
PRIMARY KEY - NOT NULL 和 UNIQUE 的結(jié)合。確保某列(或兩個(gè)列多個(gè)列的結(jié)合)有唯一標(biāo)識,有助于更容易更快速地找到表中的一個(gè)特定的記錄。
FOREIGN KEY - 保證一個(gè)表中的數(shù)據(jù)匹配另一個(gè)表中的值的參照完整性。
CHECK - 保證列中的值符合指定的條件。
DEFAULT - 規(guī)定沒有給列賦值時(shí)的默認(rèn)值。
=============
視圖 view
視圖是基于 SQL 語句的結(jié)果集的可視化的表。視圖中的字段就是來自一個(gè)或多個(gè)數(shù)據(jù)庫中的真實(shí)的表中的字段。
=============
函數(shù):

SUM() 語法SELECT SUM(column_name) FROM table_name;AVG() 語法SELECT AVG(column_name) FROM table_nameCOUNT() 語法SELECT COUNT(column_name) FROM table_name;SELECT COUNT(*) FROM table_name;SELECT COUNT(DISTINCT column_name) FROM table_name;NULL 不計(jì)入MAX() 語法SELECT MAX(column_name) FROM table_name;MIN() 語法SELECT MIN(column_name) FROM table_name;

 

====================
DDL - 數(shù)據(jù)定義語言:

命令 描述
CREATE 創(chuàng)建一個(gè)新的表,表的視圖,或者在數(shù)據(jù)庫中的對象
ALTER 修改現(xiàn)有的數(shù)據(jù)庫對象,例如一個(gè)表
DROP 刪除整個(gè)表,數(shù)據(jù)庫中的表或其他對象或視圖
DML - 數(shù)據(jù)操縱語言:

命令 描述
SELECT 從一個(gè)或多個(gè)表中檢索特定的記錄
INSERT 創(chuàng)建記錄
UPDATE 修改記錄
DELETE 刪除記錄
DCL - 數(shù)據(jù)控制語言:

命令 描述
GRANT 授予用戶權(quán)限
REVOKE 收回用戶授予的權(quán)限

=================================
數(shù)據(jù)完整性:
實(shí)體完整性: 表中沒有重復(fù)行

域完整性: 通過限制的類型,格式或值的范圍強(qiáng)制對于一個(gè)給定列的有效條目

參考完整性: 行不能被刪除,被其他記錄使用

用戶定義的完整性: 強(qiáng)制執(zhí)行不屬于實(shí)體,域和參照完整性一些具體的業(yè)務(wù)規(guī)則
========================
事務(wù)具有以下四個(gè)標(biāo)準(zhǔn)屬性,通常由首字母縮寫ACID簡稱:

原子: 確保工作單元中的所有操作都成功完成; 否則,該事務(wù)被中止的故障點(diǎn),操作回滾到操作之前的狀態(tài)。

一致性: 確保數(shù)據(jù)庫正確后成功提交事務(wù)更改狀態(tài)。

隔離: 事務(wù)操作彼此獨(dú)立和透明。

持久性: 可確保提交的事務(wù)的結(jié)果或仍然存在系統(tǒng)故障的情況下的作用。

命令:

COMMIT: 保存更改。

ROLLBACK: 回滾更改。

SAVEPOINT: 回滾事務(wù)組創(chuàng)建點(diǎn)

SET TRANSACTION: 事務(wù)放置的名稱。
=================
SQL注入:

常用的處理SQL注入的方式:

=====================

 

 

 

 

—————>>>>>I'm  a 程序媛。。。.|

web developer / designer / 請叫我最美女神

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SQL TOP 子句
SQL零基礎(chǔ)入門必知必會(huì)!
基礎(chǔ)篇:數(shù)據(jù)庫 SQL 入門教程
常見SQL查詢
sql常用語句整理(包括增刪改查)
SQL Server 創(chuàng)建表及其約束條件
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服