亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ch17.htm

?? 21精通SQL
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>

<HEAD>
	
	<TITLE>Teach Yourself SQL in 21 Days, Second Edition -- Ch 17 -- Using SQL to Generate SQL Statements</TITLE>
</HEAD>

<BODY TEXT="#000000" BGCOLOR="#FFFFFF">

<CENTER>
<H1><IMG SRC="sams.gif" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/sams.gif" WIDTH="171" HEIGHT="66" ALIGN="BOTTOM" BORDER="0"><BR>
<FONT COLOR="#000077">Teach Yourself SQL in 21 Days, Second Edition</FONT></H1>
</CENTER>
<CENTER>
<P><A HREF="ch16.htm" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/ch16.htm"><IMG SRC="previous.gif" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/previous.gif" WIDTH="128" HEIGHT="28"
ALIGN="BOTTOM" ALT="Previous chapter" BORDER="0"></A><A HREF="ch18.htm" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/ch18.htm"><IMG
SRC="next.gif" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/next.gif" WIDTH="128" HEIGHT="28" ALIGN="BOTTOM" ALT="Next chapter"
BORDER="0"></A><A HREF="index-1.htm" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/index-1.htm"><IMG SRC="contents.gif" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/contents.gif" WIDTH="128"
HEIGHT="28" ALIGN="BOTTOM" ALT="Contents" BORDER="0"></A> 
<HR>

</CENTER>
<CENTER>
<H1><FONT COLOR="#000077">- Day 17 -<BR>
Using SQL to Generate SQL Statements</FONT></H1>
</CENTER>
<H2><FONT COLOR="#000077">Objectives</FONT></H2>
<P>Today you learn the concepts behind generating one or more SQL statements from
a query. By the end of the day you should understand the following:

<UL>
	<LI>The benefits of generating SQL statements from a query
	<P>
	<LI>How to make the output from a query appear in the form of another SQL statement
	<P>
	<LI>How to use the data dictionary, database tables, or both to form SQL statements
</UL>

<H2><FONT COLOR="#000077">The Purpose of Using SQL to Generate SQL Statements</FONT></H2>
<P>Generating SQL from another SQL statement simply means writing an SQL statement
whose output forms another SQL statement or command. Until now, all the SQL statements
that you have learned to write either do something, such as manipulate the data in
a table, one row at a time, or produce some kind of report from a query. Today you
learn how to write a query whose output forms another query or SQL statement.</P>
<P>Why you would ever need to produce an SQL statement from a query? Initially, it
is a matter of simplicity and efficiency. You may never need<B> </B>to produce an
SQL statement, but without ever doing so you would be ignoring one of SQL's most
powerful features, one that too many people do not realize exists.</P>
<P>Generating SQL is rarely mandatory because you can manually create and issue all
SQL statements, although the process can be tedious in certain situations. On the
same note generating SQL statements may be necessary when you have a tight deadline.
For example, suppose your boss wants to grant access on a new table to all 90 users
in the marketing department (and you want to get home for dinner). Because some users
of this database do not work in marketing, you cannot simply grant access on the
table to public. When you have multiple groups of users with different types of access,
you may want to enforce role security, which is a built-in method for controlling
user access to data. In this situation you can create an SQL statement that generates
<TT>GRANT</TT> statements to all individuals in the marketing department; that is,
it grants each individual the appropriate role(s).</P>
<P>You will find many situations in which it is advantageous to produce an SQL statement
as output to another statement. For example, you might need to execute many similar
SQL statements as a group or you might need to regenerate DDL from the data dictionary.
When producing SQL as output from another statement, you will always get the data
for your output from either the data dictionary or the schema tables in the database.
Figure 17.1 illustrates this procedure.</P>
<P>As you can see in Figure 17.1, a <TT>SELECT</TT> statement can be issued to the
database, drawing its output results either from the data dictionary or from application
tables in the database. Your statement can arrange the retrieved data into one or
more SQL statements. For instance, if one row is returned, you will have generated
one SQL statement. If 100 rows are returned from your statement, then you will have
generated 100 SQL statements. When you successfully generate SQL code from the database,
you can run that code against the database, which may perform a series of queries
or database actions.</P>
<P>The remainder of the day is devoted to examples that show you how to produce output
in the form of SQL statements. Most of your information will come from the data dictionary,
so you may want to review yesterday's material. (See Day 16, &quot;Using Views to
Retrieve Useful Information from the Data Dictionary.&quot;)</P>
<P><A NAME="01"></A><A HREF="01-3.htm" tppabs="http://202.113.16.101/%7eeb%7e/Teach%20Yourself%20MS%20SQL%20Server%206.5%20in%2021%20Days/01-3.htm"><B>Figure 17.1.</B></A></P>
<P><I>The process of generating SQL from the database.</I></P>


