国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

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

開通VIP
SQL必知必會實(shí)踐--mysql
--
mysql安裝
--
 
 
終端執(zhí)行命令
 
(可參考本筆記MySQL環(huán)境搭建-mysql 8.0.13 解壓版安裝配置方法圖文教程)
 
mysql 教學(xué)demo --命令行輸指令創(chuàng)建表
 
數(shù)據(jù)庫tysql關(guān)系圖
 

 
--
概念
--
 
數(shù)據(jù)庫:保存有組織數(shù)據(jù)的容器
數(shù)據(jù)庫軟件:也作DBMS,數(shù)據(jù)庫是通過DBMS來創(chuàng)建和操縱的容器。
表table:某種特定類型的結(jié)構(gòu)化清單。數(shù)據(jù)庫中的每個表都有唯一的名字來標(biāo)識自己,稱之為表名。
模式schema:用來描述關(guān)于數(shù)據(jù)庫和表的布局及特性的信息。
表的列column:表中的一個字段,所有表都是由一個或多個列組成的。
行row:表中的一條記錄。record
主鍵primary key:一列或幾列,其值能夠唯一標(biāo)識表中的每一行。不能重用,不允許修改和更新,即使某行從表中刪除,他的主鍵也不能賦給以后的新行。
數(shù)據(jù)類型datatype:所允許的數(shù)據(jù)的類型,每個表列都有相應(yīng)的數(shù)據(jù)類型,它限制該列中存儲的數(shù)據(jù)。
 
--
ch2 檢索數(shù)據(jù)
--
 
查詢
 
SELECT 列1, 列2 FROM 表;
 
一般習(xí)慣:關(guān)鍵是大寫,列名和表名使用小寫。
所有空格都被忽略。即SQL可以寫一行也可以多行。不區(qū)分大小寫,不論關(guān)鍵字還是表名列名。
 
SELECT DISTINCT vend_id FROM Products; --僅顯示不同項(xiàng),DISTINICT必須放在列名的前面,否則無效(不會報(bào)錯,僅DISTINICT不生效,SELECT正常執(zhí)行)
SELECT DISTINCT vend_id FROM Products LIMIT 2; --限制僅輸出查詢的兩行,不同數(shù)據(jù)庫軟件對于指令略有不同
SELECT prod_id FROM Products LIMIT 3 OFFSET 1;--從OFFSET開始查詢最多3行,OFFSET為起點(diǎn)坐標(biāo)(從0開始計(jì)數(shù))
 
注釋
 
-- 注釋內(nèi)容 兩個連字符和注釋之間有至少一個空格符,否則語法錯誤
#注釋內(nèi)容,沒有空格要求
/*注釋內(nèi)容*/ 可以進(jìn)行多行注釋,沒有空格要求
 
--
ch3  排序檢索數(shù)據(jù)
--
 
SELECT prod_name FROM Products ORDER BY prod_price; -- 按物品價格排序,默認(rèn)從低到高,必須是SELECT中最后一條語句,否則報(bào)錯。
 
SELECT prod_name,prod_price FROM Products ORDER BY prod_price,prod_name; --先按價錢再按名稱排列(分兩次排列)
 
SELECT vend_id,prod_name,prod_price FROM Products ORDER BY 3,1 DESC;  --先按第3列再按第1列排序(從0開始算,一般調(diào)試使用)
 
SELECT prod_name,prod_price FROM Products ORDER BY prod_price DESC,prod_name DESC; --降序排序,不同列名需要分別添加DESC才有效果。
 
--
ch4  過濾數(shù)據(jù)
--
 
SELECT prod_name,prod_price FROM Products WHERE prod_price = 9.49; --匹配價格為9.49的產(chǎn)品
 
WHERE子句操作符
常用的比較操作符
不等于 <> 或者 !=
不大于 !>
在指定的兩個值之間 BETWEEN
是NULL值 IS NULL
NULL 它與字段包含0、空字符串或僅僅包含空格不同
 
eg.  SELECT prod_name,prod_price,vend_id FROM Products WHERE vend_id != 'BRS01';
 
 
SELECT cust_name,cust_email FROM Customers WHERE cust_email IS NULL;--篩選NULL值
 
--
ch5  高級數(shù)據(jù)過濾
--
 
SELECT prod_name,prod_price,vend_id FROM Products WHERE vend_id = 'DLL01' AND prod_price = 3.49;
 
