<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      進入數(shù)據(jù)庫

      mysql -u root -p
      

      mysql會提示你輸入密碼,輸入安裝配置MySQL服務時設置的密碼即可。

      輸入如下命令生成樣例數(shù)據(jù)庫:

      CREATE DATABASE university;
      USE university;
      SOURCE <DLL.sql文件路徑>;
      SOURCE <InsertStatements.sql文件路徑>;


      數(shù)據(jù)庫 
      1. 查看現(xiàn)有數(shù)據(jù)庫

      SHOW DATABASES;
      

       2. 新建數(shù)據(jù)庫

      CREATE DATABASE <數(shù)據(jù)庫名>;
      

       3. 選擇數(shù)據(jù)庫

      USE <數(shù)據(jù)庫名>;
      

      4. 從.sql文件引入SQL語句

      SOURCE <.sql文件路徑>;
      

      5. 刪除數(shù)據(jù)庫

      DROP DATABASE <數(shù)據(jù)庫名>;

      6.
      查看當前數(shù)據(jù)庫中的表

      SHOW TABLES;
      

        

       

       

       7. 創(chuàng)建新表

      CREATE TABLE <表名> (
          <列名1> <列類型1>,
          <列名2> <列類型2>,
          <列名3> <列類型3>,
          PRIMARY KEY (<列名1>),
          FOREIGN KEY (<列名2>) REFERENCES <表名2>(<列名2>)
      );

       

      主鍵(PRIMARY KEY)用來標識一條記錄(一行),所以每條記錄的主鍵值必須是唯一的。主鍵可以定義在多列上,這稱為聯(lián)合主鍵(composite primary key)。

      如果我們把表視作具有某種結構的數(shù)組(例如,C語言中的struct),那么外鍵(FOREIGN KEY)可以視作指針。

      例子:

        

      CREATE TABLE instructor (
          ID CHAR(5),
          name VARCHAR(20) NOT NULL,
          dept_name VARCHAR(20),
          salary NUMERIC(8,2), 
          PRIMARY KEY (ID),
          FOREIGN KEY (dept_name) REFERENCES department(dept_name));

       

        在上面的例子中,我們創(chuàng)建了一個教員(instructor)表,該表的主鍵是ID,外鍵是教員所在的部門名稱(dept_name),關聯(lián)部門(department)表。此外,教員表還包括姓名(name)、薪水(salary)。其中,姓名有約束NOT NULL,表示姓名這一項不能為空。

      8. 概述表中的列

      使用如下語句查看表中的列的基本信息:

      DESCRIBE <表名>;
      

        
      下圖顯示了一些例子:

       

      9. 在表中插入新紀錄

      INSERT INTO <表名> (<列名1>, <列名2>, <列名3>, …)
          VALUES (<值1>, <值2>, <值3>, …);

      也可以省略列名(依序在所有列上插入新值):

      INSERT INTO <表名>
          VALUES (<值1>, <值2>, <值3>, …);

      10. 在表中更新記錄

      UPDATE <表名>
          SET <列名1> = <值1>, <列名2> = <值2>, ...
          WHERE <條件>;

      11. 清空表

      DELETE FROM <表名>;

      12. 刪除表

      DROP TABLE <表名>;

      查詢

      13. SELECT

      SELECT語句可以從表中選擇數(shù)據(jù):

      SELECT <列名1>, <列名2>, …
          FROM <表名>;

      以下語句選擇所有內(nèi)容:

      SELECT * FROM <表名>;

       

       

       14. SELECT DISTINCT

      SELECT DISTINCT過濾掉了重復的值:

      SELECT DISTINCT <列名1>, <列名2>, …
          FROM <表名>;

       

       

       15. WHERE

      我們之前在更新記錄時已經(jīng)用到了WHERE關鍵字,用來指明條件。這里我們稍微詳細一點地介紹下WHERE。

      WHERE的條件通常是:

      • 比較文本(text)
      • 比較數(shù)字(numbers)
      • AND、OR、NOT等邏輯運算

      讓我們來看一些例子:

      SELECT * FROM course WHERE dept_name='Comp. Sci.';
      SELECT * FROM course WHERE credits>3;
      SELECT * FROM course WHERE dept_name='Comp. Sci.' AND credits>3;

       

       

       16. GROUP BY

      GROUP BY語句可以分組結果,常用于COUNT、MAX、MIN、SUM、AVG等聚合函數(shù)(aggregate functions)。

       

      SELECT <列名1>, <列名2>, …
          FROM <表名>
          GROUP BY <列名>;

      讓我們來看一個例子,列出每個部門的課程數(shù)量:

      SELECT COUNT(course_id), dept_name 
           FROM course 
           GROUP BY dept_name;

       

       

       17. HAVING

      乍看起來,HAVING和WHERE很像:

      SELECT <列名1>, <列名2>, …
          FROM <表名>
          GROUP BY <列名x>
          HAVING <條件>;

      那么,HAVING和WHERE有什么不同呢?讓我們先來看一個例子,列出開了不止一門課程的部門開設的課程數(shù):

      SELECT COUNT(course_id), dept_name 
          FROM course 
          GROUP BY dept_name 
          HAVING COUNT(course_id)>1;

      這里HAVING不能換成WHERE,因為WHERE直接針對行操作,且在GROUP BY之前運行(即先通過WHERE篩選行,之后再將篩選出的行通過GROUP BY分組)。假設SQL中不存在HAVING語句,那么我們只能先新建一張表,將COUNT(course_id)作為新表的列,然后在新表上再通過WHERE進行篩選(當然,實際上SQL提供了派生表、CTE等機制,并不用真的手工建新表)。

       

       

       18. ORDER BY

      ORDER BY可以對結果進行排序,在沒有明確指定ASC(升序)或DESC(降序)的情況下,默認按升序排列。

      SELECT <列名1>, <列名2>, …
      FROM <表名>
      ORDER BY <列名1>, <列名2>, …, ASC|DESC;

      例子:

      SELECT * FROM course ORDER BY credits;
      SELECT * FROM course ORDER BY credits DESC;

       

       

       

       19. BETWEEN

      BETWEEN語句用于指定區(qū)間。

      SELECT <列名1>, <列名2>, …
          FROM <表名>
          WHERE <列名x> BETWEEN <值1> AND <值2>;

      其中“值”可能是數(shù)字,文本,乃至日期等。

      例如,列出薪資在50000和100000之間的教員

       

      SELECT * FROM instructor 
          WHERE salary BETWEEN 50000 AND 100000;

       

       

       

       

      20. LIKE

      LIKE用于匹配文本中的特定模式。

      SELECT <列名1>, <列名2>, …
          FROM <表名>
          WHERE <列名x> LIKE <模式>;

      模式中可以使用以下兩個通配符:

      • % (零個、一個或多個字符)
      • _ (單個字符)

      例子:列出課程名中包含“to”的課程,以及課程ID以“CS-”開頭的課程。

      SELECT * FROM course WHERE title LIKE '%to%';
      SELECT * FROM course WHERE course_id LIKE 'CS-___';

       

       

       

      21. IN

      IN語句表示值屬于某個集合。

      SELECT <列名1>, <列名2>, …
          FROM <表名>
          WHERE <列名n> IN (<值1>, <值2>, …);

      例子:列出計算機科學、物理、電子工程部門的學生。

      SELECT * FROM student 
          WHERE dept_name IN ('Comp. Sci.', 'Physics', 'Elec. Eng.');

       

       

       

      22. JOIN

      JOIN用來組合兩張以上表中的值。下圖展示了JOIN的三種類型:

       

      SELECT <列名1>, <列名2>, …
          FROM <表名1>
          JOIN <表名2>
          ON <表名1.列名x> = <表名2.列名x>

      讓我們來看三個例子,分別對應三種JOIN的類型。

      第一個例子,列出課程時包含開設課程的部門詳情:

      SELECT * FROM course 
          JOIN department 
          ON course.dept_name=department.dept_name;

       

       

       第二個例子,列出所有具有前置課程的課程的詳情:

      SELECT prereq.course_id, title, dept_name, credits, prereq_id 
          FROM prereq 
          LEFT OUTER JOIN course 
          ON prereq.course_id=course.course_id;

       

       

       最后一個例子,列出所有課程的詳情,不管是否具有前置課程:

      SELECT course.course_id, title, dept_name, credits, prereq_id 
          FROM prereq 
          RIGHT OUTER JOIN course 
          ON prereq.course_id=course.course_id;

       

       

       

      23. 視圖

      視圖(view)是虛擬的SQL表。它包含行和列,和一般的SQL表格很類似。視圖總是顯示數(shù)據(jù)庫中的最新數(shù)據(jù)。

      CREATE VIEW

      創(chuàng)建視圖:

      CREATE VIEW <視圖名> AS
          SELECT <列名1>, <列名2>, …
          FROM <表名>
          WHERE <條件>;

      DROP VIEW

      刪除視圖:

      DROP VIEW <視圖名>;

      例如,創(chuàng)建3學分的課程視圖:

      CREATE VIEW my_view AS
          SELECT * FROM course
          WHERE credits=3;

       

       

       

      24. 聚合函數(shù)

      我們之前已經(jīng)提到聚合函數(shù),這里列出最常用的一些聚合函數(shù):

      • COUNT(列名) 返回行數(shù)
      • SUM(列名) 返回指定列的值之和
      • AVG(列名) 返回指定列的平均值
      • MIN(列名) 返回指定列的最小值
      • MAX(列名) 返回指定列的最大值

      25. 嵌套子查詢

      在SQL請求中,可以嵌套SELECT-FROM-WHERE表達式,稱為嵌套子查詢(nested subqueries)。

      例如,查找2009年秋、2010年春都開的課程:

      SELECT DISTINCT course_id 
          FROM section 
          WHERE semester = ‘Fall’ AND year= 2009 AND course_id IN (
              SELECT course_id 
                  FROM section 
                  WHERE semester = ‘Spring’ AND year= 2010
          );

       

       

       

       

       

      posted on 2020-10-26 13:45  testNew  閱讀(87)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美亚洲另类 丝袜综合网| 日韩福利片午夜免费观着| 国产精品一区二区三区四区| 岛国最新亚洲伦理成人| 久热这里只有精品在线观看| 国产精品视频午夜福利| 成人无遮挡裸免费视频在线观看 | 激情综合五月丁香亚洲| 人妻人人妻a乱人伦青椒视频| 国产精品午夜精品福利| 国内在线视频一区二区三区| 亚洲免费的福利片| 蜜臀久久精品亚洲一区| 麻豆蜜桃av蜜臀av色欲av| 免费a级毛片18以上观看精品| 国产成AV人片久青草影院| 色悠悠成人综合在线视频| 久久精品中文字幕少妇| 国产无遮挡又黄又爽不要vip软件| 国产亚洲精品一区二区不卡| 国产精品青草久久久久福利99 | 一二三三免费观看视频| 99精品久久精品| 国产一区二区高清不卡| 午夜大尺度福利视频一区| 777久久精品一区二区三区无码| www插插插无码免费视频网站| 日韩日韩日韩日韩日韩熟女| 久久国产精品老人性| 国产精品麻豆va在线播放| 一本一道av无码中文字幕麻豆 | 精品国产乱一区二区三区| 国产欧美日韩亚洲一区二区三区| 激情五月日韩中文字幕| 国产粉嫩一区二区三区av| 久久99久久99精品免视看国产成人| 午夜激情福利在线免费看| 国产午夜福利视频在线| 中文字幕人妻精品在线| 亚洲sm另类一区二区三区| 国产精品福利自产拍久久|