<BLOCKQUOTE>
	<P>
<HR>
<BR>
	<FONT COLOR="#000077"><B>NOTE:</B></FONT><B> </B>Today's examples use Personal Oracle7.
	As always, you should apply the concepts discussed today to the syntax of your specific
	database implementation. 
<HR>


</BLOCKQUOTE>

<H2><FONT COLOR="#000077">Miscellaneous SQL*Plus Commands</FONT></H2>
<P>Today's examples use a few new commands. These commands, known as SQL*Plus commands,
are specific to Personal Oracle7 and control the format of your output results. (See
Day 20, &quot;SQL*Plus.&quot;) SQL*Plus commands are issued at the <TT>SQL&gt;</TT>
prompt, or they can be used in a file.


<BLOCKQUOTE>
	<P>
<HR>
<FONT COLOR="#000077"><B>NOTE:</B></FONT><B> </B>Although these commands are specific
	to Oracle, similar commands are available in other implementations, for example,
	Transact-SQL. (Also see Day 19, &quot;Transact-SQL: An Introduction.&quot;) 
<HR>


</BLOCKQUOTE>

<H3><FONT COLOR="#000077">set echo on/off</FONT></H3>
<P>When you <TT>set echo on</TT>, you will see your SQL statements as they execute.
<TT>Set echo off</TT> means that you do not want to see your SQL statements as they
execute--you just want to see the output.</P>
<PRE><FONT COLOR="#0066FF">SET ECHO [ ON | OFF ]
</FONT></PRE>
<H3><FONT COLOR="#000077">set feedback on/off</FONT></H3>
<P>Feedback is the row count of your output. For instance, if you executed a <TT>SELECT</TT>
statement that returned 30 rows of data, your feedback would be</P>
<PRE><FONT COLOR="#0066FF">30 rows selected.
</FONT></PRE>
<P><TT>SET FEEDBACK ON</TT> displays the row count; <TT>SET FEEDBACK OFF</TT> eliminates
the row count from your output.</P>
<PRE><FONT COLOR="#0066FF">SET FEEDBACK [ ON | OFF ]
</FONT></PRE>
<H3><FONT COLOR="#000077">set heading on/off</FONT></H3>
<P>The headings being referred to here are the column headings in the output of a
<TT>SELECT</TT> statement, such as <TT>LAST_NAME</TT> or <TT>CUSTOMER_ID</TT>. <TT>SET
HEADING ON</TT>, which is the default, displays the column headings of your data
as a part of the output. <TT>SET HEADING OFF</TT>, of course, eliminates the column
headings from your output.</P>
<PRE><FONT COLOR="#0066FF">SET HEADING [ ON | OFF ]
</FONT></PRE>
<H3><FONT COLOR="#000077">spool filename/off</FONT></H3>
<P>Spooling is the process of directing the results of your query to a file. In order
to open a spool file, you enter</P>
<PRE><FONT COLOR="#0066FF"><B>spool</B> filename
</FONT></PRE>
<P>To close your spool file, you would type</P>
<PRE><FONT COLOR="#0066FF"><B>spool off</B>
</FONT></PRE>
<H4><FONT COLOR="#000077">start <TT>filename</TT></FONT></H4>
<P>Most SQL commands that we have covered so far have been issued at the <TT>SQL&gt;</TT>
prompt. Another method for issuing SQL statements is to create and then execute a
file. In SQL*Plus the command to execute an SQL file is <TT>START FILENAME</TT>.</P>
<PRE><FONT COLOR="#0066FF">START FILENAME
</FONT></PRE>
<H4><FONT COLOR="#000077">ed <TT>filename</TT></FONT></H4>
<P><TT>ED</TT> is a Personal Oracle7 command that opens a file (existing or file).
When you open a file with <TT>ed</TT>, you are using a full-screen editor, which
is often easier than trying to type a lengthy SQL statement at the <TT>SQL&gt;</TT>
prompt. You will use this command to modify the contents of your spool file. You
will find that you use this command often when generating SQL script because you
may have to modify the contents of the file for customization. However, you can achieve
most customization through SQL*Plus commands.</P>
<P><FONT COLOR="#0066FF"><TT>ED FILENAME</TT></FONT>
<H2><FONT COLOR="#000077">Counting the Rows in All Tables</FONT></H2>
<P>The first example shows you how to edit your spool file to remove irrelevant lines
in your generated code, thus allowing your SQL statement to run without being tarnished
with syntax errors.


