日韩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)容還不錯,歡迎將生活随笔推薦給好友。

    人人澡人人澡人人 | 91麻豆精品国产91 | 亚洲免费精品视频 | 五月婷激情 | 五月天天色 | 国产精品视频免费 | www激情久久 | 日韩中文字幕亚洲一区二区va在线 | .精品久久久麻豆国产精品 亚洲va欧美 | 99色| 极品久久久久 | 国产午夜av | 玖玖爱在线观看 | 国产精品毛片一区二区在线看 | 国产精品毛片久久久久久 | 国产三级精品三级在线观看 | 午夜美女视频 | 91九色精品 | 日韩av午夜在线观看 | 五月婷婷视频在线 | av大片免费在线观看 | 日日草视频 | 国产精品videoxxxx | 国产999精品| 中文永久免费观看 | 免费一级日韩欧美性大片 | 在线观看亚洲视频 | 91麻豆精品国产91久久久久久久久 | 色九九在线 | 精品久久九九 | 久99久在线视频 | 久久精品国产免费观看 | 九色91在线 | 免费精品在线观看 | 亚洲成av人片在线观看 | 中文字字幕在线 | 亚洲国产色一区 | 日产乱码一二三区别免费 | 日韩综合一区二区三区 | 久久精品亚洲一区二区三区观看模式 | 久久综合五月 | 亚洲少妇久久 | 日韩一区正在播放 | 亚洲91网站 | 国产精品国产精品 | 欧美成人xxxxx| 黄色1级大片 | 在线国产激情视频 | 欧美日韩视频在线一区 | 亚洲91中文字幕无线码三区 | 日本不卡一区二区三区在线观看 | 青春草免费在线视频 | 国产精品av免费在线观看 | zzijzzij亚洲成熟少妇 | 亚洲精品国偷拍自产在线观看 | 婷婷日韩 | 激情五月综合网 | 国产亚洲情侣一区二区无 | 久久综合五月婷婷 | 激情丁香5月 | 在线视频 成人 | 欧美在线不卡一区 | 久久九九国产精品 | 久久公开视频 | 91九色视频在线 | 波多野结衣在线播放一区 | www.色国产 | 午夜色影院 | 狠狠操狠狠 | 国产成人专区 | 国产中文字幕网 | 91亚洲国产 | 免费福利在线视频 | 精品国产一区二区三区久久久久久 | 欧美一区中文字幕 | 亚洲最快最全在线视频 | 精品视频 | 日韩动漫免费观看高清完整版在线观看 | www欧美色| 国产精品欧美日韩在线观看 | 亚洲女同videos | 国产精品99久久久久久宅男 | 蜜桃视频日韩 | 久久精品xxx | 中文字幕日韩精品有码视频 | 国产福利免费看 | 国产尤物在线观看 | 日本不卡一区二区三区在线观看 | 亚洲综合成人在线 | 久久久亚洲国产精品麻豆综合天堂 | 亚洲精品久久久蜜桃直播 | 在线 高清 中文字幕 | 一本一道久久a久久精品蜜桃 | 亚洲精品天天 | 97在线公开视频 | 特黄一级毛片 | 91热爆在线观看 | 久久成人资源 | 一级一片免费观看 | .国产精品成人自产拍在线观看6 | 国产黄在线观看 | 中文亚洲欧美日韩 | 日韩av二区 | 久久成电影 | 国产精品久久嫩一区二区免费 | 欧美日韩在线观看一区二区三区 | 国产激情久久久 | 18女毛片| 欧美午夜精品久久久久久孕妇 | 最近中文字幕免费视频 | 福利一区视频 | 日韩性片 | 美女网站色 | 手机色站 | 日韩三区在线观看 | 韩国三级av在线 | 午夜精品久久久久久久99无限制 | 在线成人一区 | a级黄色片视频 | 婷婷午夜天| 一区二区三区久久 | 日韩av片免费在线观看 | 亚洲成人av在线播放 | 亚洲黄色激情小说 | 91正在播放 | 国产精品片 | 亚洲狠狠丁香婷婷综合久久久 | 亚洲最大av网站 | 中国精品少妇 | 五月婷婷狠狠 | a色视频 | 国产视频不卡一区 | 国产一级a毛片视频爆浆 | 玖玖爱国产在线 | 一区二区三区电影在线播 | 成人一级 | 青青河边草观看完整版高清 | 国产一卡二卡在线 | 91精品影视 | 91在线一区 | 国产一线在线 | 精品久久久久久亚洲综合网站 | 91中文在线视频 | 日日操网 | 91久久偷偷做嫩草影院 | 婷婷丁香在线视频 | 欧美性色综合网站 | 欧美色综合久久 | av动图| 99精品国产视频 | 999视频网| 欧美日韩午夜爽爽 | 在线中文字幕播放 | 国产精品嫩草在线 | 97夜夜澡人人爽人人免费 | 国产黄色美女 | 国产在线看 | 国产在线专区 | 亚洲激情p | 波多在线视频 | 日日爱网址| 色九色| 四虎欧美| 国产精品成久久久久三级 | 天天草天天干 | 在线视频日韩欧美 | 在线观看欧美成人 | 亚洲精品乱码久久久久久蜜桃91 | 欧美一区二区三区激情视频 | 91免费高清在线观看 | 在线观看日韩精品视频 | 午夜精品成人一区二区三区 | 美女黄视频免费看 | 亚洲精品乱码久久久久久蜜桃不爽 | 久久成人欧美 | 色综合久久88色综合天天6 | 日韩免费电影网 | 中文字幕超清在线免费 | 黄毛片在线观看 | 精品综合久久久 | av大片免费在线观看 | 伊人成人久久 | 国产精品一区二区三区在线免费观看 | 婷婷午夜激情 | 一区av在线播放 | 伊人一级 | 最新久久免费视频 | 最近日本字幕mv免费观看在线 | 亚洲在线网址 | 亚洲天堂网在线观看视频 | 丁香婷婷久久久综合精品国产 | 欧美性大战久久久久 | 日韩丝袜 | 久久久久久久毛片 | 伊人色**天天综合婷婷 | 国产自产高清不卡 | 欧美午夜久久久 | 成人久久电影 | av一区二区在线观看中文字幕 | 91丨九色丨蝌蚪丨老版 | 一区二区伦理电影 | 九九热精品视频在线观看 | 国产福利91精品张津瑜 | 日韩欧美一区二区三区黑寡妇 | 91传媒在线观看 | 久久成人精品 | 色综合天天综合网国产成人网 | 日韩精品一区二区三区在线视频 | 国产免费视频一区二区裸体 | av官网在线| 久草资源在线观看 | 人人舔人人舔 | 麻豆国产精品一区二区三区 | 欧美在线资源 | 国产一级在线观看视频 | 欧美日韩在线观看一区二区 | 99热在线网站 | 中文av字幕在线观看 | 一区二区观看 | 欧美激情视频一区二区三区 | 精品免费99久久 | 狠狠亚洲 | 日韩黄色网络 | 国产高清在线免费 | 天天色天天射天天综合网 | 不卡av电影在线 | 欧美日比视频 | v片在线播放 | 丁香婷婷深情五月亚洲 | 九九交易行官网 | 婷婷综合影院 | 国产麻豆视频在线观看 | 国产成人精品在线播放 | 免费三级骚 | 久久一级电影 | 国产精品免费小视频 | 免费黄色网止 | 久久66热这里只有精品 | 色丁香久久 | 一区二区三区不卡在线 | 青草视频在线 | 六月天综合网 | 亚洲国产精品久久久久婷婷884 | 成人h电影在线观看 | 国产中文字幕在线看 | 奇米影视四色8888 | 中文字幕免费在线 | 在线观看欧美成人 | 91亚洲国产成人久久精品网站 | 97人人超| 99视频国产精品免费观看 | 国产免费人成xvideos视频 | 亚洲天堂网视频在线观看 | 久久综合天天 | 爱爱av在线 | 国内外成人在线视频 | 久草在在线视频 | 日日爽夜夜爽 | 精品国产伦一区二区三区观看方式 | av中文天堂在线 | 国产小视频免费观看 | 97夜夜澡人人爽人人免费 | 国内久久精品 | 日韩毛片久久久 | 国产精品日韩欧美 | 最近2019年日本中文免费字幕 | 91九色网站 | 久久久久久久久久久成人 | wwwww.国产 | 一区二区三区中文字幕在线 | 日韩精品久久久久久中文字幕8 | 国产手机在线 | 日韩免费高清在线 | 国产精成人品免费观看 | 国产精品网红直播 | av超碰在线观看 | 国产精品成人av在线 | 国产精品99爱 | 久草精品电影 | 成人精品99 | 国产成人高清av | 国产小视频91 | 亚洲精品在线观看免费 | 久久乐九色婷婷综合色狠狠182 | 国产一二三区av | 中文字幕在线视频一区二区三区 | 久久精品一区 | 毛片区 | 国产一区二区三区午夜 | 免费观看av网站 | 国产美女主播精品一区二区三区 | 亚洲免费在线观看视频 | 在线免费观看国产黄色 | 国产一级做a爱片久久毛片a | 日韩激情小视频 | 美女网站免费福利视频 | 啪啪av在线 | 8090yy亚洲精品久久 | 免费日韩一级片 | 91色偷偷 | 国产精品久久精品国产 | bayu135国产精品视频 | 五月婷婷播播 | 午夜美女网站 | 国产成人精品一二三区 | 久久久国产精品免费 | 免费又黄又爽视频 | 国产99久久久久久免费看 | 黄色福利网站 | 在线观看国产永久免费视频 | 国产精品手机播放 | 国产精品99久久99久久久二8 | 91精品1区| 三级在线视频播放 | 欧美日韩精品免费观看视频 | 日韩在线视频观看免费 | 欧美aaa大片| 婷婷综合 | 欧美精品v国产精品v日韩精品 | 九九热精品视频在线观看 | 国内丰满少妇猛烈精品播 | 三级a视频| 激情电影在线观看 | 亚洲理论影院 | 91高清视频 | 日韩精品一区二区久久 | 亚洲丁香久久久 | 成人国产精品久久久 | 激情中文在线 | 99久久久久久久 | 97精品国产97久久久久久免费 | 久久精品伊人 | 日韩女同一区二区三区在线观看 | 久久99久久99精品 | 精品国模一区二区三区 | 日韩99热| 97电影在线 | 亚洲五月花 | 国产精品视频免费观看 | 91在线入口 | 天堂av在线网站 | 婷婷激情5月天 | 久久视频这里有精品 | 亚州av网站 | 蜜臀av夜夜澡人人爽人人桃色 | 国产福利免费看 | 国产五码一区 | 91精品夜夜| 亚洲一级片在线看 | 婷婷精品 | 国产精品乱码一区二三区 | 国产在线精 | 最新中文字幕在线播放 | 狠狠躁日日躁夜夜躁av | 中文字幕在线观看完整版 | 一级黄色片在线 | 99国内精品久久久久久久 | 最新成人av | 99久久综合狠狠综合久久 | 中文字幕免费不卡视频 | 色噜噜狠狠狠狠色综合 | 久久亚洲私人国产精品va | 亚洲精品午夜久久久久久久 | 久久久久国 | 色综合天天狠天天透天天伊人 | 成人在线播放网站 | 国产视频一二三 | 国产999精品久久久久久绿帽 | 91视频免费播放 | 亚洲不卡在线 | 国产精品免费久久久久影院仙踪林 | 最近中文字幕免费观看 | 国产在线免费 | 国产精品福利久久久 | 亚洲欧美视频一区二区三区 | 五月天六月婷 | 九九热只有这里有精品 | 国内精品在线看 | 国产群p视频 | 久久的色 | 射久久| 久久成人资源 | 成人黄在线 | 精品人人爽 | 日韩成人在线一区二区 | 99色免费视频 | 日韩av电影中文字幕 | 亚洲精品一区二区久 | 麻豆精品在线 | 精品久久久久久综合日本 | 日日夜夜亚洲 | 美女视频黄免费的久久 | 一区二区视频在线免费观看 | 天天射天天拍 | 中文国产成人精品久久一 | 日韩在线高清免费视频 | 中文字幕黄色 | 久久艹艹 | 激情视频区 | 看国产黄色片 | 国产又黄又硬又爽 | 欧美色图30p | 国产91免费在线观看 | 激情综合狠狠 | 免费精品人在线二线三线 | 一区二区高清在线 | 亚洲va天堂va欧美ⅴa在线 | 91在线中字 | 天天天插| 人人爽网站| 国产原创在线视频 | 中文字幕日韩精品有码视频 | 在线视频 日韩 | 日韩国产欧美视频 | 久久婷婷一区二区三区 | 国产一区二区在线免费 | 日韩超碰 | 欧美另类交人妖 | 国产在线观看xxx | 激情伊人五月天 | 久久亚洲综合国产精品99麻豆的功能介绍 | 精品在线视频播放 | 国产色婷婷 | 国产麻豆电影在线观看 | www.狠狠插.com | 免费久久精品视频 | 999ZYZ玖玖资源站永久 | www激情网| www成人精品| 在线韩国电影免费观影完整版 | 黄色aaa毛片 | 亚洲欧美日韩中文在线 | 精品国产区 | 精品国产电影一区二区 | 欧美韩日精品 | 2023av在线| 欧美日韩xxx | 黄网站色成年免费观看 | 综合网在线视频 | 久草在线视频网站 | 国产成人免费av电影 | 久久www免费视频 | 人人干网 | 久久久久精 | 国内精品久久久久久久久久久久 | 日韩大片在线免费观看 | 91成人精品一区在线播放69 | 成人a在线观看高清电影 | 成人国产精品电影 | 欧美日韩亚洲在线观看 | 色婷婷狠狠五月综合天色拍 | 午夜精品福利一区二区三区蜜桃 | 欧美成人性战久久 | 国产精品中文 | 日韩精品欧美一区 | 在线观看中文av | 久久久影院一区二区三区 | 美女精品网站 | 91黄色影视| 91香蕉视频 mp4 | 免费久久久久久久 | 激情五月综合 | 国产最新精品视频 | 久久精品久久久久 | 亚洲精品国精品久久99热 | 成年一级片 | 射射射综合网 | 国产真实精品久久二三区 | 四虎成人精品在永久免费 | 午夜精品中文字幕 | 成年人在线免费视频观看 | 亚洲理论影院 | 狠狠干 狠狠操 | 中文字幕资源站 | 色网站国产精品 | 国产手机视频 | 国产破处在线视频 | 在线国产片| 香蕉影院在线 | 91视频成人免费 | 久久久国产高清 | 国产精品美女久久 | 亚洲在线激情 | 99精品视频在线观看 | 国产日韩精品一区二区三区在线 | 国产99久久久国产精品免费二区 | 操久久网| 国产色视频 | 精品国产欧美一区二区 | 欧洲成人av | 91视频88av| 免费看污污视频的网站 | 男女全黄一级一级高潮免费看 | 视频三区| 国产精品久久久久一区二区国产 | 月下香电影| 91禁看片 | 国产传媒中文字幕 | 欧洲精品二区 | 国产传媒一区在线 | 91亚洲精品国偷拍自产在线观看 | 欧美日本啪啪无遮挡网站 | 天天干人人 | 4p变态网欧美系列 | 久久曰视频 | 在线免费高清 | 日韩欧美综合精品 | 国产91勾搭技师精品 | 中文在线a在线 | 中文字幕最新精品 | 免费看黄色91 | 在线观看精品一区 | 国产精品久久久久久久久大全 | 日本一区二区高清不卡 | 国产成人三级一区二区在线观看一 | 亚州日韩中文字幕 | 免费在线观看av电影 | 91自拍成人 | 久久视频国产 | 一区二区 不卡 | 亚洲第一av在线播放 | 香蕉在线视频播放网站 | 欧美日韩国产一区二区在线观看 | 992tv在线观看网站 | 91欧美日韩国产 | 国产精品嫩草影院99网站 | 91网址在线观看 | 国产亚洲午夜高清国产拍精品 | 国产亚洲成av人片在线观看桃 | 国产精品在线看 | 久久99精品国产一区二区三区 | 91精品视频一区二区三区 | 精品电影一区 | 中文一区二区三区在线观看 | 午夜色大片在线观看 | 成人国产网址 | 91九色蝌蚪视频在线 | 国产中文字幕久久 | 黄色成品视频 | 天天射天天干 | 天天射天天爽 | 欧美另类xxx| 色综合天天色综合 | 中文字幕在线播放视频 | 精品视频免费观看 | 人人艹视频| 96视频在线 | 97碰碰精品嫩模在线播放 | a色视频| 99综合视频 | 韩国av免费看 | 四虎精品成人免费网站 | 国产精品久久久视频 | 一级理论片在线观看 | 日韩在线免费视频观看 | 91麻豆传媒| 九色最新网址 | 国产精品99久久久 | 天天操网址 | 麻豆久久精品 | a特级毛片 | 婷婷综合网 | 国产一级淫片在线观看 | 热久精品| 一区二区中文字幕在线观看 | 欧美成人精品在线 | 精品国产一区二区三区在线 | 欧美最猛性xxxxx(亚洲精品) | 黄www在线观看 | 99精品久久久久久久 | 色在线网站 | 国产中文字幕在线免费观看 | 国产一级黄色免费看 | 中文字幕日韩免费视频 | 亚洲欧美日韩中文在线 | 最新中文字幕视频 | 手机成人在线 | 人人网av | 999色视频| 豆豆色资源网xfplay | 在线观看免费成人av | www国产精品com | 日韩在线观看网站 | 亚洲黄色免费在线看 | 人人躁| 91久久一区二区 | 精品字幕 | 91污污视频在线观看 | 亚洲国产午夜精品 | 91av免费看 | 欧美污网站| 日日夜日日干 | 精品久久一 | 国产va精品免费观看 | 中文字幕在线观看91 | 国内一级片在线观看 | www.久久色 | 亚洲精品视频第一页 | 亚洲精品免费播放 | 久久成人免费电影 | 亚洲激情 在线 | 亚洲另类视频 | 99免费精品视频 | 日韩精品欧美视频 | 国产中文在线观看 | 亚洲激情 欧美激情 | 久久久久久国产精品免费 | 一级α片 | 97免费公开视频 | 日韩av在线高清 | 亚洲国产日韩欧美 | 在线观看国产 | 蜜桃av人人夜夜澡人人爽 | 国内精品久久久久影院日本资源 | 99c视频在线 | 亚洲 欧美 变态 国产 另类 | 精品国产伦一区二区三区观看方式 | 中文字幕国产视频 | 亚洲精品乱码久久久久久蜜桃欧美 | 99久久国产免费看 | 国产一区二区三精品久久久无广告 | 制服丝袜在线91 | 久久av一区二区三区亚洲 | 日日夜夜免费精品视频 | 国产精品3| 91成年人在线观看 | 97在线播放 | 热久久视久久精品18亚洲精品 | 欧美精品午夜 | 欧美精品小视频 | 国产成人免费av电影 | 亚洲va男人天堂 | 欧美在一区 | 狠狠色噜噜狠狠狠 | 亚洲精品在线观看的 | 国产日韩精品一区二区在线观看播放 | 77国产精品 | 亚洲专区视频在线观看 | av资源免费观看 | 最新一区二区三区 | 九九99靖品 | 色婷婷婷| 精品国产1区2区 | 日本一区二区三区免费看 | 在线看片a| 日日躁你夜夜躁你av蜜 | 午夜av一区二区三区 | 99久久日韩精品免费热麻豆美女 | 成人午夜网址 | 国内视频1区 | av+在线播放在线播放 | 在线免费观看国产黄色 | 99久久婷婷国产综合精品 | 国产视频在线观看一区二区 | 亚洲成av人影院 | 天堂麻豆| 国产中文字幕久久 | 99热这里只有精品免费 | 麻豆视频免费入口 | 狠狠综合久久 | 亚洲视频axxx | 色999视频| 色偷偷男人的天堂av | 一区二区三区在线免费播放 | 日韩区在线观看 | 中文字幕在线视频第一页 | 婷婷久久综合网 | 极品久久久久 | 天天射天天做 | 亚洲在线激情 | 黄色小说在线免费观看 | 九月婷婷色 | 日本久久久久久 | 亚洲精品一区二区三区在线观看 | 伊人天天操 | 日韩一级网站 | 特级a老妇做爰全过程 | 综合视频在线 | 日日爱网站 | 精品国产一区二区三区四 | 久久久精品电影 | 亚洲精品乱码久久久久久久久久 | 超碰在线资源 | 国产aa精品| 免费成人短视频 | 九草视频在线观看 | 成年人黄色免费看 | 国产在线p| 狠狠色噜噜狠狠 | 亚洲自拍偷拍色图 | 免费成人av | 久草视频免费在线观看 | 美女网站在线播放 | 最新精品国产 | 亚洲一级片在线观看 | 97视频免费看 | 国产精品一区二区三区在线看 | 亚洲精品福利在线观看 | 色综合人人 | 在线 视频 一区二区 | 99久久这里有精品 | 69国产精品视频免费观看 | av在线收看| 911香蕉| 看av在线| 久久久久国产精品免费免费搜索 | 91xav| 91在线视频观看 | 亚洲干 | 免费视频99 | 精品一区二区免费视频 | 99久久久国产精品免费观看 | 国产精品 久久 | 亚洲精品自拍 | 黄a在线看| 亚洲美女在线一区 | 国产99久久久国产精品成人免费 | 在线观看av中文字幕 | 日日色综合| 91精品啪在线观看国产81旧版 | 日韩精品不卡在线 | 久久久精品欧美一区二区免费 | 日日夜夜精品网站 | 久久免费视频这里只有精品 | 亚洲欧美激情精品一区二区 | 黄色一级大片在线观看 | 天天操天| 精品国产欧美一区二区三区不卡 | 欧美a在线免费观看 | 久久99久久99精品免费看小说 | 国产视频在线免费 | 久久男人免费视频 | 91一区一区三区 | 国产精品一区二区三区99 | 毛片的网址 | 色噜噜狠狠狠狠色综合 | 97成人精品视频在线观看 | 国产黄色资源 | 91完整版在线观看 | 国产亚洲精品久久久久久大师 | 狠狠躁夜夜av | 久久久国产影院 | 人人爽人人香蕉 | 国产韩国日本高清视频 | www.亚洲精品在线 | 日日操夜夜操狠狠操 | 在线色资源 | 中文字幕第一页在线播放 | 午夜影院一级 | 免费在线观看a v | 久久a免费视频 | 欧美久久九九 | 欧美日韩在线第一页 | 激情久久一区二区三区 | 九九综合久久 | 99热免费在线 | 久草免费电影 | 久久99热这里只有精品 | 精品一区二区亚洲 | 激情婷婷在线观看 | 国产高清在线看 | 国产福利一区二区在线 | 夜夜看av | 91麻豆精品国产91久久久使用方法 | 91久久精品一区二区三区 | 精品在线播放视频 | 九九免费精品视频在线观看 | 97超碰免费在线观看 | 狠狠插天天干 | 日本激情中文字幕 | 欧美久久久久久久久久久久久 | 国产在线看| 久久免费美女视频 | 国产精品专区在线观看 | 91亚洲综合| 成年人视频在线 | 国产一级二级av | 色的网站在线观看 | 国产又粗又猛又爽 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 一区二区中文字幕在线播放 | 贫乳av女优大全 | 国产精品美女久久久久久2018 | 99热手机在线 | 久草久草久草久草 | 免费在线看v | 国产精品久久99精品毛片三a | 亚洲影院天堂 | 日韩av资源在线观看 | 日韩欧美视频在线免费观看 | 欧美另类重口 | 久久成人久久 | 日本久久久久久科技有限公司 | 中文在线资源 | 91久久久国产精品 | 欧美中文字幕久久 | 十八岁以下禁止观看的1000个网站 | 国产夫妻性生活自拍 | 亚洲欧洲av在线 | 日本公妇在线观看 | 国产黄免费 | 99在线高清视频在线播放 | 免费av免费观看 | 日韩精品免费一线在线观看 | 国产一区高清在线 | 欧美亚洲一区二区在线 | 午夜精品久久久久久久久久久 | 99久久精品久久亚洲精品 | 欧美日韩国产在线观看 | 国产小视频国产精品 | av官网| 久久久久久久久久久高潮一区二区 | 亚洲91网站 | 激情综合色图 | 国产午夜精品一区二区三区欧美 | 久久久久久久久毛片 | 午夜精品久久久久久久99 | 探花在线观看 | 丁香婷婷网| 伊人午夜视频 | 国产 字幕 制服 中文 在线 | 中文字幕精品在线 | 久久成人黄色 | 中文字幕一区二区三区乱码不卡 | 国产精品免费一区二区三区 | 日韩电影在线观看中文字幕 | 欧美日韩视频观看 | 久久精品麻豆 | 国产精品高潮久久av | 成人羞羞免费 | 国产一区福利在线 | 中文字幕视频免费观看 | 精品国产一二三 | 欧美精品成人在线 | 精品国产一区二区三区日日嗨 | 在线观看精品 | 一区二区三区在线免费观看视频 | 国产视频在线播放 | 天天射网站 | 日本三级不卡视频 | 韩国一区在线 | 国产视频一区在线免费观看 | 久久新视频 | 九九热免费视频在线观看 | 99自拍视频在线观看 | 欧美色图东方 | 国产成人精品一区二区三区福利 | 欧美人zozo| 亚洲国产精品va在线看黑人 | 亚洲成年人在线播放 | 在线观看午夜av | 96亚洲精品久久久蜜桃 | 五月天中文字幕mv在线 | 久久视频精品在线 | 奇米导航| 欧美一级特黄高清视频 | 不卡视频在线看 | 成人在线免费视频 | 日韩精品一区二区在线 | 免费久久视频 | 91 在线视频 | 午夜久久网 | www.香蕉视频 | 国产在线观看二区 | 精品久久国产一区 | 久久超级碰 | www成人精品 | www91在线观看 | 黄免费在线观看 | 国产精品美女久久久久久免费 | 国内综合精品午夜久久资源 | 在线视频 成人 | 精品一区免费 | 欧美一级片在线播放 | 亚洲精品欧美成人 | 国产成人精品在线 | 成人久久久电影 | 国产成人不卡 | 日本少妇高清做爰视频 | 亚洲精品合集 | 久草免费在线 | 国产亚洲精品久久久久秋 | 日韩av成人 | 日本不卡一区二区三区在线观看 | 国产91精品久久久久久 | 成人精品电影 | 高清av网站 | 成人午夜免费福利 | 麻花天美星空视频 | 国产网站在线免费观看 | 免费电影播放 | 91在线看视频免费 | 欧美日韩国产精品一区二区 | 最近更新中文字幕 | 久久久精品国产免费观看同学 | 欧美一级黄色网 | 国产精品免费一区二区 | 免费观看成人网 | 天天插狠狠干 | 久久国产精品影片 | 人人操日日干 | 韩日成人av | 国产精品久久久久国产精品日日 | av电影在线观看 | 亚洲欧美激情精品一区二区 | 美女视频黄是免费的 | 久久精品国亚洲 | 香蕉在线视频观看 | 在线天堂中文在线资源网 | 人人草人人做 | 精品国产成人在线影院 | 国产精品久久亚洲 | 日色在线视频 | 国产精品久久久久久妇 | 69av在线播放 | 亚洲日本欧美 | 亚洲特级片 | 日韩高清毛片 | 精品国产日本 | 九九热在线观看 | 手机版av在线 | 国产成视频在线观看 | 99精品视频免费在线观看 | 永久免费毛片在线观看 | 91成人欧美| 久久亚洲精品国产亚洲老地址 | 操久在线| 干狠狠| 国产高清一 | 国产一区麻豆 | 欧洲一区二区在线观看 | 成人国产在线 | 91精品国产亚洲 | 国产美女网站在线观看 | 99热国产在线观看 | 精品国产福利在线 | 国产一级片不卡 | 99久久成人 | 欧美日韩在线观看一区二区 | 最新婷婷色 | 国产午夜精品在线 | 亚洲精品婷婷 | 久久一区二区免费视频 | 日韩欧美视频免费在线观看 | 国产午夜精品一区二区三区四区 | 色视频网站在线观看一=区 a视频免费在线观看 | 97在线公开视频 | 黄色三级免费观看 | 国产福利精品一区二区 | 中文字幕在线一二 | 国产一区二区在线观看免费 | 国产日韩欧美在线影视 | 男女激情免费网站 | 国产精品美女www爽爽爽视频 | 女人久久久久 | 午夜成人影视 | 成人免费视频免费观看 | 国产成人专区 | 国产青青青 | 精品在线视频一区 | 黄色大全免费网站 | www.91av在线| 色噜噜在线观看视频 | 六月激情久久 | 国产一区电影在线观看 | 天海冀一区二区三区 | 日本在线观看视频一区 | 婷婷色 亚洲 | 久久久资源 | 精品视频免费久久久看 | 欧美一区在线看 | 99久久www | 极品美女被弄高潮视频网站 | 国产精品久久久久久久久久久久午夜 | 日韩精品网址 | 久久一区国产 | 国产黄色精品在线观看 | 日韩精品欧美精品 | 99在线国产 | av在线激情| 亚洲视频网站在线观看 | 国际精品网 | 国产免费影院 | 久草网免费 | 99久久夜色精品国产亚洲 | 在线观看欧美成人 | 日韩中文字幕一区 | 久草视频看看 | 丁香电影小说免费视频观看 | 天天做天天爱天天综合网 | 黄色片视频在线观看 | 99精品免费观看 | 欧美日韩国产欧美 | av福利在线看 | www.亚洲视频| 91人人视频在线观看 | 日韩免费在线观看网站 | 亚洲精品天天 |