日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库知识点汇总(最全!!)

發(fā)布時間:2023/12/31 数据库 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库知识点汇总(最全!!) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、數(shù)據(jù)庫概述
保存數(shù)據(jù) 的容器
SELECT sid AS ‘學(xué)生編號’ FROM yu;
數(shù)組
集合
文件

能否存儲大量文件?
查詢速度如何?是否方便?
共享是否方便?
安全性如何?
數(shù)據(jù)庫的好處
?實(shí)現(xiàn)數(shù)據(jù)持久化
?使用完整的管理系統(tǒng)統(tǒng)一管理,易于查詢
數(shù)據(jù)庫的概念
DB
數(shù)據(jù)庫(database):存儲數(shù)據(jù)的“倉庫”。它保存了一系列有組織的數(shù)據(jù)。
DBMS
數(shù)據(jù)庫管理系統(tǒng)(Database Management System)。數(shù)據(jù)庫是通過DBMS創(chuàng)建和操作的容器,常見的數(shù)據(jù)庫管理系統(tǒng):MySQL、Oracle、DB2、SqlServer等
SQL
結(jié)構(gòu)化查詢語言(Structure Query Language):專門用來與數(shù)據(jù)庫通信的語言。
二、SQL語言概述
SQL的優(yōu)點(diǎn):
1、不是某個特定數(shù)據(jù)庫供應(yīng)商專有的語言,幾乎所有DBMS都支持SQL
2、簡單易學(xué)
3、雖然簡單,但實(shí)際上是一種強(qiáng)有力的語言,靈活使用其語言元素,可以進(jìn)行非常復(fù)雜和高級的數(shù)據(jù)庫操作。
三、數(shù)據(jù)庫的特點(diǎn)
將數(shù)據(jù)放到表中,表再放到庫中
一個數(shù)據(jù)庫中可以有多個表,每個表都有一個的名字,用來標(biāo)識自己。表名具有唯一性。
表具有一些特性,這些特性定義了數(shù)據(jù)在表中如何存儲,類似java中 “類”的設(shè)計。
表由列組成,我們也稱為字段。所有表都是由一個或多個列組成的,每一列類似java 中的”屬性”
表中的數(shù)據(jù)是按行存儲的,每一行類似于java中的“對象”。
四、SQL語言分類
1、DML(Data Manipulation Language):數(shù)據(jù)操縱語句,用于添加、刪除、修改、查詢數(shù)據(jù)庫記錄,并檢查數(shù)據(jù)完整性
2、DDL(Data Definition Language):數(shù)據(jù)定義語句,用于庫和表的創(chuàng)建、修改、刪除。
3、DCL(Data Control Language):數(shù)據(jù)控制語句,用于定義用戶的訪問權(quán)限和安全級別。
DML
DML用于查詢與修改數(shù)據(jù)記錄,包括如下SQL語句:
INSERT:添加數(shù)據(jù)到數(shù)據(jù)庫中
UPDATE:修改數(shù)據(jù)庫中的數(shù)據(jù)
DELETE:刪除數(shù)據(jù)庫中的數(shù)據(jù)
SELECT:選擇(查詢)數(shù)據(jù)
SELECT是SQL語言的基礎(chǔ),最為重要。
DDL
DDL用于定義數(shù)據(jù)庫的結(jié)構(gòu),比如創(chuàng)建、修改或刪除數(shù)據(jù)庫對象,包括如下SQL語句:
CREATE TABLE:創(chuàng)建數(shù)據(jù)庫表
ALTER TABLE:更改表結(jié)構(gòu)、添加、刪除、修改列長度
DROP TABLE:刪除表
CREATE INDEX:在表上建立索引
DROP INDEX:刪除索引
DCL
DCL用來控制數(shù)據(jù)庫的訪問,包括如下SQL語句:
GRANT:授予訪問權(quán)限
REVOKE:撤銷訪問權(quán)限
COMMIT:提交事務(wù)處理
ROLLBACK:事務(wù)處理回退
SAVEPOINT:設(shè)置保存點(diǎn)
LOCK:對數(shù)據(jù)庫的特定部分進(jìn)行鎖定
五、mysql數(shù)據(jù)庫的安裝
圖解MySQL程序結(jié)構(gòu)

MySQL產(chǎn)品的特點(diǎn)
MySQL數(shù)據(jù)庫隸屬于MySQL AB公司,總部位于瑞典,后被oracle收購。
– 成本低:開放源代碼,一般可以免費(fèi)試用
– 性能高:執(zhí)行很快
– 簡單:很容易安裝和使用
配置文件常用配置分析(重點(diǎn))
安裝目錄下的my.ini文件
[mysqld] 服務(wù)端配置
port=3306 端口3306
basedir 是安裝目錄
datadir 數(shù)據(jù)文件目錄
character-set-server 服務(wù)端字符編碼
default-storage-engine 默認(rèn)引擎
sql-mode 語法模式
max_connections 最大連接數(shù)
啟動和停止MySQL服務(wù)
方式一:通過計算機(jī)管理方式
右擊計算機(jī)—管理—服務(wù)—啟動或停止MySQL服務(wù)
方式二:通過命令行方式(右鍵管理員運(yùn)行,否則沒有權(quán)限)
啟動:net start 服務(wù)名
停止:net stop 服務(wù)名
MySQL服務(wù)端的登錄和退出
通過mysql自帶客戶端

通過window是命令行登錄
mysql –h 主機(jī)名 –u用戶名 –p 密碼
mysql -h localhost -u root -p
輸入密碼:
退出
exit
六、MySql數(shù)據(jù)庫的使用
規(guī)范
不區(qū)分大小寫
每句話用;或\g結(jié)尾
各子句一般分行寫
關(guān)鍵字不能縮寫也不能分行
用縮進(jìn)提高語句的可讀性
注釋
單行注釋 # 或 –
多行注釋 /* 注釋文本 */