<BLOCKQUOTE>
	<P>
<HR>
<FONT COLOR="#000077"><B>NOTE:</B></FONT><B> </B>Take note of the editing technique
	used in this example because we will not show the step in the rest of today's examples.
	We assume that you know the basic syntax of SQL statements by now. In addition, you
	may choose to edit your spool file in various ways. 
<HR>


</BLOCKQUOTE>

<P>Start by recalling the function to count all rows in a table: <TT>COUNT(*)</TT>.
You already know how to select a count on all rows in a single table. For example:</P>
<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SELECT COUNT(*)
FROM TBL1;</FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">COUNT(*)
--------
      29
</FONT></PRE>
<P>That technique is handy, but suppose you want to get a row count on all tables
that you own or that are in your schema. For example, here's a list of the tables
you own:</P>
<H5>INPUT/OUTPUT:</H5>
<PRE><FONT COLOR="#0066FF"><B>SELECT * FROM CAT;</B>

TABLE_NAME                     TABLE_TYPE
------------------------------ -----------
ACCT_PAY                       TABLE
ACCT_REC                       TABLE
CUSTOMERS                      TABLE
EMPLOYEES                      TABLE
HISTORY                        TABLE
INVOICES                       TABLE
ORDERS                         TABLE
PRODUCTS                       TABLE
PROJECTS                       TABLE
VENDORS                        TABLE

10 rows selected.
</FONT></PRE>
<H5>ANALYSIS:</H5>
<P>If you want to get a row count on all your tables, you could manually issue the
<TT>COUNT(*)</TT> statement on each table. The feedback would be</P>
<PRE><FONT COLOR="#0066FF">10 rows selected.
</FONT></PRE>
<P>The following <TT>SELECT</TT> statement creates more <TT>SELECT</TT> statements
to obtain a row count on all the preceding tables.</P>
<H5>INPUT/OUTPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SET ECHO OFF</B>
SQL&gt; <B>SET FEEDBACK OFF</B>
SQL&gt; <B>SET HEADING OFF</B>
SQL&gt; <B>SPOOL CNT.SQL</B>
SQL&gt; <B>SELECT 'SELECT COUNT(*) FROM ' || TABLE_NAME || ';'</B>
  2  <B>FROM CAT</B>
  3  <B>/</B>

