中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫查詢語句

發布時間:2020-06-25 16:29:54 來源:網絡 閱讀:620 作者:張晧 欄目:數據庫

插入數據

    INSERT 語法結構

        INSERT [INTO] <表名>  [列名] VALUES <值列表>

    參數解釋

        [INTO]和[列名]是可選的

        <表名>是必需的

        如果省略[列名],<值列表>與表中字段的順序保持一致

        多個列名和多個值列表用逗號分隔

    向student表中插入一行數據

        insert into student (姓名,×××號,所在班級,成績) 

        values('王蘭', '126125199008222446', 2,90)

更新數據

  UPDATE 語法結構

    UPDATE  <表名>  SET  <列名 = 更新值>  [WHERE  <更新條件>]

  參數解釋

    WHERE子句是可選的,用來限制條件

    如果省略WHERE字句,表中所有數據行將被更新

  更改student表中王蘭的成績為95,備注為“勤奮好學”

    update student set 成績='95',備注='勤奮好學‘ where 姓名='王蘭'

刪除數據

    DELETE 語法結構

        DELETE  FROM  <表名>  [WHERE <刪除條件>]

    參數解釋

        WHERE子句是可選的,用來限制刪除條件

        如果省略WHERE字句,表中所有數據行將被刪除

    Truncate Table語法結構

        Truncate  table <表名>

            刪除表中的所有行


條件刪除

記錄事物日志

重置標識符列

外鍵約束

Delete

使用where子句按條件刪除

是,數據可以恢復

可以用于含有外鍵約束的表

Truncate table

只能清空整個表

否,數據無法恢復

重置標識符列為0


    Truncate Table執行速度更快,用于清空大數據量表

    在執行Truncate Table前要確保數據可刪除

SQL和T-SQL

    SQL(結構化查詢語言)

        關系數據庫的標準語言

            SQL Server、 Oracle、DB2

        非過程化語言

            不需要指定對數據的存放方法

        統一的語言

            創建、修改以及刪除數據對象(數據庫、表等)

    T-SQL

        SQL的加強版, 提供了類似于程序語言的基本功能

            變量說明、流程控制、功能函數

T-SQL的組成

    DML:數據操縱語言

        查詢、插入、刪除和修改數據

        SELECT、INSERT、UPDATE、DELETE

    DDL:數據定義語言

        建立數據庫、數據庫對象和定義其列

        CREATE、ALTER、DROP

    DCL:數據控制語言

        控制數據庫組件的存取許可、存取權限等

        GRANT、REVOKE

SELECT語法結構

    SELECT select_list 

    [INTO new_table_name]

    FROM table_name

    [ WHERE search_conditions ]

    [GROUP BY group_by_expression] [HAVING search_conditions]

    [ORDER BY order_expression [ASC|DESC] ]

 參數解釋

    SELECT子句:指定查詢內容

    INTO子句:把查詢結果存放到一個新表中

    FROM子句:指定查詢源

    WHERE子句:查詢條件

    GROUP BY子句:指定查詢結果的分組條件

    HAVING子句:指定分組搜索條件,與GROUP BY子句一起使用

    ORDER BY子句:指定查詢結果的排序方式

表達式

    條件表達式

        常量:表示單個指定數據值的符號

            字母、數字或符號

         列名:表中列的名稱

          一元運算符:僅有一個操作數的運算符

            “+”表示正數,“-”表示負數

          二元運算符:將兩個操作數組合執行操作的運算符

                 算術運算符、位運算符、邏輯運算符、比較運算符

運算符含義

=等于

>大于

<小于

>=大于或等于

<=小于或等于

<>不等于

!=不等于

BETWEEN指定值的包含范圍(包含邊界)。使用 And 分隔開始值和結束值

IS [Not] NULL指定是否搜索空值或非空值

LIKE模糊查詢,與指定字符串進行模式匹配

IN是否在數據范圍里面

條件表達式舉例

PRICE > 20,表示滿足大于20的PRICE值               

PRICE <> 20,表示滿足不等于20的PRICE值

PRICE Between 10 And 20,表示滿足大于等于10并且小于等于20的PRICE值

NAME Like '李%',表示滿足NAME姓名字段里姓李的所有姓名

邏輯表達式

    用邏輯運算符將條件連接起來,運算結果是一個邏輯值

        TRUE或FALSE

                    邏輯運算符

運算符含義

AND組合兩個條件,并在兩個條件都為True時取值為True

OR組合兩個條件,并在兩個條件之一為 True 時取值為True

NOT和其他操作符一起使用,取反的操作

邏輯表達式舉例

    付款方式為信用卡,并且只能是牡丹卡、金穗卡或龍卡

    付款方式 = ‘信用卡’ AND 信用卡 in (‘牡丹卡’, ‘金穗卡’, ‘龍卡’)

查詢舉例——查詢列

    查詢表中所有列

          SELECT * FROM table_name

    查詢student 表中的所有學生信息

       SELECT * FROM student

    查詢表中特定列

       SELECT column_name_1,column_name_2,... FROM table_name

    查詢student表中姓名、所在班級、成績列的內容

           SELECT 姓名,所在班級,成績 FROM student