OR操作符
當(dāng)OR WHERE子句的第一個條件得到滿足時,就不再計(jì)算第二個條件了(原文這樣寫,不太明白)
感覺取的是兩個條件的并集。打印如下
 
優(yōu)先級 AND > OR
 
IN操作符:
優(yōu)點(diǎn):
清楚直觀。
求值順序便于管理,相對于AND OR來說。
執(zhí)行效率比OR高。
最重要的是能夠包含其他SELECT語句。
 
NOT操作符,條件取反操作。
MariaDB 支持使用NOT否定IN、BETWEEN和EXISTS子句。大多數(shù)DBMS允許使用NOT否定任何條件。
SELECT prod_name,vend_id FROM Products WHERE vend_id NOT IN ('DLL01', 'BR01') ORDER BY prod_name;
 
 
--
ch6  用通配符進(jìn)行過濾
--
 
LIKE操作符--匹配搜索、復(fù)雜過濾
 
LIKE ‘%’表示任何字符出現(xiàn)任意次數(shù)。有些DBMS使用*表示。
%可以匹配任何字符,但有一個例外,就是NULL。
 
LIKE ‘_’ 表示只匹配單個字符。
 
方括號[] 通配符 用來指定一個字符集合。它必須匹配指定位置的一個字符。(不生效,暫時未扎到原因)
 
--
ch7 創(chuàng)建計(jì)算字段
--
 
字段(filed):基本上與列(column)意思相同。
TRIM,RTRIM,LTRIM函數(shù)在MYSQL中無效。
下面返回元素的一個列即為計(jì)算字段。連接字符串用函數(shù)CONCAT
用AS方便命名返回后 的列名(計(jì)算字段)
執(zhí)行計(jì)算命令
如何測試計(jì)算,直接用SELECT
 
 
--
ch8 使用函數(shù)處理數(shù)據(jù)
--
 
 
#找發(fā)音相似的客戶
SELECT cust_name,cust_contact FROM Customers WHERE SOUNDEX(cust_contact)= SOUNDEX('Michael Green');
 
SELECT order_num,order_date FROM Orders WHERE YEAR(order_date) = 2012;--篩選年份為2012的訂單號
 
數(shù)字處理函數(shù)
 
--
ch9 匯總數(shù)據(jù)
--
 
聚集函數(shù):對某些行運(yùn)行的函數(shù),計(jì)算并返回一個值。
基本的一些聚集函數(shù),計(jì)算平均值,計(jì)數(shù),最大值,最小值,求和。
COUNT(*) 對所有行計(jì)數(shù),包括NULL行。如果指定列名,則會忽略NULL行。
聚集函數(shù)用來匯總數(shù)據(jù),這些函數(shù)很高效,返回結(jié)果比在客戶端應(yīng)用程序中計(jì)算要快的多。
指定不同價格求平均
 
--
ch10 分組數(shù)據(jù)
--
 
按給定的分組返回對應(yīng)組的計(jì)算字段。
 
GROUP BY子句使用注意:
a 支持嵌套,數(shù)據(jù)將在最后指定的分組上進(jìn)行匯總。(建立分組時,指定的所有列都一起計(jì)算)
b 子句接收的每一列必須是檢索列或是有效的表達(dá)式,不能是聚集函數(shù)。如果SELECT中使用表達(dá)式,則必須在GROUP BY子句中指定相同的表達(dá)式。
c 不允許GROUP BY列帶有長度可變的數(shù)據(jù)類型(如文本或備注型字段)
d 如果分組中包含NULL值的行,則NULL作為一個分組返回。若列中有多個NULL值的行,它們將分為一組。
e GROUP BY 必須出現(xiàn)在WHERE子句之后,ORDER BY子句之前。
 
WHERE過濾行,而HAVING過濾分組。(匹配)HAVING支持所有的WHERE操作符。
WHERE在數(shù)據(jù)分組前對數(shù)據(jù)進(jìn)行過濾,而HAVING在數(shù)據(jù)分組后對數(shù)據(jù)進(jìn)行過濾。
 
 
--
ch11 子查詢
--
查詢(query)任何SQL語句都是查詢。但此術(shù)語一般指SELECT語句。
子查詢(subquery):SQL允許創(chuàng)建子查詢,即嵌套在其他查詢語句中的查詢。查詢嵌套
 
查詢產(chǎn)品id為'RGAN01'的所有訂單用戶
 
注意:
a 作為子查詢的SELECT語句只能查詢單個列。否則報(bào)錯。
b 子查詢和性能:使用子查詢并不總是執(zhí)行這類數(shù)據(jù)檢索的最有效方法。
 