SELECT COUNT(*) FROM ACCT_PAY;
SELECT COUNT(*) FROM ACCT_REC;
SELECT COUNT(*) FROM CUSTOMERS;
SELECT COUNT(*) FROM EMPLOYEES;
SELECT COUNT(*) FROM HISTORY;
SELECT COUNT(*) FROM INVOICES;
SELECT COUNT(*) FROM ORDERS;
SELECT COUNT(*) FROM PRODUCTS;
SELECT COUNT(*) FROM PROJECTS;
select count(*) FROM VENDORS;
</FONT></PRE>
<H5>ANALYSIS:</H5>
<P>The first action in the preceding example is to use some SQL*Plus commands. Setting
<TT>echo off</TT>, <TT>feedback off</TT>, and <TT>heading off</TT> condenses the
output to what is actually being selected. Remember, the output is not being used
as a report, but rather as an SQL statement that is ready to be executed. The next
step is to use the <TT>SPOOL</TT> command to direct the output to a file, which is
specified as <TT>cnt.sql</TT>. The final step is to issue the <TT>SELECT</TT> statement,
which will produce output in the form of another statement. Notice the use of single
quotation marks to select a literal string. The combination of single quotation marks
and the concatenation (<TT>||</TT>) allows you to combine actual data and literal
strings to form another SQL statement. This example selects its data from the data
dictionary. The command <TT>SPOOL OFF</TT> closes the spool file.


<BLOCKQUOTE>
	<P>
<HR>
<FONT COLOR="#000077"><B>TIP:</B></FONT><B> </B>Always edit your output file before
	running it to eliminate syntax discrepancies and to further customize the file that
	you have created. 
<HR>
</P>

</BLOCKQUOTE>

<H5>INPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SPOOL OFF</B>
SQL&gt;<B> ED CNT.SQL</B></FONT></PRE>
<H5><FONT COLOR="#000000">OUTPUT:</FONT></H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; SELECT 'SELECT COUNT(*) FROM '||TABLE_NAME||';'
  2  FROM CAT;

SELECT COUNT(*) FROM ACCT_PAY;
SELECT COUNT(*) FROM ACCT_REC;
SELECT COUNT(*) FROM CUSTOMERS;
SELECT COUNT(*) FROM EMPLOYEES;
SELECT COUNT(*) FROM HISTORY;
SELECT COUNT(*) FROM INVOICES;
SELECT COUNT(*) FROM ORDERS;
SELECT COUNT(*) FROM PRODUCTS;
SELECT COUNT(*) FROM PROJECTS;
SELECT COUNT(*) FROM VENDORS;
SQL&gt; SPOOL OFF
</FONT></PRE>
<H5>ANALYSIS:</H5>
<P>The command <TT>SPOOL OFF</TT> closes the spool file. Then the <TT>ED</TT> command
edits the file. At this point you are inside the file that you created. You should
remove unnecessary lines from the file, such as the <TT>SELECT</TT> statement, which
was used to achieve the results, and the <TT>SPOOL OFF</TT> at the end of the file.</P>
<P>Here is how your file should look after the edit. Notice that each line is a valid
SQL statement.</P>
<PRE><FONT COLOR="#0066FF">SELECT COUNT(*) FROM ACCT_PAY;
SELECT COUNT(*) FROM ACCT_REC;
SELECT COUNT(*) FROM CUSTOMERS;
SELECT COUNT(*) FROM EMPLOYEES;
SELECT COUNT(*) FROM HISTORY;
SELECT COUNT(*) FROM INVOICES;
SELECT COUNT(*) FROM ORDERS;
SELECT COUNT(*) FROM PRODUCTS;
SELECT COUNT(*) FROM PROJECTS;
SELECT COUNT(*) FROM VENDORS;
</FONT></PRE>
<P>Now, execute the file:</P>
<H5>INPUT/OUTPUT:</H5>
<PRE><FONT COLOR="#0066FF">SQL&gt; <B>SET ECHO ON</B>
SQL&gt; <B>SET HEADING ON</B>
SQL&gt; <B>START CNT.SQL</B>

SQL&gt; SELECT COUNT(*) FROM ACCT_PAY;

 COUNT(*)
---------
        7
SQL&gt; SELECT COUNT(*) FROM ACCT_REC;

 COUNT(*)
---------
        9
SQL&gt; SELECT COUNT(*) FROM CUSTOMERS;

 COUNT(*)
---------
        5
SQL&gt; SELECT COUNT(*) FROM EMPLOYEES;

 COUNT(*)
---------
       10

SQL&gt; SELECT COUNT(*) FROM HISTORY;

 COUNT(*)
---------
       26
