小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

SQL 增刪改查:我能玩出這花樣兒?

 LuciferLiu 2021-12-10

📚 前言

SQL是什么?

官方解釋:SQL (Structured Query Language:結(jié)構(gòu)化查詢語言) 是用于管理關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。

SQL能用來干什么?

通俗的講:讓您可以訪問和處理數(shù)據(jù)庫,包括數(shù)據(jù)插入、查詢、更新和刪除。


SQL 對于現(xiàn)在的互聯(lián)網(wǎng)公司生產(chǎn)研發(fā)等崗位幾乎是一個必備技能,如果不會 SQL 的話,可能什么都做不了??梢园?SQL 當做是一種工具,利用它可以幫助你完成你的工作,創(chuàng)造價值。

?? 情景學習

下面讓我們看看小美是如何零基礎(chǔ)學習SQL的:

sysdate
使用這個SQL語句可以查看數(shù)據(jù)庫當前時間,當然也可以把 SYSDATE 換成任意東西。

例如:

計算器:SELECT 365 * 24 FROM dual;
計算器
這個SQL我們在開發(fā)中會經(jīng)常用到,作為入門第一個SQL輕松有趣。小美,你覺得難嗎?


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

CREATE TABLE bookshelf
(
BOOK_ID NUMBER,
BOOK_NAME VARCHAR2(100),
BOOK_TYPE VARCHAR2(100),
AUTHOR VARCHAR2(100),
INTIME DATE
);

表名為:bookshelf,有列:圖書id,圖書名稱,圖書類型,作者,入庫時間。通過上面學習的 SELECT語法,來查詢一下這張表:

SELECT * FROM bookshelf;


可以發(fā)現(xiàn),新建的bookshelf表沒有任何記錄?,F(xiàn)在,圖書館里已經(jīng)增加一個空的書架,是不是需要將書放入書架上呢?這時就需要用到 操作了。

INSERT INTO bookshelf 
(book_id,
book_name,
book_type,
author,
intime)
VALUES
(1,
'飄',
'長篇小說',
'瑪格麗特·米切爾',
SYSDATE);
COMMIT;

的基本語法:

insert into 表名 (需要插入的列名,用逗號隔開) values (對應列名的值);


通過sql查詢發(fā)現(xiàn),這本書《飄》已經(jīng)放入了書架上,可供大家借用和查看。

的基本語法:

UPDATE 表名 SET 列名 = 新的值;

的基本語法:

DELETE FROM 表名;

現(xiàn)在來模擬一下場景:

1、修改作者名:

UPDATE bookshelf SET author='Margaret Mitchell';
COMMIT;

修改作者名
2、下架圖書:

DELETE FROM bookshelf;
COMMIT;

在這里插入圖片描述
通過以上兩個場景,演示了 兩種操作。



先上架3本書:

INSERT INTO bookshelf (book_id,book_name,book_type,author,intime) VALUES (1,'飄','長篇小說','瑪格麗特·米切爾',SYSDATE);
INSERT INTO bookshelf (book_id,book_name,book_type,author,intime) VALUES (2,'傾城之戀','愛情小說','張愛玲',SYSDATE);
INSERT INTO bookshelf (book_id,book_name,book_type,author,intime) VALUES (3,'從你的全世界路過','短篇小說','張嘉佳',SYSDATE);
COMMIT;


查看《傾城之戀》:

SELECT * FROM bookshelf WHERE BOOK_NAME = '傾城之戀';


更新《飄》:

UPDATE bookshelf SET author='Margaret Mitchell' WHERE book_name = '飄';
COMMIT;


刪除《從你的全世界路過》:

DELETE FROM bookshelf WHERE book_name = '從你的全世界路過';
COMMIT;


通過上面的幾個栗子🌰,應該能很好的理解 WHERE 查詢條件的使用了。

?? 趣味 SQL

文末,贈送給各位看官幾個一句SQL畫圖的趣味小SQL:

?? 五角星:

WITH a AS
 (SELECT DISTINCT round(SUM(x) over(ORDER BY n)) x,
                  round(SUM(y) over(ORDER BY n)) y
    FROM (SELECT n,
                 cos(trunc(n / 20) * (1 - 1 / 5) * 3.1415926) * 2 x,
                 sin(trunc(n / 20) * (1 - 1 / 5) * 3.1415926) y
            FROM (SELECT rownum - 1 n
                    FROM all_objects
                   WHERE rownum <= 20 * 5)))