作為計(jì)算字段使用子查詢--顯示Customers表中每個顧客的訂單總數(shù):(注 紅色部分需要兩張表都在from后面才能使用,否則只能找到其中一張表)
 
 
--
ch12 聯(lián)結(jié)表 --join
--
思考:如果數(shù)據(jù)存儲在多個表中,怎樣用一條SELECT語句就檢索出來呢?
 
聯(lián)結(jié)是一種機(jī)制,用來在一條SELECT語句中關(guān)聯(lián)表,因此稱為聯(lián)結(jié)。
 
關(guān)系表:
關(guān)系表的設(shè)計(jì)就是要把信息分解成多個表,一類數(shù)據(jù)一個表。各表通過某些共同的值互相關(guān)聯(lián),所以也叫關(guān)系數(shù)據(jù)庫。
將數(shù)據(jù)分解為多個表能夠更有效地存儲,更方便地處理。
 
創(chuàng)建聯(lián)結(jié):指定要聯(lián)結(jié)的所有表以及關(guān)聯(lián)他它們的方式即可。
 
笛卡爾積:沒有聯(lián)結(jié)條件(上面的where),則返回的是第一張表A和第二張表B的每一行匹配(AXB),我們稱之為笛卡爾積。
注:笛卡爾積不是我們想要的,這里返回的數(shù)據(jù)每個供應(yīng)商都匹配了每個產(chǎn)品,包括供應(yīng)商根本沒有的產(chǎn)品。要保證所有聯(lián)結(jié)都有正確的where語句,否則DBMS將返回比你想要的數(shù)據(jù)多得多的數(shù)據(jù)。
 
叉聯(lián)結(jié):有時返回笛卡爾積的聯(lián)結(jié),也稱叉聯(lián)結(jié)(cross join)--暫時未涉及
 
內(nèi)聯(lián)結(jié):目前為止使用的聯(lián)結(jié)為等值聯(lián)結(jié),它是基于兩個表之間的相等測試。這種聯(lián)結(jié)也稱為內(nèi)聯(lián)結(jié)。稍微不同的語法:
select T1col, T2col 
form T1 join T2
on T1.id = T2.id
 
聯(lián)結(jié)多個表:(注:聯(lián)結(jié)的表越多,性能下降的越厲害。雖然SQL本身不限制每個聯(lián)結(jié)約束中表的數(shù)目,但是實(shí)際上許多DBMS都會有限制)
 
注:上述查詢的值來自3個表,沒有限定,但是后面的where加了限定條件,若不加where將返回笛卡爾積。
 
 
--
ch13 創(chuàng)建高級聯(lián)結(jié)
--
使用表別名
mysql使用as(oracle中沒有as),用來縮短SQL語句,允許在一條SELECT語句中多次使用相同的表
 
使用不同類型的聯(lián)結(jié)
內(nèi)聯(lián)結(jié):inner join
自聯(lián)結(jié):self join (在select語句中不止一次引用相同的表)
自然聯(lián)結(jié):natural join (標(biāo)準(zhǔn)的聯(lián)結(jié)返回所有數(shù)據(jù),相同的列甚至出現(xiàn)多次,自然聯(lián)結(jié)排除多次出現(xiàn),使每列只返回一次)
外聯(lián)結(jié):outer join (許多聯(lián)結(jié)將一個表中的行與另一個表中的行相關(guān)聯(lián),但有時候需要包含沒有關(guān)聯(lián)行的那些行。舉個例子,對每個顧客下的訂單數(shù)進(jìn)行技術(shù)。包括那些至今尚未下訂單的顧客,列出所有產(chǎn)品以及訂購數(shù)量,包括沒有人訂購的產(chǎn)品,計(jì)算平均銷售規(guī)模,包括那些至今尚未下訂單的顧客)
 
自聯(lián)結(jié):(許多DBMS處理聯(lián)結(jié)的效率要遠(yuǎn)高于處理子查詢)
 
 
自然聯(lián)結(jié):
SELECT C.*, O.order_num, O.order_date, OI.prod_id, OI.quantity, OI.item_price 
FROM Customers AS C, Orders AS O, OrderItems AS OI 
WHERE C.cust_id = O.cust_id 
AND OI.order_num = O.order_num 
AND prod_id = 'RGAN01';
 