SQL&gt; SELECT COUNT(*) FROM INVOICES;

 COUNT(*)
---------
        0
SQL&gt; SELECT COUNT(*) FROM ORDERS;

 COUNT(*)
---------
        0
SQL&gt; SELECT COUNT(*) FROM PRODUCTS;

 COUNT(*)
---------
       10
SQL&gt; SELECT COUNT(*) FROM PROJECTS;

 COUNT(*)
---------
       16
SQL&gt; SELECT COUNT(*) FROM VENDORS;

 COUNT(*)
---------
       22
SQL&gt;
</FONT></PRE>
<H5>ANALYSIS:</H5>
<P><TT>Set echo on</TT> enables you to see each statement that was executed. <TT>Set
heading on</TT> displays the column heading <TT>COUNT(*)</TT> for each <TT>SELECT</TT>
statement. If you had included</P>
<PRE><FONT COLOR="#0066FF"><B>set feedback on</B>
</FONT></PRE>
<P>then</P>
<PRE><FONT COLOR="#0066FF">1 row selected. 
</FONT></PRE>
<P>would have been displayed after each count. This example executed the SQL script
by using the SQL*Plus <TT>START</TT> command. However, what if you were dealing with
50 tables instead of just 10?</P>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人动漫中文字幕| 日韩av网站免费在线| av网站一区二区三区| 亚洲欧美视频一区| 91免费看`日韩一区二区| 亚洲视频电影在线| 欧美三级电影在线观看| 亚洲成va人在线观看| 91精品国产综合久久香蕉的特点 | 91在线小视频| 一区二区三区日韩欧美| 91精品国产综合久久久久久久| 日韩国产在线一| 精品国产伦一区二区三区观看方式| 国内精品免费在线观看| 国产精品女同一区二区三区| 91免费观看视频在线| 五月天中文字幕一区二区| 日韩亚洲欧美在线| 成人午夜av电影| 亚洲国产精品一区二区www | 国产午夜精品久久久久久久| aaa欧美色吧激情视频| 亚洲一区免费观看| 欧美成人性福生活免费看| 国产精品原创巨作av| 亚洲欧美另类在线| 日韩一级黄色大片| aaa国产一区| 日本欧美一区二区三区乱码| 国产午夜精品美女毛片视频| 欧美亚洲一区二区在线| 极品少妇一区二区三区精品视频| 自拍av一区二区三区| 欧美电影精品一区二区| eeuss影院一区二区三区| 全国精品久久少妇| 亚洲免费高清视频在线| 精品成a人在线观看| 欧美在线观看一二区| 国产精品99久久久久久似苏梦涵| 亚洲午夜精品在线| 国产精品久久久久永久免费观看 | 欧美一级欧美三级| 99精品视频一区| 老司机精品视频一区二区三区| 亚洲精品国产成人久久av盗摄 | 国产精品乱人伦一区二区| 9191国产精品| 91麻豆免费看| 国产精品1024| 久久国产精品99久久人人澡| 亚洲国产另类精品专区| 亚洲男人的天堂在线观看| 久久综合狠狠综合久久激情| 欧美一区二区在线视频| 欧美午夜片在线看| 91老师片黄在线观看| 国产成人免费视| 韩国精品主播一区二区在线观看 | 亚洲免费资源在线播放| 久久综合精品国产一区二区三区| 91精品国产福利在线观看 | 亚洲午夜羞羞片| 中文字幕在线观看不卡视频| 久久精品这里都是精品| 精品国产电影一区二区| 日韩亚洲欧美成人一区| 欧美久久久一区| 欧美在线播放高清精品| 色婷婷一区二区三区四区| 99久久精品免费| 91小视频免费观看| 色婷婷亚洲综合| 99re在线视频这里只有精品| 99re8在线精品视频免费播放| 成人动漫一区二区三区| 国产在线视频精品一区| 国产美女av一区二区三区| 黑人巨大精品欧美黑白配亚洲| 蜜臀av一区二区在线免费观看| 五月天网站亚洲| 婷婷国产v国产偷v亚洲高清| 日韩精品一区第一页| 亚洲v精品v日韩v欧美v专区| 日本午夜精品视频在线观看| 日韩电影在线一区| 青青草97国产精品免费观看 | 亚洲成在线观看| 午夜久久电影网| 蜜臀av性久久久久蜜臀av麻豆| 麻豆免费看一区二区三区| 久久99久久久欧美国产| 国产一区二区在线观看免费| 国产精品一卡二卡在线观看| 成人app下载| 色综合 综合色| 欧美丰满美乳xxx高潮www| 欧美一级理论性理论a| 久久只精品国产| 中文字幕亚洲在| 午夜一区二区三区在线观看| 久久丁香综合五月国产三级网站| 国产精品一区二区免费不卡| 色悠悠久久综合| 91麻豆精品国产91久久久| 久久网站最新地址| 1000精品久久久久久久久| 亚洲福利视频三区| 久久国产麻豆精品| youjizz久久| 51午夜精品国产| 中文字幕精品一区二区精品绿巨人 | 欧美mv日韩mv国产网站app| 国产天堂亚洲国产碰碰| 一区二区三区高清| 久久国产精品露脸对白| 一本色道久久综合狠狠躁的推荐 | 久久亚洲捆绑美女| 一区二区中文字幕在线| 日本不卡123| 99精品欧美一区| 亚洲精品在线一区二区| 亚洲男女一区二区三区| 九九在线精品视频| 欧美性猛交xxxxxx富婆| 国产日韩欧美一区二区三区乱码| 一区二区高清免费观看影视大全| 激情五月婷婷综合| 色哟哟一区二区三区| 欧美精品一区二| 日韩av中文在线观看| 91免费视频网| 国产欧美日韩在线看| 天堂成人免费av电影一区| 99免费精品在线观看| 久久九九国产精品| 美女视频黄久久| 在线国产电影不卡| 国产精品网站在线播放| 久久精品国产亚洲aⅴ | 91精品国产91久久久久久一区二区 | 日韩一区二区免费在线电影| 亚洲欧美经典视频| 福利电影一区二区| 精品国产乱码久久久久久浪潮| 日韩精品亚洲一区二区三区免费| 91亚洲精品久久久蜜桃| 国产精品久久久久一区二区三区共| 久久黄色级2电影| 欧美一区二区三区视频免费| 亚洲一区二区精品久久av| 99国产精品久久久| 中文字幕在线不卡一区| 国产成人av电影在线观看| 欧美成人官网二区| 日本午夜精品一区二区三区电影| 欧美日韩亚洲综合在线 | 国产精品入口麻豆九色| 国产一区二区免费在线| 欧美r级电影在线观看| 六月丁香综合在线视频| 日韩免费成人网| 免费在线欧美视频| 欧美一区二区精品| 蜜桃在线一区二区三区| 欧美一级午夜免费电影| 日韩精彩视频在线观看| 91麻豆精品国产综合久久久久久| 日产精品久久久久久久性色| 欧美日韩大陆在线| 午夜一区二区三区在线观看| 欧美美女视频在线观看| 日韩国产欧美在线播放| 日韩一区二区免费在线观看| 久久国产精品第一页| 久久久不卡影院| 暴力调教一区二区三区| 亚洲精品久久久蜜桃| 欧美精品一卡二卡| 日本美女一区二区三区| 精品国产123| 国产成人日日夜夜| 亚洲丝袜制服诱惑| 欧美中文字幕一区二区三区亚洲| 亚洲chinese男男1069| 日韩三级在线观看| 国产激情偷乱视频一区二区三区| 亚洲欧洲精品一区二区三区不卡| 色婷婷综合久久久中文一区二区| 亚洲高清免费视频| 精品欧美一区二区久久| 国产69精品久久久久毛片| 亚洲欧美日韩国产手机在线| 欧洲生活片亚洲生活在线观看| 蜜芽一区二区三区| 国产精品无遮挡| 欧美疯狂做受xxxx富婆| 粉嫩蜜臀av国产精品网站| 一区二区三区欧美视频|