SELECT REPLACE(sys_connect_by_path(point,
                                   '/'),
               '/',
               NULL) star
  FROM (SELECT b.y,
               b.x,
               decode(a.x,
                      NULL,
                      ' ',
                      '*') point
          FROM a,
               (SELECT *
                  FROM (SELECT rownum - 1 + (SELECT MIN(x)
                                               FROM a) x
                          FROM all_objects
                         WHERE rownum <= (SELECT MAX(x) - MIN(x) + 1
                                            FROM a)),
                       (SELECT rownum - 1 + (SELECT MIN(y)
                                               FROM a) y
                          FROM all_objects
                         WHERE rownum <= (SELECT MAX(y) - MIN(y) + 1
                                            FROM a))) b
         WHERE a.x(+) = b.x
           AND a.y(+) = b.y)
 WHERE x = (SELECT MAX(x)
              FROM a)
 START WITH x = (SELECT MIN(x)
                   FROM a)
CONNECT BY y = PRIOR y
       AND x = PRIOR x + 1;

在這里插入圖片描述
📢 注意: 調(diào)整期中數(shù)字 5,你還可以輸出 7 角星,9 角星!

🇨🇳 奧運五環(huán):

WITH a AS
 (SELECT DISTINCT round(a.x + b.x) x,
                  round(a.y + b.y) y
    FROM (SELECT (SUM(x) over(ORDER BY n)) x,
                 round(SUM(y) over(ORDER BY n)) y
            FROM (SELECT n,
                         cos(n / 30 * 3.1415926) * 2 x,
                         sin(n / 30 * 3.1415926) y
                    FROM (SELECT rownum - 1 n
                            FROM all_objects
                           WHERE rownum <= 30 + 30))) a,
         (SELECT n,
                 (SUM(x) over(ORDER BY n)) x,
                 round(SUM(y) over(ORDER BY n)) y
            FROM (SELECT n,
                         cos(m / 3 * 3.1415926) * 2 * 15 x,
                         sin(m / 3 * 3.1415926) * 15 y
                    FROM (SELECT CASE
                                   WHEN rownum <= 2 THEN
                                    3
                                   WHEN rownum = 3 THEN
                                    -2
                                   ELSE
                                    -6
                                 END m,
                                 rownum - 1 n
                            FROM all_objects
                           WHERE rownum <= 5))) b)
SELECT REPLACE(sys_connect_by_path(point,
                                   '/'),
               '/',
               NULL) star
  FROM (SELECT b.y,
               b.x,
               decode(a.x,
                      NULL,
                      ' ',
                      '*') point
          FROM a,
               (SELECT *
                  FROM (SELECT rownum - 1 + (SELECT MIN(x)
                                               FROM a) x
                          FROM all_objects
                         WHERE rownum <= (SELECT MAX(x) - MIN(x) + 1
                                            FROM a)),
                       (SELECT rownum - 1 + (SELECT MIN(y)
                                               FROM a) y
                          FROM all_objects
                         WHERE rownum <= (SELECT MAX(y) - MIN(y) + 1
                                            FROM a))) b
         WHERE a.x(+) = b.x
           AND a.y(+) = b.y)
 WHERE x = (SELECT MAX(x)
              FROM a)
 START WITH x = (SELECT MIN(x)
                   FROM a)
CONNECT BY y = PRIOR y
       AND x = PRIOR x + 1;


📅 打印當月日歷:

SELECT MAX(decode(dow,
                  1,
                  d,
                  NULL)) sun,
       
       MAX(decode(dow,
                  2,
                  d,
                  NULL)) mon,
       
       MAX(decode(dow,
                  3,
                  d,
                  NULL)) tue,
       
       MAX(decode(dow,
                  4,
                  d,
                  NULL)) wed,
       
       MAX(decode(dow,
                  5,
                  d,
                  NULL)) thu,
       
       MAX(decode(dow,
                  6,
                  d,
                  NULL)) fri,
       
       MAX(decode(dow,
                  7,
                  d,
                  NULL)) sat

  FROM (SELECT rownum d,
               
               rownum - 2 + to_number(to_char(trunc(SYSDATE,
                                                    'MM'),
                                              'D')) p,
               
               to_char(trunc(SYSDATE,
                             'MM') - 1 + rownum,
                       'D') dow
        
          FROM all_objects
        
         WHERE rownum <=
              
               to_number(to_char(last_day(to_date(SYSDATE)),
                                 'DD')))

 GROUP BY trunc(p / 7)

 ORDER BY sun NULLS FIRST;


本文以輕松愉快的情景對話方式介紹 SQL 的 增刪改查 操作!希望能給讀者不一樣的體驗~

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多