+------------+---------------+---------------------+-----------+------------+----------+------------
--+--------------------+-----------------------+-----------+---------------------+---------+--------
--+------------+
| cust_id    | cust_name     | cust_address        | cust_city | cust_state | cust_zip | cust_countr
y | cust_contact       | cust_email            | order_num | order_date          | prod_id | quantit
y | item_price |
+------------+---------------+---------------------+-----------+------------+----------+------------
--+--------------------+-----------------------+-----------+---------------------+---------+--------
--+------------+
| 1000000004 | Fun4All       | 829 Riverside Drive | Phoenix   | AZ         | 88888    | USA
  | Denise L. Stephens | dstephens@fun4all.com |     20007 | 2012-01-30 00:00:00 | RGAN01  |       5
0 |       4.49 |
| 1000000005 | The Toy Store | 4545 53rd Street    | Chicago   | IL         | 54545    | USA
  | Kim Howard         | NULL                  |     20008 | 2012-02-03 00:00:00 | RGAN01  |
5 |       4.99 |
+------------+---------------+---------------------+-----------+------------+----------+------------
--+--------------------+-----------------------+-----------+---------------------+---------+--------
--+------------+
2 rows in set (0.00 sec)
 
外聯(lián)結(jié):
外聯(lián)結(jié)一定要標(biāo)明是是LEFT還是RIGHT 聯(lián)結(jié),否則報(bào)錯。left表示與左邊的做基準(zhǔn)進(jìn)行索引,right表示用右邊的做基準(zhǔn)進(jìn)行索引,索引的那一列均不包含null這個值,其他列包括。
 
 
--
ch14 組合查詢
--
組合查詢:SQL執(zhí)行多個SELECT查詢,并將結(jié)果作為一個查詢結(jié)果集返回。這些組合查詢通常稱為并(union)或符合查詢。
舉個例子(列必須相等)
列不相等的情況
 
UNION默認(rèn)會合并重復(fù)的行,若要顯示所有行(包含重復(fù)的行),可以使用UNION ALL替代UNION
 
對組合查詢結(jié)果排序
在用UNION組合查詢時,只能使用一條ORDER BY子句,它必須位于最后一條SELECT語句之后。
 
 
--
ch15 插入數(shù)據(jù)
--
INSERT將行插入數(shù)據(jù)庫,插入的幾種方式:
- 插入完整的行
- 插入行的一部分
- 插入某些查詢結(jié)果
 
INSERT INTO Customers(cust_id,
                      cust_name,
                      cust_address,
                      ...) -- 添加列名(字段),雖然繁瑣一些,但比上述例子要安全很多,并且表結(jié)構(gòu)順序改變,也不會影響值得插入
VALUES( '1000000006',
        'Toy Land',
        '123 Any Street',
        'New York',
        'NY',
        '1111',
        'USA',
        NULL,
        NULL)
 
省略列:如果表定義允許,則可以在INSERT中省略某些列,省略列必須滿足以下某個條件:
a 該列定義為允許NULL值(無值或空值)
b 該表定義中給出默認(rèn)值。當(dāng)沒有值插入時,將使用默認(rèn)值。
 
插入檢索出的數(shù)據(jù)
INSERT Customers(cust_id,
                 cust_contact,
                 cust_email,
                 ...)
SELECT  cust_id,
        cust_contact,
        cust_email,
        ...
FROM CustNew; 
 
從一個表中復(fù)制另一個表
 
 
--
ch16 更新和刪除數(shù)據(jù)
--
更新數(shù)據(jù)格式:
UPDATE Customers
SET cust_email = 'eamli@xx'
WHERE cust_id = '1000000006';
 
刪除數(shù)據(jù)格式:
DELETE FROM Customers --FROM在有些DBMS中是可選的,建議使用時最好帶上這個關(guān)鍵字,保證語句的可移植性。
WHERE cust_id= '1000000006' --不要省略WHERE語句,一不小心就會刪除所有行
 
DELETE語句從表中刪除行,甚至是刪除表中的所有行。但是,DELETE不刪除表本身。
 
更快的刪除:如果想從表中刪除所有行,不要使用DELETE??墒褂肨RUNCATE TABLE語句,它完成相同的工作,而速度更快(因?yàn)椴挥涗洈?shù)據(jù)的變動)。
 
 
--
ch17 創(chuàng)建和操縱表
--
 
表創(chuàng)建基礎(chǔ)
數(shù)據(jù)類型后面不指定NOT NULL,則默認(rèn)為NULL(有些DBMS可能必須指定)
 