示例

  • 進(jìn)入 mysql, 在命令行中輸入: mysql –u root –p
  • 查看 mysql 中有哪些個數(shù)據(jù)庫: show databases;
  • 使用一個數(shù)據(jù)庫: use 數(shù)據(jù)庫名稱;
  • 新建一個數(shù)據(jù)庫: create database 數(shù)據(jù)庫名
  • 查看指定的數(shù)據(jù)庫中有哪些數(shù)據(jù)表: show tables;
    6.查看mysql版本
    登錄后select version();
    或退出重新登錄
    未登錄 mysql --version或mysql –V
  • 1.SHOW DATABASES;
    2.USE employee;
    3.SHOW TABLES ;
    4.DESC dept;
    七、圖形化界面客戶端的使用

    導(dǎo)入sql文件
    四張表的介紹

    八、基本 SELECT 語句
    SELECT *|{[DISTINCT] column|expression [alias],…}
    FROM table;
    ? SELECT 標(biāo)識選擇哪些列。
    ? FROM 標(biāo)識從哪個表中選擇。
    SELECT *
    FROM departments;
    選擇特定的列
    SELECT department_id, location_id
    FROM departments;

    注意
    ? SQL 語言大小寫不敏感。
    ? SQL 可以寫在一行或者多行
    ? 關(guān)鍵字不能被縮寫也不能分行
    ? 各子句一般要分行寫。
    ? 使用縮進(jìn)提高語句的可讀性
    列的別名
    ? 重命名一個列。
    ? 便于計算。
    ? 緊跟列名,也可以在列名和別名之間加入關(guān)鍵字‘AS’,別名使用雙引號,以便在別名中包含空格或特殊的字符并區(qū)分大小寫。
    SELECT last_name AS name, commission_pct comm
    FROM employees;
    SELECT last_name “Name”, salary*12 “Annual Salary”
    FROM employees;

    字符串
    ? 字符串可以是 SELECT 列表中的一個字符,數(shù)字,日期。
    ? 日期和字符只能在單引號中出現(xiàn)。?
    顯示表結(jié)構(gòu)
    使用 DESCRIBE 命令,表示表結(jié)構(gòu)
    DESC[RIBE] tablename
    DESCRIBE employees
    九、過濾和排序數(shù)據(jù)
    過濾
    使用WHERE 子句,將不滿足條件的行過濾掉
    SELECT
    *|{[DISTINCT] column|expression [alias],…}
    FROM table
    [WHERE condition(s)];
    WHERE 子句緊隨 FROM 子句

    返回在 90號部門工作的所有員工的信息
    SELECT employee_id, last_name, job_id, department_id
    FROM employees
    WHERE department_id = 90 ;
    比較運(yùn)算
    賦值使用 := 符號

    SELECT last_name, salary
    FROM employees
    WHERE salary <= 3000;
    其它比較運(yùn)算(重點(diǎn)聽一下LIKE)

    BETWEEN
    使用 BETWEEN 運(yùn)算來顯示在一個區(qū)間內(nèi)的值
    SELECT last_name, salary
    FROM employees
    WHERE salary BETWEEN 2500 AND 3500;
    IN
    使用 IN運(yùn)算顯示列表中的值。
    SELECT employee_id, last_name, salary, manager_id
    FROM employees
    WHERE manager_id IN (100, 101, 201);
    LIKE
    ?使用 LIKE 運(yùn)算選擇類似的值
    ?選擇條件可以包含字符或數(shù)字:
    % 代表零個或多個字符(任意個字符)。
    _ 代表一個字符。
    SELECT first_name
    FROM employees
    WHERE first_name LIKE ‘S%’;

    ‘%’和‘-’可以同時使用
    SELECT last_name
    FROM employees
    WHERE last_name LIKE ‘_o%’; //最后的名字字母為o
    NULL
    使用 IS (NOT) NULL 判斷空值
    SELECT last_name, manager_id
    FROM employees
    WHERE manager_id IS NULL;
    邏輯運(yùn)算

    AND
    AND 要求并的關(guān)系為真

    SELECT employee_id, last_name, job_id, salary
    FROM employees
    WHERE salary >=10000
    AND job_id LIKE ‘%MAN%’;
    OR
    OR 要求或關(guān)系為真。
    SELECT employee_id, last_name, job_id, salary
    FROM employees
    WHERE salary >= 10000
    OR job_id LIKE ‘%MAN%’;
    NOT
    SELECT last_name, job_id
    FROM employees
    WHERE job_id
    NOT IN (‘IT_PROG’, ‘ST_CLERK’, ‘SA_REP’);
    ORDER BY子句
    使用 ORDER BY 子句排序
    ASC(ascend): 升序
    DESC(descend): 降序
    ORDER BY 子句在SELECT語句的結(jié)尾。
    SELECT last_name, job_id, department_id, hire_date
    FROM employees
    ORDER BY hire_date ;
    降序排序
    SELECT last_name, job_id, department_id, hire_date
    FROM employees
    ORDER BY hire_date DESC ;
    按別名排序
    SELECT employee_id, last_name, salary*12 annsal
    FROM employees
    ORDER BY annsal;
    多個列排序
    按照ORDER BY 列表的順序排序
    SELECT last_name, department_id, salary
    FROM employees
    ORDER BY department_id, salary DESC;
    可以使用不在SELECT 列表中的列排序
    十、分組函數(shù)
    什么是分組函數(shù)
    分組函數(shù)作用于一組數(shù)據(jù),并對一組數(shù)據(jù)返回一個值。
    組函數(shù)類型

    ? AVG()
    ? COUNT()
    ? MAX()
    ? MIN()
    ? SUM()
    組函數(shù)語法
    SELECT [column,] group_function(column), …
    FROM table
    [WHERE condition]
    [GROUP BY column]
    [ORDER BY column];
    AVG(平均值)和 SUM (合計)函數(shù)
    可以對數(shù)值型數(shù)據(jù)使用AVG 和 SUM 函數(shù)。
    SELECT AVG(salary), MAX(salary),
    MIN(salary), SUM(salary)
    FROM employees
    WHERE job_id LIKE ‘%REP%’;
    MIN(最小值)和 MAX(最大值)函數(shù)
    可以對任意數(shù)據(jù)類型的數(shù)據(jù)使用 MIN 和 MAX 函數(shù)。
    SELECT MIN(hire_date), MAX(hire_date)
    FROM employees;
    COUNT(計數(shù))函數(shù)
    COUNT() 返回表中記錄總數(shù),適用于任意數(shù)據(jù)類型。
    SELECT COUNT()
    FROM
    employees
    WHERE department_id = 50;

    COUNT(expr) 返回expr不為空的記錄總數(shù)
    SELECT COUNT(commission_pct)
    FROM employees
    WHERE department_id = 50;
    分組數(shù)據(jù)
    分組數(shù)據(jù): GROUP BY 子句語法
    可以使用GROUP BY子句將表中的數(shù)據(jù)分成若干組
    SELECT column, group_function(column)
    FROM table
    [WHERE condition]
    [GROUP BY group_by_expression]
    [ORDER BY column];
    GROUP BY 子句 (?)
    在SELECT 列表中所有未包含在組函數(shù)中的列都應(yīng)該包含在 GROUP BY 子句中
    SELECT department_id, AVG(salary)
    FROM employees
    GROUP BY department_id ;
    包含在 GROUP BY 子句中的列不必包含在SELECT 列表中
    SELECT AVG(salary)
    FROM employees
    GROUP BY department_id ;
    使用多個列分組
    SELECT department_id dept_id, job_id, SUM(salary)
    FROM employees
    GROUP BY department_id, job_id ;
    非法使用組函數(shù)
    ? 不能在 WHERE 子句中使用組函數(shù)。
    ? 可以在 HAVING 子句中使用組函數(shù)
    SELECT department_id, AVG(salary)
    FROM employees
    WHERE AVG(salary) > 8000
    GROUP BY department_id;

    WHERE 子句中不能使用組函數(shù)
    過濾分組
    使用 HAVING 過濾分組:

  • 行已經(jīng)被分組。
  • 使用了組函數(shù)。
  • 滿足HAVING 子句中條件的分組將被顯示。
    SELECT column, group_function
    FROM table
    [WHERE condition]
    [GROUP BY group_by_expression]
    [HAVING group_condition]
    [ORDER BY column];
  • HAVING 子句
    SELECT department_id, MAX(salary)
    FROM employees
    GROUP BY department_id
    HAVING MAX(salary)>10000 ;
    十一、多表查詢

    笛卡爾集

    select name,boyName from beauty,boys; 這條語句對嗎?
    為了避免笛卡爾集, 可以在 WHERE 加入有 效的連接條件

    Mysql 連接
    使用連接在多個表中查詢數(shù)據(jù)
    SELECT table1.column, table2.column
    FROM table1, table2
    WHERE table1.column1 = table2.column2;
    在 WHERE 子句中寫入連接條件。
    在表中有相同列時,在列名之前加上表名前綴
    等值連接

    SELECT beauty.id,NAME,boyname FROM beauty ,boys
    WHERE beauty.boyfriend_id=boys.id;
    區(qū)分重復(fù)的列名
    ? 使用表名前綴在多個表中區(qū)分相同的列。
    ? 在不同表中具有相同列名的列可以用表的別名加以區(qū)分。
    ? 如果使用了表別名,則在select語句中需要使用表別名代替表名
    ? 表別名最多支持32個字符長度,但建議越少越好
    表的別名
    ? 使用別名可以簡化查詢。
    ? 使用表名前綴可以提高執(zhí)行效率。
    SELECT bt.id,NAME,boyname
    FROM beauty bt,boys b;
    WHERE bt.boyfriend_id=b.id ;
    Join連接
    ? 分類:
    – 內(nèi)連接 [inner] join on
    – 外連接
    ? 左外連接 left [outer] join on
    ? 右外連接 right [outer] join on
    ON 子句
    SELECT bt.id,NAME,boyname
    FROM beauty bt
    Inner join boys b
    On bt.boyfriend_id=b.id ;
    連接多個表
    連接 n個表,至少需要 n-1個連接條件。
    例如:連接三個表,至少需要兩個連接條件。
    練習(xí):查詢出公司員工的 last_name, department_name, city
    使用 ON 子句創(chuàng)建多表連接(重點(diǎn))
    SELECT employee_id, city, department_name
    FROM employees e
    JOIN departments d
    ON d.department_id = e.department_id
    JOIN locations l
    ON d.location_id = l.location_id;
    John連接總結(jié)

    十二、字符函數(shù)

    大小寫控制函數(shù)
    這類函數(shù)改變字符的大小寫。
    LOWER(‘SQL Course’)
    sql course

    UPPER(‘SQL Course’)
    SQL COURSE

    字符控制函數(shù)
    CONCAT(‘Hello’, ‘World’)
    HelloWorld

    SUBSTR(‘HelloWorld’,1,5)
    Hello

    LENGTH(‘HelloWorld’)
    10

    INSTR(‘HelloWorld’, ‘W’)
    6

    LPAD(salary,10,’*’)
    *****24000

    RPAD(salary, 10, ‘*’)
    24000*****

    TRIM(‘H’ FROM ‘HelloWorld’)
    elloWorld

    REPLACE(‘a(chǎn)bcd’,‘b’,‘m’)
    amcd
    十三、數(shù)字函數(shù)
    ROUND: 四舍五入
    ROUND(45.926, 2) 45.93
    TRUNCATE: 截斷
    TRUNC(45.926, 2) 45.92
    MOD: 求余
    MOD(1600, 300) 100
    十四、日期函數(shù)
    now:獲取當(dāng)前日期
    str_to_date: 將日期格式的字符轉(zhuǎn)換成指定格式的日期
    STR_TO_DATE(‘9-13-1999’,’%m-%d-%Y’) 1999-09-13
    date_format:將日期轉(zhuǎn)換成字符
    str_to_date: 將日期格式的字符轉(zhuǎn)換成指定格式的日期 2018年06月06日

    十五、條件表達(dá)式
    ? 在 SQL 語句中使用IF-THEN-ELSE 邏輯
    ? 使用方法: – CASE 表達(dá)式
    CASE 表達(dá)式
    在需要使用 IF-THEN-ELSE 邏輯時
    CASE expr WHEN comparison_expr1 THEN return_expr1
    [WHEN comparison_expr2 THEN return_expr2
    WHEN comparison_exprn THEN return_exprn
    ELSE else_expr]
    END
    練習(xí):查詢部門號為 10, 20, 30 的員工信息, 若部門號為 10, 則打印其工資的 1.1 倍, 20 號部門, 則打印其工資的 1.2 倍, 30 號部門打印其工資的 1.3 倍數(shù)
    下面是使用case表達(dá)式的一個例子:
    SELECT department_id,salary,
    CASE department_id
    WHEN 10 THEN salary1.2
    WHEN 20 THEN salary1.3
    WHEN 30 THEN salary*1.5
    ELSE salary
    END 工資2
    FROM employees
    十六、數(shù)據(jù)操縱語言
    DML(Data Manipulation Language –數(shù)據(jù)操縱語言) 可以在下列條件下執(zhí)行: – 向表中插入數(shù)據(jù)
    – 修改現(xiàn)存數(shù)據(jù)
    – 刪除現(xiàn)存數(shù)據(jù)
    事務(wù)是由完成若干項(xiàng)工作的DML語句組成的
    十七、插入數(shù)據(jù)
    INSERT 語句語法
    使用 INSERT 語句向表中插入數(shù)據(jù)。
    INSERT INTO table [(column [, column…])]
    VALUES (value [, value…]);
    使用這種語法一次只能向表中插入一條數(shù)據(jù)
    插入數(shù)據(jù)
    為每一列添加一個新值。
    ? 按列的默認(rèn)順序列出各個列的值。
    ? 在 INSERT 子句中隨意列出列名和他們的值。
    ? 字符和日期型數(shù)據(jù)應(yīng)包含在單引號中。
    INSERT INTO departments(department_id, department_name,
    manager_id, location_id)
    VALUES (70, ‘Public Relations’, 100, 1700);

    INSERT INTO
    employees(employee_id,last_name,email,hire_date,job_id)
    VALUES (300,’Tom’,’tom@126.com’,to_date(‘2012-3-
    21’,’yyyy-mm-dd’),’SA_RAP’);

    向表中插入空值
    隱式方式: 在列名表中省略該列的值
    INSERT INTO departments (department_id, department_name )
    VALUES (30, ‘Purchasing’);

    顯示方式: 在VALUES 子句中指定空值。
    INSERT INTO departments
    VALUES (100, ‘Finance’, NULL, NULL);
    插入指定的值
    NOW()函數(shù):記錄當(dāng)前系統(tǒng)的日期和時間
    INSERT INTO employees (employee_id, first_name, last_name, email, phone_number,hire_date, job_id, salary, commission_pct, manager_id,department_id)
    VALUES (113, ‘Louis’, ‘Popp’, ‘LPOPP’, ‘515.124.4567’, NOW(), ‘AC_ACCOUNT’, 6900, NULL, 205, 100);

    從其它表中拷貝數(shù)據(jù)
    在 INSERT 語句中加入子查詢
    INSERT INTO emp2
    SELECT *
    FROM employees
    WHERE department_id = 90;

    INSERT INTO sales_reps(id, name, salary, commission_pct)
    SELECT employee_id, last_name, salary, commission_pct
    FROM employees
    WHERE job_id LIKE ‘%REP%’;

    不必書寫 VALUES 子句。
    子查詢中的值列表應(yīng)與 INSERT 子句中的列名對應(yīng)
    十八、更新數(shù)據(jù)
    UPDATE 語句語法
    ? 使用 UPDATE 語句更新數(shù)據(jù)
    UPDATE table
    SET column = value [, column = value, …]
    [WHERE condition];

    ? 可以一次更新多條數(shù)據(jù)。
    ? 如果需要回滾數(shù)據(jù),需要保證在DML前,進(jìn)行設(shè)置:SET AUTOCOMMIT = FALSE;
    ? 使用 WHERE 子句指定需要更新的數(shù)據(jù)
    UPDATE employees
    SET department_id = 70
    WHERE employee_id = 113;
    ? 如果省略 WHERE 子句,則表中的所有數(shù)據(jù)都將被更新
    UPDATE copy_emp
    SET department_id = 110;

    更新中的數(shù)據(jù)完整性錯誤
    UPDATE employees
    SET department_id = 55
    WHERE department_id = 110;

    十九、刪除數(shù)據(jù)
    DELETE 語句
    使用 DELETE 語句從表中刪除數(shù)據(jù)。
    DELETE FROM table
    [WHERE condition];
    刪除數(shù)據(jù)
    使用 WHERE 子句刪除指定的記錄
    DELETE FROM departments
    WHERE department_name = ‘Finance’;
    如果省略 WHERE 子句,則表中的全部數(shù)據(jù)將被刪除
    DELETE FROM copy_emp;
    刪除中的數(shù)據(jù)完整性錯誤
    DELETE FROM departments
    WHERE department_id = 60;

    二十、子查詢
    概念
    出現(xiàn)在其他語句內(nèi)部的select語句,稱為子查詢或內(nèi)查詢,內(nèi)部嵌套其他select語句的查詢,稱為外查詢或主查詢
    示例:
    select first_name from employees where
    department_id in(
    select department_id from departments
    where location_id=1700
    )
    注意事項(xiàng)
    ? 子查詢要包含在括號內(nèi)。
    ? 將子查詢放在比較條件的右側(cè)。
    ? 單行操作符對應(yīng)單行子查詢,多行操作符對應(yīng)多行子查詢
    單行子查詢
    ? 只返回一行。
    ? 使用單行比較操作符。

    子查詢語法
    SELECT select_list
    FROM table
    WHERE expr operator
    (SELECT select_list
    FROM table);

    ? 子查詢 (內(nèi)查詢) 在主查詢之前一次執(zhí)行完成。
    ? 子查詢的結(jié)果被主查詢(外查詢)使用 。
    使用子查詢解決問題
    誰的工資比 Abel 高?

    執(zhí)行單行子查詢
    題目:返回job_id與141號員工相同,salary比143號員工多的員工姓名,job_id 和工資
    在子查詢中使用組函數(shù)
    題目:返回公司工資最少的員工的last_name,job_id和salary
    子查詢中的 HAVING 子句
    ? 首先執(zhí)行子查詢。
    ? 向主查詢中的HAVING 子句返回結(jié)果。
    題目:查詢最低工資大于50號部門最低工資的部門id和其最低工資
    非法使用子查詢

    子查詢中的空值問題
    SELECT last_name, job_id
    FROM employees
    WHERE job_id =
    (SELECT job_id
    FROM employees
    WHERE last_name = ‘Haas’);
    子查詢不返回任何行
    多行子查詢
    ? 返回多行。
    ? 使用多行比較操作符

    使用in操作符
    題目:返回location_id是1400或1700的部門中的所有員工姓名
    在多行子查詢中使用 ANY 操作符
    題目:返回其它部門中比job_id為‘IT_PROG’部門任一工資低的員工的員
    工號、姓名、job_id 以及salary

    題目:返回其它部門中比job_id為‘IT_PROG’部門所有工資都低的員工
    的員工號、姓名、job_id 以及salary

    子查詢中的空值問題

    二十一、創(chuàng)建數(shù)據(jù)庫
    創(chuàng)建一個保存員工信息的數(shù)據(jù)庫
    – create database employees;
    相關(guān)其他命令
    – show databases;查看當(dāng)前所有數(shù)據(jù)庫
    – use employees;“使用”一個數(shù)據(jù)庫,使其作為當(dāng)前數(shù)據(jù)庫
    命名規(guī)則
    ? 數(shù)據(jù)庫名不得超過30個字符,變量名限制為29個 ? 必須只能包含 A–Z, a–z, 0–9, _共63個字符
    ? 不能在對象名的字符間留空格
    ? 必須不能和用戶定義的其他對象重名
    ? 必須保證你的字段沒有和保留字、數(shù)據(jù)庫系統(tǒng)或常用方法沖突
    ? 保持字段名和類型的一致性,在命名字段并為其指定數(shù)據(jù)類型的時候一定要保證一致性。假如數(shù)據(jù)類型在一個表里是整數(shù),那在另一個表里可就別變成字符型了
    CREATE TABLE 語句
    ? 必須具備:
    – CREATE TABLE權(quán)限
    – 存儲空間

    ? 必須指定:
    – 表名
    – 列名, 數(shù)據(jù)類型, 尺寸
    語法

    確認(rèn)

    常用數(shù)據(jù)類型

    創(chuàng)建表
    CREATE TABLE emp (
    #int類型,自增
    emp_id INT AUTO_INCREMENT, #最多保存20個中英文字符
    emp_name CHAR (20),
    #總位數(shù)不超過15位
    salary DOUBLE,
    #日期類型
    birthday DATE,
    #主鍵
    PRIMARY KEY (emp_id)
    ) ;
    使用子查詢創(chuàng)建表
    ? 使用 AS subquery 選項(xiàng),將創(chuàng)建表和插入數(shù)據(jù)結(jié)合起來(?)

    ? 指定的列和子查詢中的列要一一對應(yīng)
    ? 通過列名和默認(rèn)值定義列
    復(fù)制現(xiàn)有的表:
    create table emp1 as select * from employees;
    create table emp2 as select * from employees where 1=2;
    –創(chuàng)建的emp2是空表。
    使用子查詢創(chuàng)建表舉例

    二十二、ALTER TABLE 語句
    使用 ALTER TABLE 語句可以實(shí)現(xiàn):
    –向已有的表中添加列
    ?修改現(xiàn)有表中的列
    –刪除現(xiàn)有表中的列
    –重命名現(xiàn)有表中的列
    追加一個新列
    ALTER TABLE dept80
    ADD job_id varchar(15);
    修改一個列
    ? 可以修改列的數(shù)據(jù)類型, 尺寸和默認(rèn)值
    ? 對默認(rèn)值的修改只影響今后對表的修改
    ALTER TABLE dept80
    MODIFY (last_name VARCHAR(30));

    ALTER TABLE dept80
    MODIFY (salary double(9,2) default 1000);

    刪除一個列
    使用 DROP COLUMN 子句刪除不再需要的列.
    ALTER TABLE dept80
    DROP COLUMN job_id;
    重命名一個列
    使用 CHANGE old_column new_column dataType子句重命名列
    ALTER TABLE dept80
    CHANGE department_name dept_name varchar(15);
    二十三、刪除表
    ? 數(shù)據(jù)和結(jié)構(gòu)都被刪除
    ? 所有正在運(yùn)行的相關(guān)事務(wù)被提交
    ? 所有相關(guān)索引被刪除
    ? DROP TABLE 語句不能回滾
    DROP TABLE dept80;

    清空表
    ? TRUNCATE TABLE 語句:
    – 刪除表中所有的數(shù)據(jù)
    – 釋放表的存儲空間
    ? TRUNCATE語句不能回滾
    ? 可以使用 DELETE 語句刪除數(shù)據(jù),可以回滾
    二十四、改變對象的名稱
    ? 執(zhí)行RENAME語句改變表, 視圖的名稱
    ? 必須是對象的擁有者
    ALTER table dept
    RENAME TO detail_dept;
    二十五、常見的數(shù)據(jù)類型
    整型

    小數(shù)

    位類型

    char和varchar類型
    字符串類型 最多字符數(shù) 描述及存儲需求
    說明:用來保存MySQL中較短的字符串。

    binary和varbinary類型
    說明:類似于char和varchar,不同的是它們包含二進(jìn)制字符串而不包含非二進(jìn)制字符串。
    Enum類型
    說明:又稱為枚舉類型哦,要求插入的值必須屬于列表中指定的值之一。
    如果列表成員為1~255,則需要1個字節(jié)存儲
    如果列表成員為255~65535,則需要2個字節(jié)存儲
    最多需要65535個成員
    Set類型
    說明:和Enum類型類似,里面可以保存0~64個成員。和Enum類型最大的區(qū)別是:SET類型一次可以選取多個成員,而Enum只能選一個根據(jù)成員個數(shù)不同,存儲所占的字節(jié)也不同

    日期類型

    datetime和timestamp的區(qū)別
    1、Timestamp支持的時間范圍較小,取值范圍:19700101080001——2038年的某個時間Datetime的取值范圍:1000-1-1 ——9999—12-31
    2、timestamp和實(shí)際時區(qū)有關(guān),更能反映實(shí)際的日期,而datetime則只能反映出插入時的當(dāng)?shù)貢r區(qū)
    3、timestamp的屬性受Mysql版本和SQLMode的影響很大
    二十六、約束
    什么是約束
    ? 為了保證數(shù)據(jù)的一致性和完整性,SQL規(guī)范以約束的方式對表數(shù)據(jù)進(jìn)行額外的條件限制。
    ? 約束是表級的強(qiáng)制規(guī)定
    ? 可以在創(chuàng)建表時規(guī)定約束(通過 CREATETABLE 語句),或者在表創(chuàng)建之后也可以(通
    過 ALTER TABLE 語句)
    有以下六種約束:
    – NOT NULL 非空約束,規(guī)定某個字段不能為空
    – UNIQUE 唯一約束,規(guī)定某個字段在整個表中是唯一的
    – PRIMARY KEY 主鍵(非空且唯一) – FOREIGN KEY 外鍵
    – CHECK 檢查約束
    – DEFAULT 默認(rèn)值
    具體細(xì)節(jié)可以參閱W3Cschool手冊
    注意: MySQL不支持check約束,但可以使用check約束,而沒有任何效果;
    ? 根據(jù)約束數(shù)據(jù)列的限制,約束可分為:
    – 單列約束:每個約束只約束一列
    – 多列約束:每個約束可約束多列數(shù)據(jù)
    ? 根據(jù)約束的作用范圍,約束可分為:
    – 列級約束只能作用在一個列上,跟在列的定義后面
    – 表級約束可以作用在多個列上,不與列一起,而是單獨(dú)定義
    NOT NULL 約束
    非空約束用于確保當(dāng)前列的值不為空值,非空約束只能出現(xiàn)在表對象的列上。
    Null類型特征:
    ?所有的類型的值都可以是null,包括int、float等數(shù)據(jù)類型
    ?空字符串””不等于null,0也不等于null
    創(chuàng)建 not null 約束:
    CREATE TABLE emp(
    id INT(10) NOT NULL,
    NAME VARCHAR(20) NOT NULL DEFAULT ‘a(chǎn)bc’,
    sex CHAR NULL
    );
    增加 not null 約束
    ALTER TABLE emp
    MODIFY sex VARCHAR(30) NOT NULL;
    取消 not null 約束:
    ALTER TABLE emp
    MODIFY sex VARCHAR(30) NULL;

    取消 not null 約束,增加默認(rèn)值:
    ALTER TABLE emp
    MODIFY NAME VARCHAR(15) DEFAULT ‘a(chǎn)bc’ NULL;
    UNIQUE 約束
    ? 同一個表可以有多個唯一約束,多個列組合的約束。在創(chuàng)建唯一約束的時候,如果不給唯一約束名稱,就默認(rèn)和列名相同。
    ? MySQL會給唯一約束的列上默認(rèn)創(chuàng)建一個唯一索引
    ? 唯一約束,允許出現(xiàn)多個空值:NULL。
    CREATE TABLE USER(
    id INT NOT NULL,
    NAME VARCHAR(25),
    PASSWORD VARCHAR(16),
    #使用表級約束語法
    CONSTRAINT uk_name_pwd UNIQUE(NAME,PASSWORD)
    );
    表示用戶名和密碼組合不能重復(fù)
    添加唯一約束
    ALTER TABLE USER
    ADD UNIQUE(NAME,PASSWORD);
    ALTER TABLE USER
    ADD CONSTRAINT uk_name_pwd UNIQUE(NAME,PASSWORD);
    ALTER TABLE USER
    MODIFY NAME VARCHAR(20) UNIQUE;
    刪除約束
    ALTER TABLE USER
    DROP INDEX uk_name_pwd;
    PRIMARY KEY 約束
    ? 主鍵約束相當(dāng)于唯一約束+非空約束的組合,主鍵約束列不允許重復(fù),也不允許出現(xiàn)空值
    ? 如果是多列組合的主鍵約束,那么這些列都不允許為空值,并且組合的值不允許重復(fù)。
    ? 每個表最多只允許一個主鍵,建立主鍵約束可以在列級別創(chuàng)建,也可以在表級別上創(chuàng)建。
    ? MySQL的主鍵名總是PRIMARY,當(dāng)創(chuàng)建主鍵約束時,系統(tǒng)默認(rèn)會在所在的列和列組合上建立對應(yīng)的唯一索引。
    CREATE TABLE emp4(
    id INT AUTO_INCREMENT PRIMARY KEY,
    NAME VARCHAR(20)
    );

    CREATE TABLE emp5(
    id INT NOT NULL AUTO_INCREMENT,
    NAME VARCHAR(20),
    pwd VARCHAR(15),
    CONSTRAINT emp5_id_pk PRIMARY KEY(id)
    );

    CREATE TABLE emp6(
    id INT NOT NULL,
    NAME VARCHAR(20),
    pwd VARCHAR(15),
    CONSTRAINT emp7_pk PRIMARY KEY(NAME,pwd)
    );
    刪除主鍵約束
    ALTER TABLE emp5
    DROP PRIMARY KEY;
    添加主鍵約束
    ALTER TABLE emp5
    ADD PRIMARY KEY(NAME,pwd);
    修改主鍵約束
    ALTER TABLE emp5
    MODIFY id INT PRIMARY KEY;
    FOREIGN KEY 約束
    ? 外鍵約束是保證一個或兩個表之間的參照完整性,外鍵是構(gòu)建于一個表的兩個字段或是兩個表的兩個字段之間的參照關(guān)系。
    ? 從表的外鍵值必須在主表中能找到或者為空。當(dāng)主表的記錄被從表參照時,主表的記錄將不允許刪除,如果要刪除數(shù)據(jù),需要先刪除從表中依賴該記錄的數(shù)據(jù),然后才可以刪除主表的數(shù)據(jù)。
    ? 還有一種就是級聯(lián)刪除子表數(shù)據(jù)。
    ? 注意:外鍵約束的參照列,在主表中引用的只能是主鍵或唯一鍵約束的列
    ? 同一個表可以有多個外鍵約束
    創(chuàng)建外鍵約束:
    CREATE TABLE dept(
    dept_id INT AUTO_INCREMENT PRIMARY KEY,
    dept_name VARCHAR(20)
    );

    CREATE TABLE emp(
    emp_id INT AUTO_INCREMENT PRIMARY KEY,
    last_name VARCHAR(15),
    dept_id INT,
    );
    創(chuàng)建多列外鍵組合,必須使用表級約束:
    CREATE TABLE classes(
    id INT,
    NAME VARCHAR(20),
    number INT,
    PRIMARY KEY(NAME,number)
    );

    CREATE TABLE student(
    id INT AUTO_INCREMENT PRIMARY KEY,
    classes_name VARCHAR(20),
    classes_number INT,
    FOREIGN KEY(classes_name,classes_number)
    REFERENCES classes(NAME,number)
    );

    ? 刪除外鍵約束:
    ALTER TABLE emp
    DROP FOREIGN KEY emp_dept_id_fk;
    ? 增加外鍵約束:
    ALTER TABLE emp
    ADD [CONSTRAINT emp_dept_id_fk] FOREIGN KEY(dept_id)
    REFERENCES dept(dept_id);
    FOREIGN KEY 約束的關(guān)鍵字
    – FOREIGN KEY: 在表級指定子表中的列
    – REFERENCES: 標(biāo)示在父表中的列
    –ON DELETE CASCADE(級聯(lián)刪除): 當(dāng)父表中的列被刪除時,子表中相對應(yīng)的列也被刪除
    –ON DELETE SET NULL(級聯(lián)置空): 子表中相應(yīng)的列置空

    CREATE TABLE student(
    id INT AUTO_INCREMENT PRIMARY KEY,
    NAME VARCHAR(20),
    classes_name VARCHAR(20),
    classes_number INT,
    /表級別聯(lián)合外鍵/
    FOREIGN KEY(classes_name, classes_number)
    REFERENCES classes(NAME, number) ON DELETE CASCADE);

    CHECK 約束
    ? MySQL可以使用check約束,但check約束對數(shù)據(jù)驗(yàn)證沒有任何作用,添加數(shù)據(jù)時,沒有任何錯誤或警告

    CREATE TABLE temp(
    id INT AUTO_INCREMENT,
    NAME VARCHAR(20),
    age INT CHECK(age > 20),
    PRIMARY KEY(id)
    );
    二十七、MySQL中使用limit實(shí)現(xiàn)分頁
    ? 背景
    –查詢返回的記錄太多了,查看起來很不方便,怎么樣能夠?qū)崿F(xiàn)分頁查詢呢?
    ? 分頁原理
    –所謂分頁顯示,就是將數(shù)據(jù)庫中的結(jié)果集,一段一段顯示出來需要的條件

    MySQL中使用limit實(shí)現(xiàn)分頁
    ? 怎么分段,當(dāng)前在第幾段(每頁有幾條,當(dāng)前在第幾頁)
    –前10條記錄:SELECT * FROM table LIMIT 0,10;
    –第11至20條記錄:SELECT * FROM table LIMIT 10,10;
    –第21至30條記錄: SELECT * FROM table LIMIT 20,10;
    ? 公式:
    (當(dāng)前頁數(shù)-1)*每頁條數(shù),每頁條數(shù)
    SELECT * FROM table LIMIT(PageNo - 1)*PageSize,PageSize; ? 注意:
    –limit子句必須放在整個查詢語句的最后!
    二十八、事務(wù)
    事務(wù)的概念
    事務(wù):事務(wù)由單獨(dú)單元的一個或多個SQL語句組成,在這個單元中,每個MySQL語句是相互依賴的。而整個單獨(dú)單元作為一個不可分割的整體,如果單元中某條SQL語句一旦執(zhí)行失敗或產(chǎn)生錯誤,整個單元將會回滾。所有受到影響的數(shù)據(jù)將返回到事物開始以前的狀態(tài);如果單元中的所有SQL語句均執(zhí)行成功,則事物被順利執(zhí)行
    MySQL 中的存儲引擎[了解]
    1、概念:在mysql中的數(shù)據(jù)用各種不同的技術(shù)存儲在文件(或內(nèi)存)中。
    2、通過show engines;來查看mysql支持的存儲引擎。
    3、 在mysql中用的最多的存儲引擎有:innodb,myisam ,memory 等。其中innodb支持事務(wù),而myisam、memory等不支持事務(wù)
    事務(wù)的特點(diǎn)(重點(diǎn))
    事務(wù)的ACID(acid)屬性
    –1. 原子性(Atomicity)
    原子性是指事務(wù)是一個不可分割的工作單位,事務(wù)中的操作要么都發(fā)生,要么都不發(fā)生。
    –2. 一致性(Consistency)
    事務(wù)必須使數(shù)據(jù)庫從一個一致性狀態(tài)變換到另外一個一致性狀態(tài)。
    –3. 隔離性(Isolation)
    事務(wù)的隔離性是指一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾,即一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。
    –4. 持久性(Durability)
    持久性是指一個事務(wù)一旦被提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就是永久性的,接下來的其他操作和數(shù)據(jù)庫故障不應(yīng)該對其有任何影響
    事務(wù)的使用
    以第一個 DML 語句的執(zhí)行作為開始
    以下面的其中之一作為結(jié)束:
    –COMMIT 或 ROLLBACK 語句
    –DDL 或 DCL 語句(自動提交)
    –用戶會話正常結(jié)束
    –系統(tǒng)異常終了
    數(shù)據(jù)庫的隔離級別
    對于同時運(yùn)行的多個事務(wù), 當(dāng)這些事務(wù)訪問數(shù)據(jù)庫中相同的數(shù)據(jù)時, 如果沒有采取必要的隔離機(jī)制, 就會導(dǎo)致各種并發(fā)問題:
    –臟讀: 對于兩個事務(wù) T1, T2, T1 讀取了已經(jīng)被 T2 更新但還沒有被提交的字段. 之后, 若 T2 回滾, T1讀取的內(nèi)容就是臨時且無效的.
    –不可重復(fù)讀: 對于兩個事務(wù)T1, T2, T1 讀取了一個字段, 然后 T2 更新了該字段. 之后, T1再次讀取同一個字段, 值就不同了.
    –幻讀: 對于兩個事務(wù)T1, T2, T1 從一個表中讀取了一個字段, 然后 T2 在該表中插 入了一些新的行. 之后, 如果 T1 再次讀取同一個表, 就會多出幾行.
    數(shù)據(jù)庫事務(wù)的隔離性: 數(shù)據(jù)庫系統(tǒng)必須具有隔離并發(fā)運(yùn)行各個事務(wù)的能力, 使它們不會相互影響, 避免各種并發(fā)問題.
    一個事務(wù)與其他事務(wù)隔離的程度稱為隔離級別. 數(shù)據(jù)庫規(guī)定了多種事務(wù)隔離級別, 不同隔離級別對應(yīng)不同的干擾程度, 隔離級別越高, 數(shù)據(jù)一致性就越好, 但并發(fā)性越弱
    數(shù)據(jù)庫提供的 4 種事務(wù)隔離級別

    Oracle 支持的 2 種事務(wù)隔離級別:READ COMMITED, SERIALIZABLE。 Oracle 默認(rèn)的事務(wù)隔離級別為: READ COMMITED
    Mysql 支持 4 種事務(wù)隔離級別. Mysql 默認(rèn)的事務(wù)隔離級別為: REPEATABLE READ

    在 MySql 中設(shè)置隔離級別
    每啟動一個 mysql 程序, 就會獲得一個單獨(dú)的數(shù)據(jù)庫連接. 每個數(shù)據(jù)庫連接都有一個全局變量 @@tx_isolation, 表示當(dāng)前的事務(wù)隔離級別.
    查看當(dāng)前的隔離級別: SELECT @@tx_isolation;
    設(shè)置當(dāng)前 mySQL 連接的隔離級別:
    –set transaction isolation level read committed;
    設(shè)置數(shù)據(jù)庫系統(tǒng)的全局的隔離級別:
    –set global transaction isolation level read committed;
    二十九、視圖
    ? 概念
    視圖:MySQL從5.0.1版本開始提供視圖功能。一種虛擬存在的表,行和列的數(shù)據(jù)來自定義視圖的查詢中使用的表,并且是在使用視圖時動態(tài)生成的,只保存了sql邏輯,不保存查詢結(jié)果
    ? 應(yīng)用場景:
    – 多個地方用到同樣的查詢結(jié)果
    – 該查詢結(jié)果使用的sql語句較復(fù)雜
    ? 示例:
    CREATE VIEW my_v1
    AS
    SELECT studentname,majorname
    FROM student s
    INNER JOIN major m
    ON s.majorid=m.majorid
    WHERE s.majorid=1;
    常見題目
    1.查詢郵箱中包含a字符的員工名、部門名和工種信息
    2.查詢各部門的平均工資
    3.查詢平均工資最低的部門信息
    4.查詢平均工資最低的部門名和工資
    視圖的好處
    ? 重用sql語句
    ? 簡化復(fù)雜的sql操作,不必知道它的查詢細(xì)節(jié)
    ? 保護(hù)數(shù)據(jù),提高安全性
    創(chuàng)建或者修改視圖
    ? 創(chuàng)建視圖的語法:
    create [or replace] view view_name
    As select_statement
    [with|cascaded|local|check option]
    ? 修改視圖的語法:
    alter view view_name
    As select_statement
    [with|cascaded|local|check option]
    視圖的可更新性和視圖中查詢的定義有關(guān)系,以下類型的視圖是不能更新的。
    ? 包含以下關(guān)鍵字的sql語句:分組函數(shù)、distinct、group by、having、union或者union all
    ? 常量視圖
    ? Select中包含子查詢
    ? join
    ? from一個不能更新的視圖
    ? where子句的子查詢引用了from子句中的表
    刪除視圖
    ? 刪除視圖的語法:
    用戶可以一次刪除一個或者多個視圖,前提是必須有該視圖的drop權(quán)限。
    drop view [if exists] view_name,view_name …[restrict|cascade]
    查看視圖
    ? 查看視圖的語法:
    show tables;
    如果需要查詢某個視圖的定義,可以使用show create view命令進(jìn)行查看:
    show create view view_name \G
    三十、存儲過程和函數(shù)
    什么是存儲過程和函數(shù)
    存儲過程和函數(shù):
    事先經(jīng)過編譯并存儲在數(shù)據(jù)庫中的一段sql語句的集合。
    使用好處:
    1、簡化應(yīng)用開發(fā)人員的很多工作
    2、減少數(shù)據(jù)在數(shù)據(jù)庫和應(yīng)用服務(wù)器之間的傳輸
    3、提高了數(shù)據(jù)處理的效率
    創(chuàng)建存儲過程或函數(shù)
    ? 創(chuàng)建存儲過程:
    create procedure 存儲過程名 ([proc_parameter[,…]])
    [characteristic…]routine_body
    ? 創(chuàng)建函數(shù):
    create function 函數(shù)名([func_parameter[,…]])
    returns type
    [characteristic…]routine_body
    語法解釋
    ? proc_parameter: [in|out|inout] param_name type
    ? Func_paramter:param_name type
    ? Type:
    任何有效的mysql數(shù)據(jù)類型
    ? Characteristic:
    language sql(默認(rèn),且推薦)
    |[not] deterministic
    |{contains sql|no sql|reads sql data|modifies sql data}
    |sql security{definer|invoker}
    |comment ‘string’
    ? Rountine_body:
    有效的sql 過程語句
    調(diào)用存儲過程或函數(shù)
    ? 調(diào)用存儲過程:
    call 存儲過程名(參數(shù)列表)
    ? 調(diào)用函數(shù):
    Select 函數(shù)名(參數(shù)列表)
    案例
    ? 查詢員工名為king的所有記錄
    ? 根據(jù)輸入的員工名,查詢部門名
    ? 根據(jù)指定的員工編號,返回工資
    ? 根據(jù)指定的員工編號,返回工資和部門號
    ? 將輸入的a和b都翻倍并返回
    修改存儲過程或函數(shù)
    ? 修改存儲過程:
    alter procedure 存儲過程名 [charactristic…]
    ? 修改函數(shù):
    alter function 函數(shù)名 [charactristic…]
    characteristic:
    {contains sql|no sql|reads sql data|modifies sql data}
    |sql security{definer|invoker}
    |comment ‘string’
    刪除存儲過程或函數(shù)
    說明:一次只能刪除一個存儲過程或者函數(shù),并且要求有該過程或函數(shù)的alter routine 權(quán)限
    刪除存儲過程:
    drop procedure [if exists] 存儲過程名
    刪除函數(shù):
    drop function [if exists] 函數(shù)名
    查看存儲過程或函數(shù)
    1.查看存儲過程或函數(shù)的狀態(tài):
    show {procedure|function} status like 存儲過程或函數(shù)名
    2.查看存儲過程或函數(shù)的定義:
    show create {procedure|function} 存儲過程或函數(shù)名
    3.通過查看information_schema.routines了解存儲過程和函數(shù)的信息(了解)
    select * from rountines where rounine_name =存儲過程名|函數(shù)名
    三十一、數(shù)據(jù)庫設(shè)計
    為什么需要設(shè)計數(shù)據(jù)庫
    良好的數(shù)據(jù)庫設(shè)計
    -節(jié)省數(shù)據(jù)的存儲空間
    -能夠保證數(shù)據(jù)的完整性
    -方便進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)
    軟件項(xiàng)目開發(fā)周期中數(shù)據(jù)庫設(shè)計

    設(shè)計數(shù)據(jù)庫的步驟
    收集信息
    與該系統(tǒng)有關(guān)人員進(jìn)行交流、座談,充分了解用戶需求,理解數(shù)據(jù)庫需要完成的任務(wù)
    標(biāo)識實(shí)體 (Entity)
    標(biāo)識數(shù)據(jù)庫要管理的關(guān)鍵對象或?qū)嶓w,實(shí)體一般是名詞
    標(biāo)識每個實(shí)體的屬性(Attribute)
    標(biāo)識實(shí)體之間的關(guān)系(Relationship)
    E-R圖

    轉(zhuǎn)化E-R圖為數(shù)據(jù)庫模型圖
    將各實(shí)體轉(zhuǎn)換為對應(yīng)的表,將各屬性轉(zhuǎn)換為各表對應(yīng)的列
    標(biāo)識每個表的主鍵列
    在表之間建立主外鍵,體現(xiàn)實(shí)體

    為什么需要數(shù)據(jù)規(guī)范化
    不合規(guī)范的表設(shè)計
    信息重復(fù)
    更新異常
    插入異常
    無法正確表示信息
    刪除異常
    丟失有效信息
    第一范式 (1st NF)
    第一范式的目標(biāo)是確保每列的原子性
    如果每列都是不可再分的最小數(shù)據(jù)單元(也稱為最小的原子單元),則滿足第一范式(1NF)

    第二范式 (2nd NF)
    第二范式要求每個表只描述一件事情

    第三范式 (3nd NF)
    如果一個關(guān)系滿足2NF,并且除了主鍵以外的其他列都不傳遞依賴于主鍵列,則滿足第三范式(3NF)

    總結(jié)

    以上是生活随笔為你收集整理的数据库知识点汇总(最全!!)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    一区二区三区www | 欧美一区免费在线观看 | freejavvideo日本免费 | 在线视频国产区 | 69久久99精品久久久久婷婷 | 最近更新的中文字幕 | 久久男人中文字幕资源站 | 日日夜夜国产 | 一色屋精品视频在线观看 | 久久黄色免费观看 | 国产蜜臀av | www.亚洲精品视频 | av福利超碰网站 | 午夜精品视频免费在线观看 | 91精品一区国产高清在线gif | 成年人免费电影在线观看 | 国产手机在线精品 | 正在播放一区二区 | 亚洲精品乱码久久久久久蜜桃动漫 | 午夜在线观看一区 | 日韩有色 | 日韩av不卡在线 | 九九免费观看全部免费视频 | 亚洲精品视频在线观看网站 | 亚洲一区天堂 | 国产精品久久久一区二区 | av看片在线 | 好看的国产精品视频 | 欧美成天堂网地址 | 8x成人免费视频 | 国产91精品高清一区二区三区 | av动态图片| 超碰97av在线| 超碰夜夜| 国产黄色片一级 | 免费中午字幕无吗 | 91视频在线免费观看 | 黄色的网站免费看 | 日韩精品免费一线在线观看 | 天天爽人人爽夜夜爽 | 黄色av三级在线 | 久久99精品久久只有精品 | 一本到视频在线观看 | 精品伊人久久久 | 国产中文字幕视频在线观看 | 成人av在线网址 | 欧美a级在线 | 超碰在线最新 | 99久久99久久精品国产片果冰 | 91视频免费观看 | 欧美视频www | 国产成人综合在线观看 | 中文字幕在线观看视频一区 | av在线免费网站 | 五月婷婷综合在线视频 | 毛片基地黄久久久久久天堂 | 午夜精品久久久久久久久久久 | 日韩激情第一页 | 精品久久国产一区 | 日韩免费av在线 | 日韩中文字幕在线不卡 | 中文不卡视频在线 | 三级在线视频观看 | 欧美精品二 | 久久久精品视频网站 | 国内精品久久久久 | 欧美国产日韩一区二区三区 | 国产精品va在线观看入 | 成年人在线免费看视频 | 香蕉网在线观看 | 中文字幕在线色 | 国产成人精品av久久 | 国产精品自产拍在线观看桃花 | 亚洲免费精品一区二区 | 中文资源在线官网 | av成人免费在线 | 91久草视频| 亚洲在线成人精品 | 国产一级黄色av | 亚洲精品国偷拍自产在线观看蜜桃 | 一级性视频| 亚洲成色777777在线观看影院 | 午夜丁香网 | 久久影视精品 | 99理论片| 日韩二区在线观看 | 国产成人精品久久久 | 91av在线免费观看 | 亚洲 欧美 变态 国产 另类 | 久久久久北条麻妃免费看 | 亚洲国产精品人久久电影 | av片中文 | 日韩a级免费视频 | 亚洲视频观看 | 超碰免费av | 日韩一级黄色av | 免费av黄色 | 午夜视频免费在线观看 | 91av在线不卡 | 狠狠干婷婷色 | 免费观看国产成人 | 色视频在线免费观看 | 久草在线视频免费资源观看 | 狠狠狠色丁香综合久久天下网 | 国产 在线观看 | 日韩免费不卡视频 | 免费久久99精品国产婷婷六月 | 激情视频免费在线观看 | 欧美日韩亚洲精品在线 | 亚洲免费不卡 | 亚洲精品456在线播放 | 国产视频一区在线 | 黄av在线 | 91大神精品视频 | 91av电影 | 久久99精品视频 | 黄污网 | 亚洲精品高清视频在线观看 | 精品黄色在线 | 九九久久精品视频 | а天堂中文最新一区二区三区 | 夜夜摸夜夜爽 | av电影av在线 | 天天色综合天天 | 一区二区三区四区五区在线 | 超碰电影在线观看 | 久久久成人精品 | 在线播放 日韩专区 | 国产精品久久综合 | 亚洲精品视频网 | 免费中午字幕无吗 | 久久久av免费 | 在线观看免费av网 | 日本特黄一级 | 麻豆精品在线 | 在线观看你懂的网站 | 精品久久久久久久 | 免费观看的黄色片 | 国产成人精品一区二区三区免费 | 国产日韩精品一区二区三区在线 | 中文字幕一区二区三区精华液 | 夜夜躁日日躁狠狠久久av | 亚洲 欧美日韩 国产 中文 | 亚洲国产三级在线观看 | 欧洲激情综合 | 国产亚洲精品免费 | 日韩精品欧美专区 | 亚洲精品乱码白浆高清久久久久久 | 丁香视频全集免费观看 | 日韩网站一区二区 | 日本久久久精品视频 | 久久影视一区二区 | 久久亚洲成人网 | 深爱激情综合网 | 国产日韩精品在线观看 | 人人爽人人爽人人片 | 中文字幕一二 | 丁香高清视频在线看看 | 99久国产 | 日韩大片免费在线观看 | 午夜手机电影 | 女人18精品一区二区三区 | 国产精品成人自产拍在线观看 | 激情视频在线观看网址 | x99av成人免费 | 久久九九免费视频 | 成人久久18免费网站图片 | 日本黄色免费电影网站 | 人人爱人人添 | 婷婷中文字幕综合 | 99久久精品免费看 | 国产玖玖视频 | 天天干天天怕 | 啪啪免费试看 | 国产精品久久久久久久久久久久午夜片 | 日本黄区免费视频观看 | 91视频在线 | 免费观看视频的网站 | 免费在线观看黄网站 | 亚洲另类视频 | 九九视频免费观看视频精品 | 国产视频日本 | 国产群p| 天天干,天天插 | 国产91粉嫩白浆在线观看 | av免费黄色| 久久综合亚洲鲁鲁五月久久 | 日韩免费视频 | 国产在线一线 | 国产91粉嫩白浆在线观看 | 免费在线观看成人小视频 | 99热九九这里只有精品10 | 国产精品99蜜臀久久不卡二区 | 波多野结衣综合网 | 日韩成人在线一区二区 | 日韩精品免费 | 亚洲一区精品二人人爽久久 | 国产夫妻自拍av | 黄色成人91 | 国产在线观看网站 | 婷婷去俺也去六月色 | 欧美成年人在线观看 | 91在线精品一区二区 | 欧美日韩91 | 国产一区av在线 | 天天干天天操天天爱 | a色视频 | 九九热视频在线播放 | 日韩在线激情 | 99久久超碰中文字幕伊人 | 成人在线小视频 | 狠狠狠色丁香婷婷综合久久88 | 国产精品igao视频网入口 | 在线久久 | 91高清免费观看 | 97精品国产97久久久久久春色 | 国产精品久久久久久久久久久久午夜片 | 免费激情网| 在线看黄网站 | 国产精品网址在线观看 | 日韩视频中文字幕在线观看 | 国产日本在线播放 | 最新国产一区二区三区 | 亚洲精品国精品久久99热一 | 国产伦理久久精品久久久久_ | 亚洲国产成人在线观看 | 在线观看91av | 成人动漫视频在线 | 99av在线视频 | 国产无遮挡又黄又爽在线观看 | 免费观看一区二区三区视频 | 国产精品自在线拍国产 | 欧美日韩中 | 欧美大片第1页 | 午夜 久久 tv| 黄色在线观看网站 | 久久久久久久久久久久久国产精品 | 在线播放 一区 | 色婷婷导航| 国产91精品一区二区 | 国内精品二区 | 在线观看精品一区 | 久久国产精品影片 | 国产精品 日韩 欧美 | 91成熟丰满女人少妇 | 性色av香蕉一区二区 | av资源网在线播放 | a在线观看视频 | 国产精品一区二区在线免费观看 | 欧美性大胆 | 欧美一区在线观看视频 | 日韩精品一区二区三区第95 | 玖玖在线精品 | 99精品一区二区三区 | 国产999精品 | 久热免费在线 | av综合在线观看 | 亚洲色图27p | 亚洲无吗视频在线 | 99久久久久久 | 欧美乱淫视频 | 中文字幕一区二区三 | 欧美a级在线免费观看 | 九九热在线观看 | 黄色片亚洲 | 久久精品国产精品亚洲精品 | 免费成人av | 不卡的av在线播放 | 精品视频99 | 在线观看中文字幕视频 | 国产剧情一区二区 | 亚洲精品99久久久久中文字幕 | 色小说在线 | 久章操 | 91麻豆精品国产91久久久无限制版 | 一级黄色大片在线观看 | 探花视频在线观看免费版 | 国产成人精品在线播放 | 亚洲精品免费在线观看 | 久久国产热视频 | 久久久久久久国产精品 | a视频在线看 | 四虎免费av | 808电影 | 亚洲日本一区二区在线 | 欧美aaaxxxx做受视频 | 欧洲激情综合 | 中文字幕精品三级久久久 | 色噜噜日韩精品一区二区三区视频 | 国内精品中文字幕 | 日韩欧美高清视频在线观看 | 国产一区精品在线 | 久草在线免费资源站 | 一区电影 | 色综合久久久久综合 | 天天干天天操天天干 | 国产无遮挡又黄又爽在线观看 | 不卡精品视频 | 国产免费黄视频在线观看 | 在线欧美小视频 | 精品资源在线 | av在线免费观看网站 | 婷婷av电影 | av国产网站 | 性日韩欧美在线视频 | 精品影院一区二区久久久 | 91禁在线看 | 国产成人久久精品一区二区三区 | 亚洲永久精品视频 | 国产小视频免费在线网址 | 久久成| 欧美精品亚洲精品 | 五月色综合 | www.久久免费| 在线a亚洲视频播放在线观看 | 欧美精品中文字幕亚洲专区 | 在线亚洲人成电影网站色www | 久草99| 亚洲成熟女人毛片在线 | 色a网 | 一级片黄色片网站 | 成人午夜片av在线看 | 久久激五月天综合精品 | 亚洲欧美日韩精品一区二区 | 91在线欧美| 国产精品中文字幕在线播放 | 一级黄视频 | 深夜免费网站 | 九九久久久久99精品 | av黄色av | 久久久亚洲麻豆日韩精品一区三区 | 麻豆国产网站入口 | www国产一区 | 国产成人黄色在线 | 日韩在线免费 | 欧美福利视频 | 黄色软件大全网站 | 五月婷久 | 在线观看国产91 | 精品视频成人 | 99久久99视频只有精品 | 一本一本久久aa综合精品 | 日韩av电影中文字幕在线观看 | 最近中文字幕免费av | 黄色的网站在线 | 久草在线免费资源站 | 欧美色图亚洲图片 | av片在线看 | 一二三区av | 成人一区二区三区在线 | 国产精品成人一区二区 | 免费看毛片在线 | 成年人免费观看在线视频 | 中文在线字幕免费观 | 黄色精品视频 | 精品夜夜嗨av一区二区三区 | 天天鲁天天干天天射 | 久久色网站 | 国产精品久久久久久久久免费 | 午夜精品久久久久久久久久久久久久 | 天天天天天天天天操 | 国产又粗又硬又长又爽的视频 | av中文天堂 | 国际av在线 | 在线看国产 | 国精产品999国精产品视频 | 丁香六月激情婷婷 | 亚洲二区精品 | 九九久久影院 | 丁香婷婷在线 | 精品国产一区二区三区久久久久久 | 成人免费视频观看 | 天天色宗合 | 九九久久久久久久久激情 | 国产精品一区二区三区在线看 | 色婷婷激情综合 | 伊人一级 | 欧美一区二区在线免费观看 | 欧美午夜久久 | 久久久精品欧美 | www.69xx| 亚洲欧美日韩精品一区二区 | 日韩激情视频在线观看 | 久久免费的视频 | 91传媒免费在线观看 | 国产午夜精品一区二区三区欧美 | 精品国产一区二区三区久久久 | 8x成人免费视频 | 色伊人网| 国产精品va在线 | 不卡的av片| 美国三级黄色大片 | 国产欧美精品一区二区三区 | 国产一区二区三精品久久久无广告 | 九九有精品 | 天天射日| 国产美女永久免费 | 日韩中文字幕国产 | 国产精品久久久久久久7电影 | 中文字幕2021| 欧美精品被 | 国产又粗又猛又黄又爽 | 99精品国产在热久久 | 日本公妇在线观看高清 | 久久综合久久久 | 99久久精品免费看国产免费软件 | 97香蕉久久国产在线观看 | 麻豆传媒视频观看 | 欧美日韩国产精品一区二区三区 | 国产午夜av | 91亚洲精品久久久中文字幕 | 18国产精品福利片久久婷 | 少妇bbb搡bbbb搡bbbb | www黄免费 | 色噜噜狠狠狠狠色综合久不 | 午夜电影中文字幕 | wwwwwww色| 国产福利精品视频 | 国产亚洲在线观看 | 日韩精品视频网站 | 丁香婷婷综合网 | 国产品久精国精产拍 | 欧美a级在线免费观看 | 亚洲 欧美 另类人妖 | 久久久精选 | 国产二区电影 | 中文字幕日韩高清 | 国产美女免费观看 | 久色免费视频 | 三级黄在线 | 99精品视频在线观看免费 | 欧美吞精| 91超碰免费在线 | wwwww.国产 | av官网| 日韩激情小视频 | 97热在线观看 | 一区二区视 | 久久99九九99精品 | 91av电影在线| 日韩动态视频 | 女人18片毛片90分钟 | 免费网站看av片 | 免费在线观看一区二区三区 | 日韩精品在线视频 | 一本一道久久a久久综合蜜桃 | 狠狠操91| 精品国产乱码久久久久久天美 | av观看久久久 | 国产美女无遮挡永久免费 | 午夜在线看 | 日本三级在线观看中文字 | 亚洲一级片av | 一区二区三区在线免费播放 | 国产69精品久久久久9999apgf | 国产精品岛国久久久久久久久红粉 | 97在线公开视频 | 天天艹日日干 | 91女神的呻吟细腰翘臀美女 | 在线视频久久 | 三上悠亚在线免费 | 丁香婷婷综合色啪 | 国产女人免费看a级丨片 | 91精品国产一区二区在线观看 | 91香蕉视频好色先生 | 免费观看久久久 | 黄色在线免费观看网站 | 色av网站| 奇米7777狠狠狠琪琪视频 | 在线观看爱爱视频 | 日韩欧美在线观看一区 | 欧美-第1页-屁屁影院 | 在线免费视 | 夜夜干夜夜 | 中文字幕在线看视频国产中文版 | av免费看电影| av高清一区二区三区 | 欧美精品免费视频 | 久久精品黄 | 欧美久久久久 | 成人免费视频免费观看 | 缴情综合网五月天 | 婷婷丁香色 | 狠狠干2018 | 欧美伦理一区二区三区 | 四虎www | 久久理论视频 | 日韩视频一区二区 | 蜜桃av观看| 奇米影视777四色米奇影院 | 欧美日韩一区二区免费在线观看 | 蜜臀av一区 | 欧美在线观看视频 | 91在线九色 | 亚洲永久精品国产 | 91精品视频在线观看免费 | 99久免费精品视频在线观看 | 永久中文字幕 | 五月天婷婷狠狠 | 免费在线观看污网站 | 在线免费av网站 | 99久久99久久精品 | 视频在线观看入口黄最新永久免费国产 | 婷婷狠狠操 | 在线观看成年人 | 国产精品mm| 欧美一区二区伦理片 | 色停停五月天 | 99精品欧美一区二区蜜桃免费 | 在线看欧美| 最近日韩中文字幕中文 | 国产美女网站在线观看 | 97香蕉超级碰碰久久免费软件 | 久久久久久国产精品 | 精品国产一区二区三区免费 | 国产精品久久久久一区 | 欧美成年网站 | 亚洲国内精品在线 | 成人a大片 | 国产激情久久久 | 午夜视频在线观看一区二区 | 成年人在线电影 | 久久精品一级片 | 综合色亚洲 | 国产精品你懂的在线观看 | 伊人亚洲综合网 | 欧美激情视频一二区 | 亚洲午夜精品福利 | 99视频在线免费观看 | 日日干夜夜骑 | 亚洲免费视频在线观看 | 婷婷视频在线 | 黄污网 | 国产字幕在线观看 | 欧美精品久久久久a | 黄色影院在线观看 | 国产成人精品午夜在线播放 | av免费试看| 久久资源在线 | 日韩r级电影在线观看 | 国产精品午夜在线观看 | 日韩精品视频久久 | 欧美激情另类文学 | 中文字幕日韩av | 国产精品ⅴa有声小说 | 日韩激情视频在线观看 | 日韩字幕 | 狠狠干狠狠插 | 国产精品国产三级国产 | 精品国产一区二区三区免费 | 五月婷婷久久丁香 | 久久99久久99久久 | 日韩一级电影在线 | 成年人网站免费在线观看 | 高清av影院| 伊人五月天.com | 在线看成人av | 99精品视频一区二区 | 美女网站视频久久 | 国产正在播放 | 国产蜜臀av | 日韩电影中文字幕在线 | 欧美色婷婷 | 中文av一区二区 | 国产露脸91国语对白 | 欧美色精品天天在线观看视频 | 国产黄色免费 | 综合网伊人 | 色老板在线视频 | 2019av在线视频 | 天天狠狠操 | 亚洲黄色软件 | 欧美亚洲成人xxx | 久久久久欠精品国产毛片国产毛生 | 精品国产自在精品国产精野外直播 | 欧美在线1| 国产午夜三级一区二区三桃花影视 | 欧美激情视频免费看 | 国产精品网红福利 | 一区二区精品视频 | 亚洲精品乱码久久久久久高潮 | 5月丁香婷婷综合 | 久久久国产精品一区二区三区 | 国产一二区视频 | 国产剧情亚洲 | 国产永久免费 | 亚洲永久精品在线 | 国产黄色精品在线 | 香蕉影院在线播放 | 欧美精品在线观看免费 | 精品久久久亚洲 | 亚洲精品在线免费观看视频 | 美女久久久久久久 | 精品国产成人在线影院 | 国产精品久久一区二区无卡 | 国产精品美女久久久久久久久久久 | 樱空桃av | 国产午夜三级一二三区 | 国产精品99免费看 | 日本在线观看视频一区 | 亚洲精品在线视频网站 | 激情黄色av | 日韩一二区在线 | 色97在线| 久久99精品国产 | 免费在线中文字幕 | 婷婷av综合 | 久久av一区二区三区亚洲 | 在线观看亚洲国产精品 | 久久九九网站 | 日韩理论在线播放 | 国产免费又粗又猛又爽 | 狠狠色丁香婷婷综合基地 | 91免费看黄色| 美女久久 | 亚洲综合成人专区片 | 日韩激情在线视频 | 香蕉影院在线 | 99视频在线观看一区三区 | 成人国产精品久久久久久亚洲 | 久久国语露脸国产精品电影 | 亚洲伊人婷婷 | 人人爱爱 | 在线观看av不卡 | 日韩色在线观看 | 亚洲精品国产品国语在线 | 国产精品18毛片一区二区 | 九九综合在线 | 91桃色免费视频 | 色婷婷色| 天天激情综合网 | 毛片.com| 丁香网五月天 | 99久久婷婷国产综合亚洲 | 国产91影院| 综合网天天 | 中文字幕专区高清在线观看 | 亚洲第五色综合网 | 国产精品ssss在线亚洲 | 日韩欧美成人网 | 国外调教视频网站 | 精品不卡av | 97看片吧| 天天爱天天射天天干天天 | .国产精品成人自产拍在线观看6 | 国产玖玖在线 | 国产免费观看视频 | 欧美日韩在线免费观看视频 | 国产1区2区3区精品美女 | 国产精品久久久久久久久久免费看 | 日本在线观看一区二区 | 中文在线中文资源 | 中文字幕在线看视频国产中文版 | 亚洲人xxx | 久久国产精品一二三区 | 欧美a在线免费观看 | 日韩毛片一区 | 99久久久久久国产精品 | 精品久久久成人 | 日韩专区av| 午夜在线资源 | 欧美激情第八页 | 午夜国产一区二区三区四区 | 欧美精品久久人人躁人人爽 | 在线看中文字幕 | 亚洲欧美日韩在线一区二区 | 久久av免费| 一区二区三区四区免费视频 | 日韩视频在线播放 | 久久久免费观看完整版 | 日韩免费一区 | 国模精品一区二区三区 | 亚洲专区视频在线观看 | 日日日日 | 久草精品视频 | 中文字幕.av.在线 | 国内精品视频在线 | 日本黄色免费播放 | www国产在线 | 91麻豆精品国产 | 中文字幕丰满人伦在线 | 特级大胆西西4444www | 六月激情 | 国产精品s色 | 在线观看黄 | 爱色婷婷| 99欧美 | www日韩视频 | 天天爽夜夜爽人人爽曰av | 久久综合久久综合九色 | www在线观看国产 | 欧美一区日韩精品 | 毛片基地黄久久久久久天堂 | 麻豆 91 在线| 日b视频在线观看网址 | 天天操天天操天天操天天 | 日韩毛片在线播放 | 99国产精品一区二区 | a久久免费视频 | 最新免费av在线 | 免费av在线播放 | 美女在线免费观看视频 | 久久999久久| 二区三区av | 色妞久久福利网 | 欧美性粗大hdvideo | 麻豆果冻剧传媒在线播放 | 97理论片 | 最新av免费在线观看 | 免费人成网ww44kk44 | 国产69精品久久99的直播节目 | 91最新国产 | 日韩三级视频在线观看 | 国产一级二级在线 | 色婷婷激情电影 | 亚洲高清色综合 | 一区二区观看 | 99草视频| 久久久久美女 | 黄污网 | 五月激情五月激情 | 99在线热播精品免费 | 久久99免费| 中文字幕2021 | 丁香婷婷久久久综合精品国产 | av中文字幕电影 | 日韩免费在线视频观看 | 91大神精品视频在线观看 | 91精品免费在线 | 五月婷婷深开心 | 美女免费视频网站 | 在线观看成人网 | 国产亚洲精品久久19p | 久久久久这里只有精品 | 日本大尺码专区mv | 狠狠操狠狠 | 国产黄色av | 免费看片亚洲 | 4438全国亚洲精品观看视频 | 中文字幕一区二区三区久久 | 久久久久久久久久久福利 | 国产中文字幕三区 | 国产五月天婷婷 | se视频网址 | 2024国产精品视频 | 日韩中文字幕国产精品 | 婷婷六月久久 | 久久精品永久免费 | 国产精品精品久久久 | 国产精品久久久精品 | 五月开心激情网 | 亚洲精品中文字幕在线 | 91精品国产九九九久久久亚洲 | 999久久a精品合区久久久 | 国产视频手机在线 | 日本高清dvd| 久久精品视频一 | 欧美日性视频 | 亚洲三级性片 | 国产精品成 | 国产高清视频免费最新在线 | 日日躁夜夜躁aaaaxxxx | 日日日干 | 日韩欧美在线一区二区 | 国产一级片观看 | 欧美日韩1区 | 999国内精品永久免费视频 | 在线中文日韩 | 日韩av中文| 在线观看中文字幕dvd播放 | 伊人久久一区 | 成人一级视频在线观看 | 久久综合久久久 | 久色小说 | 不卡日韩av | 色七七亚洲影院 | 国产精品毛片久久久久久 | 精品在线99 | 一区二区三区四区五区六区 | 91av影视| 婷婷网五月天 | 久久精品看 | 麻豆国产在线播放 | 成人免费视频在线观看 | 久久视频免费观看 | 黄色的片子 | 九色91视频| 天天天干夜夜夜操 | 中文字幕一区二区三区精华液 | 韩国三级一区 | 一区二区三区污 | 日本少妇久久久 | 在线精品视频免费播放 | 91九色视频在线观看 | 国内精品在线一区 | 日韩理论在线观看 | 狠狠色丁婷婷日日 | 日本系列中文字幕 | 国产香蕉av| 久久久久久久久综合 | 国产一卡久久电影永久 | 久久久免费高清视频 | 97人人模人人爽人人喊网 | 在线精品一区二区 | 久草视频观看 | 色五丁香 | 亚洲日本一区二区在线 | 69xxxx欧美| 色婷婷免费视频 | 欧美国产精品久久久久久免费 | 久久伦理视频 | 国产中文字幕网 | 亚洲一区不卡视频 | 免费特级黄毛片 | 亚洲综合色婷婷 | 国产不卡av在线 | 在线观看中文字幕一区 | 美女性爽视频国产免费app | 中文字幕在线高清 | 国产尤物在线视频 | 国产精品igao视频网入口 | 操操综合 | 久久新 | 麻豆视频在线看 | 久久人91精品久久久久久不卡 | 中文字幕免费在线看 | 免费a视频在线 | 91在线你懂的 | 日韩欧美视频一区二区三区 | 国产黄在线播放 | 五月婷婷中文字幕 | 日韩1级片 | 婷婷亚洲五月色综合 | av超碰在线 | 日日操天天射 | 国产又粗又猛又黄又爽视频 | 在线视频专区 | 成人午夜在线观看 | 色搞搞| 91香蕉久久 | 美女福利视频 | 成人全视频免费观看在线看 | 国产精品1区2区在线观看 | 欧美激情另类 | 麻豆91在线播放 | 91免费高清在线观看 | 亚洲精品国精品久久99热一 | 一区二区视频网站 | 97在线公开视频 | 成人观看 | 久久性生活片 | 一级a毛片高清视频 | 久久九九免费 | 国产精品乱码一区二三区 | 青青河边草免费直播 | 久草国产在线观看 | 特级片免费看 | av色影院 | 久久精品成人热国产成 | 亚洲成a人片综合在线 | 亚洲经典中文字幕 | 伊人色综合久久天天网 | 免费在线看成人av | 亚洲精品综合一二三区在线观看 | 日韩欧美综合精品 | 成人av日韩 | 日本女人的性生活视频 | av高清不卡 | 成人免费网视频 | 91精品免费在线观看 | 国产手机免费视频 | 日韩h在线观看 | 蜜臀久久99精品久久久无需会员 | 日韩性片 | 久久国产亚洲视频 | 国产96视频| www欧美日韩| 97在线视频免费观看 | 99精品国产aⅴ | 亚洲精品永久免费视频 | 国产高清不卡一区二区三区 | 中文字幕一区二区三区乱码不卡 | 在线观看免费视频你懂的 | 亚洲精品中文在线资源 | 日韩av三区 | 色片网站在线观看 | 亚洲欧洲av| 亚洲精选在线观看 | 亚洲精品免费在线播放 | 91成人精品一区在线播放69 | 干干操操| 国产精品一区二区在线免费观看 | 丝袜+亚洲+另类+欧美+变态 | 亚洲国产精品一区二区尤物区 | 亚洲va综合va国产va中文 | av网址aaa| 欧美a级片网站 | 久久久99国产精品免费 | 国产中年夫妇高潮精品视频 | 亚洲综合日韩在线 | 黄色av一区二区三区 | 久久精品一区八戒影视 | 99久久免费看 | 中文字幕韩在线第一页 | 一区二区三区四区五区在线 | 99精品国产成人一区二区 | 国产91精品看黄网站在线观看动漫 | 综合网成人 | 日本大片免费观看在线 | 免费看十八岁美女 | 亚洲乱亚洲乱亚洲 | 国产人成一区二区三区影院 | 国产在线免费观看 | 欧美日韩免费一区二区三区 | 黄色在线观看www | 欧美性粗大hdvideo | 天天视频色 | 国产二区免费视频 | 91精品老司机久久一区啪 | 国产精品久久久久久久久久ktv | 99精品国产免费久久久久久下载 | 99999精品 | 最近日本字幕mv免费观看在线 | 夜夜骑天天操 | 在线导航av | 99热高清 | 日韩免费网址 | 色国产在线 | 黄色软件在线观看免费 | 国产精品一区二 | 欧美另类网站 | 丁香视频五月 | 在线观看日本韩国电影 | 日韩av中文字幕在线免费观看 | 亚洲视频久久久久 | 欧美 日韩 成人 | 久久免费观看少妇a级毛片 久久久久成人免费 | 一区 在线 影院 | 草久在线 | 日韩国产欧美在线视频 | 天天射天天爽 | 国产美女精彩久久 | 国产不卡av在线播放 | 一区二区高清在线 | 国产精品久久久影视 | 成人av免费在线播放 | 欧美一区二区视频97 | 日本99久久 | 在线天堂v | 精品美女在线视频 | 亚洲视频在线观看 | 丝袜网站在线观看 | 激情欧美国产 | 香蕉视频导航 | 国产淫片免费看 | 亚洲黄色在线观看 | 综合久久精品 | 91激情视频在线播放 | 国产免费久久久久 | 亚洲激情婷婷 | 久久综合丁香 | 久草在线免费资源站 | 中文字幕大全 | 日韩久久久久久 | 久久亚洲区| 欧美一级片免费在线观看 | 国内精自线一二区永久 | av福利第一导航 | 97精品一区二区三区 | 国产高清小视频 | 国产精品99爱 | www.国产毛片| 久草视频网 | 日韩中字在线观看 | 91免费观看网站 | 国产一区二区免费 | 色婷婷伊人 | 激情av资源 | 亚洲国产片色 | 91精品久久久久久综合乱菊 | 超碰国产97 | 91九色免费视频 | 久久精品一区二区三区四区 | 国产小视频在线看 | 在线观看成人网 | 91精品国产麻豆国产自产影视 | 精品影院一区二区久久久 | 337p日本大胆噜噜噜噜 | 久久久久久久久综合 | 国产超碰在线观看 | 久久久免费观看视频 | 婷婷在线免费视频 | 黄色毛片大全 | 日韩网| 青青网视频 | 超碰在线最新网址 | 色福利网站 | 国产精品日韩精品 |