查詢舉例——查詢特定行

    語法結構

      SELECT select_list FROM table_name WHERE search_conditions

    查詢student表中2班的名叫劉婷的學生

         SELECT * FROM student WHERE 姓名='劉婷' AND 所在班級=2

    查詢student表中成績在90到100的所有學生

       SELECT * FROM student WHERE 成績 BETWEEN 90 AND 100

    查詢student表中姓劉的所有學生

       SELECT * FROM student WHERE 姓名 LIKE '劉%'

    查詢student表中備注不為空的所有學生

       SELECT * FROM student WHERE 備注 is NOT NULL

查詢舉例——查詢返回限制的行數

    語法結構

      SELECT TOP n select_list FROM table_name

    參數解釋

        TOP關鍵字用來限制查詢返回的行數,n為需要返回的行數

    查詢student表中前5行的數據

         SELECT top 5 * FROM student

查詢舉例——改變查詢結果集列名稱

    語法結構

        SELECT column_name AS column_alias FROM table_name

    參數解釋

        AS子句用來改變結果集列的名稱

    查詢student表中姓名和×××號兩列數據

         SELECT 姓名 AS name,×××號 as idcard FROM student

查詢舉例——查詢結果排序

    語法結構

       SELECT select_list FROM table_name ORDER BY column_name [ASC|DESC]

    參數解釋

        ASC:升序

        DESC:降序

    查詢student表中學生信息,按照成績從高到低顯示結果

      SELECT * FROM student order by 成績 DESC

查詢舉例——聚合函數

    用于對一組值執行計算,并返回單個值

    如求總和、平均值、最大或最小值等

   SUM:求總和

    查詢student表中所有學生的總成績

            SELECT SUM(成績) 總成績 FROM student

     AVG:求平均數

    查詢student表中所有學生的平均成績

            SELECT AVG(成績) 平均成績 FROM student                                      MAX和MIN:返回最大最小值

    查詢student表中所有學生中的最高分和最低分

           SELECT MAX(成績) 最高分,MIN(成績) 最低分 FROM student

   COUNT:返回非空值的計數

    查詢student表中所有行數

        SELECT COUNT(*) 總行數 FROM student

查詢舉例——分組查詢

    語法結構

      SELECT select_list FROM table_name GROUP BY column_name 

        HAVING search_conditions

    參數解釋

        GROUP BY子句對查詢結果進行分組

        HAVING子句指定分組搜索條件

    查詢student表中每個班級的總成績

       SELECT 所在班級,SUM(成績) AS 總成績 FROM student GROUP BY 所在班級

    查詢student表中總成績大于200的班級

       SELECT 所在班級,SUM(成績) AS 總成績 FROM student GROUP BY 所在班級 HAVING SUM(成績)>200

WHERE子句和 HAVING子句的區別

    WHERE子句在分組之前過濾數據,條件中不能包含聚合函數

    HAVING子句在分組之后過濾數據,條件中經常包含聚合函數

查詢舉例——插入數據

    語法結構

       SELECT select_list INTO new_table_name FROM table_name

    參數解釋

        INTO子句把一個表中的數據經過篩選插入到另一個表中

    將student表的數據插入到新表student_bak中

          SELECT * INTO student_bak FROM student

    將student表中2班的學生信息保存到表student_2中

          SELECT * INTO student_2 FROM student WHERE 所在班級=2

表的連接類型

    內連接(INNER JOIN)

        只返回兩個數據集合之間匹配關系的行

    外連接

        左外連接(LEFT JOIN )

            結果集包括左表的所有行

        右外連接(RIGHT JOIN )

            結果集包括右表的所有行

        完整外連接(FULL JOIN)

            返回左表和右表中的所有行

    交叉連接

        返回左表與右表挨個連接的所有行

內連接

     方式一:在Where子句中指定連接條件

SELECT A.name 姓名A,A.school 學校A,B.name 姓名B,B.job 職業B FROM A,B WHERE A.name=B.name

    方式二:在FROM子句中使用INNER JOIN…ON子句

SELECT A.name 姓名A,A.school 學校A,B.name 姓名B,B.job 職業B FROM  A inner join B on A.name=B.name

左外連接和右外連接

    左外連接查詢

SELECT A.name 姓名A,A.school 學校A,B.name 姓名B,job 職業B FROM A left join B on A.name=B.name

     右外連接查詢

SELECT A.name 姓名A,A.school 學校A,B.name 姓名B,job 職業B FROM A right join B on A.name=B.name

    完整外連接查詢

SELECT A.name 姓名A,A.school 學校A,B.name 姓名B,job 職業B FROM A full join B on A.name=B.name

                      

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武城县| 灵璧县| 搜索| 屯昌县| 定州市| 铅山县| 兴仁县| 中西区| 静乐县| 乌鲁木齐县| 苗栗市| 尼勒克县| 治多县| 营山县| 蛟河市| 迭部县| 鲁山县| 无极县| 常德市| 牙克石市| 屏山县| 合肥市| 合水县| 卢湾区| 巴南区| 湘阴县| 临湘市| 广安市| 思茅市| 涿鹿县| 高尔夫| 星座| 镇坪县| 大新县| 增城市| 恩平市| 炉霍县| 剑川县| 财经| 平安县| 武汉市|