主鍵和NULL值
主鍵是唯一表中某一行的列。只有不允許NULL值的列可作為主鍵,允許NULL值得列不能作為唯一的標(biāo)識。
 
NULL和空字符
NULL值是沒有值,不是空字符串,空字符串是一個有效的值,它不是無值。NULL值用關(guān)鍵字NULL而不是空字符串指定。
 
指定默認(rèn)值:
 
注:默認(rèn)值經(jīng)常用于日期或是時間戳。例如通過引用系統(tǒng)日期的函數(shù)或變量,將系統(tǒng)日期用作默認(rèn)日期。MYSQL用戶指定DEFAULT CURRENT_DATE()。
 
                        獲得系統(tǒng)日期
 
DBMS
函數(shù)或變量
ACCESS
NOW()
DB2
CURRENT_DATE
MySql
CURRENT_DATE()
Oracle
SYSDATE
prostgreSQL
CURRENT_DATE
SQL Server
GETDATE()
SQLite
date('now')
 
更改表ALTER TABLE
更改表的定義(理想情況下,不要再表中包含數(shù)據(jù)時對其進(jìn)行更新,應(yīng)該在表的設(shè)計(jì)過程中充分考慮未來的可能需求,避免今后對表的結(jié)構(gòu)做大的改動)
舉個例子 增加一列
ALTER TABLE Vendorse
ADD vend_phone CHAR(20);
 
# 刪除列
ALTER TABLE Vendorse
DROP COLUMN vend_phone;
 
# 刪除表
DROP TABLE custCopy
重命名表操作的基本語法都要求制指定新表和舊表,不同的DBMS實(shí)現(xiàn)存在差異。參閱DBMS文檔。
 
 
--
ch18 使用視圖
--
視圖:視圖是虛擬的表,與包含數(shù)據(jù)的表不一樣,視圖只包含使用時動態(tài)檢索數(shù)據(jù)的查詢。
使用視圖原因:
a 簡化復(fù)雜的操作。
b 使用表的一部分而不是整個表。
c 保護(hù)數(shù)據(jù) 可以授予用戶訪問表的特定部分的權(quán)限,而不是整個表的訪問權(quán)限。
d 更改數(shù)據(jù)格式和表示。視圖可返回與底層表的表示和格式不同的數(shù)據(jù)。
 
注:
視圖必須唯一命名(不能與別的視圖或是表同名)
對于可以創(chuàng)建的視圖數(shù)目沒有限制
創(chuàng)建視圖需要足夠的訪問權(quán)限
視圖可以嵌套(可能會嚴(yán)重影響性能,需要進(jìn)行全面測試)
許多DBMS禁止在視圖查詢中使用ORDER BY子句
有些DBMS要求對返回的所有列進(jìn)行命名,如果列是計(jì)算字段,則需要使用別名
視圖不能索引,也不能有關(guān)聯(lián)的觸發(fā)器或默認(rèn)值
有些DBMS把視圖作為只讀查詢,這表示可以從視圖檢索數(shù)據(jù),但不能將數(shù)據(jù)寫回底層表。
有些DBMS允許創(chuàng)建這樣的視圖,它不能進(jìn)行到這行不再屬于視圖的插入或更新。
 
舉例說明:
SELECT cust_name, cust_contact
FROM Orderitems,Orders,Customers
WHERE customers.cust_id = orders.cust_id
AND orders.order_num = orderitems.order_num
AND prod_id = 'RGAN01';
 
假如可以把整個查詢包裝成一個名為ProductCustomers的虛擬表,那么輸入就可以簡化為
SELECT cust_name, cust_contact
FROM ProductCustomers
WHERE prod_id = 'RGAN01';
 
創(chuàng)建視圖CREATE VIEW 
與創(chuàng)建表一樣,只能用于創(chuàng)建不存在的視圖
 
視圖重命名
刪除視圖,可以使用DROP語句,其語法為DROP VIEW viewname;。覆蓋(或更新)視圖,必須先刪除它,然后再重新創(chuàng)建。
 
舉個例子:
 
視圖用來簡化復(fù)雜的數(shù)據(jù)處理
 
 
--
ch19 使用存儲過程 --無MYSQL示例,待深入研究
--
 
存儲過程:存儲過程就是為以后使用而保存的一條或多條SQL語句??梢詫⑵湟暈榕募?,雖然它的作用不僅限于批處理。
優(yōu)點(diǎn):簡單、安全、高性能。
缺點(diǎn):可移植性差,不同DBMS種存儲過程的語法有所不同。事實(shí)上,編寫真正的可移植性存儲過程幾乎是不可能的。
 
執(zhí)行存儲過程:
EXECUTE AddNewProduct('JTS01',
                      'Stuffed Eiffel Tower',
                      6.49,
                      'Plush stuffed toy with the text LaTour Fiffel in red white and bule')
 
這里執(zhí)行一個名為AddNewProduct的存儲過程,將一個新產(chǎn)品添加到Products表中。
注:Products表中還有另一個需要值得列prod_id列,它是這個表的主鍵。為何這個值不作為屬性傳遞給存儲過程?這是為了保證恰當(dāng)?shù)纳纱薎D,最好是使生成此ID的過程自動化(而不是依賴于最終用戶的輸入)。
 
創(chuàng)建存儲過程:(ORACLE)
CREATE PROCEDURE MailingListCount(
    ListCount OUT INTEGER
)
IS
v_rows INTEGER;
BEGIN
    SELECT COUNT(*) INTO v_rows FROM Customers WHERE NOT cust_email IS NULL;
    ListCount := v_rows;
END;
 
 
--
ch20 管理事務(wù)處理
--
事務(wù)處理:事務(wù)處理是用來管理必須成批執(zhí)行的SQL操作,保證數(shù)據(jù)庫不包含不完整的操作結(jié)果。利用事務(wù)處理,可以保證一組操作不會中途停止,它們要么完全執(zhí)行,要么完全不執(zhí)行(除非明確指示)。如果沒有錯誤發(fā)生,整組語句提交給(寫入)數(shù)據(jù)庫表;如果錯誤發(fā)生,則進(jìn)行回退(撤銷),將數(shù)據(jù)庫恢復(fù)到某個已知且安全的狀態(tài)。
 
使用事務(wù)處理,通過確保成批的SQL操作要么完全執(zhí)行,要么完全不執(zhí)行,來維護(hù)數(shù)據(jù)庫的完整性。
假設(shè)數(shù)據(jù)庫方式故障(如超出磁盤空間、安全限制、表鎖等),導(dǎo)致訂單插入失敗,或者數(shù)據(jù)庫存在不完整的訂單,而你還不知道。如何解決這個問題?這就需要使用事務(wù)處理了。
 
幾個術(shù)語:
事務(wù):只一組SQL語句
回退:指撤銷指定SQL語句的過程
提交:將為存儲的SQL語句結(jié)果寫入數(shù)據(jù)庫表
保留點(diǎn):指事務(wù)處理中設(shè)置臨時占位符,可以對它發(fā)布回退(與回退整個事務(wù)處理不同)
 
事務(wù)處理用來管理INSERT UPDATE DELETE 語句。不能回退SELECT語句(沒必要回退),也不能回退CREATE DROP操作。事務(wù)處理中可以使用這些語句,進(jìn)行回退時,這些操作也不撤銷。
 
 
--
ch21 使用游標(biāo)
--
簡單地使用SELECT語句,沒有辦法得到第一個行、下一行或是前10行。這時候游標(biāo)就起作用了。
游標(biāo):一個存儲在DBMS服務(wù)器上的數(shù)據(jù)庫查詢,它不是一條SELECT語句,而是被該語句檢索出來的結(jié)果集(SQL查詢所檢索的所有結(jié)果)
游標(biāo)常見的一些選項(xiàng)和特性:
能夠標(biāo)記游標(biāo)為只讀,使數(shù)據(jù)能讀取,但不能更新和刪除。
能控制可以執(zhí)行的定向操作。
能標(biāo)記某些列為可編輯的,某些列為不可編輯的。
規(guī)定范圍,使游標(biāo)對創(chuàng)建它的特定請求(如存儲過程)或?qū)λ姓埱罂稍L問。
指示DBMS對檢索的數(shù)據(jù)進(jìn)行復(fù)制,使數(shù)據(jù)在游標(biāo)打開或訪問期間不變化。
 
創(chuàng)建游標(biāo):
 
 
--
ch22 高級SQL特性
--
主鍵、外鍵、約束、索引、觸發(fā)器一些概念
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
《SQL必知必會》讀書筆記
mysql必知必會-創(chuàng)建高級聯(lián)結(jié)
新手MySQL工程師必備命令速查手冊
MySQL必知必會1-20章讀書筆記
【SQL必知必會筆記(3)】SELECT語句的WHERE子句數(shù)據(jù)過濾操作
存儲過程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服