SQL是什么?
官方解釋:SQL (Structured Query Language:結(jié)構(gòu)化查詢語言) 是用于管理關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)。
SQL能用來干什么?
通俗的講:讓您可以訪問和處理數(shù)據(jù)庫(kù),包括數(shù)據(jù)插入、查詢、更新和刪除。
下面讓我們看看小美是如何零基礎(chǔ)學(xué)習(xí)SQL的:
例如:
計(jì)算器:SELECT 365 * 24 FROM dual;
CREATE TABLE bookshelf
(
BOOK_ID NUMBER,
BOOK_NAME VARCHAR2(100),
BOOK_TYPE VARCHAR2(100),
AUTHOR VARCHAR2(100),
INTIME DATE
);
表名為:bookshelf
,有列:圖書id,圖書名稱,圖書類型,作者,入庫(kù)時(shí)間。通過上面學(xué)習(xí)的 SELECT
語法,來查詢一下這張表:
SELECT * FROM bookshelf;
INSERT INTO bookshelf
(book_id,
book_name,
book_type,
author,
intime)
VALUES
(1,
'飄',
'長(zhǎng)篇小說',
'瑪格麗特·米切爾',
SYSDATE);
COMMIT;
增 的基本語法:
insert into 表名 (需要插入的列名,用逗號(hào)隔開) values (對(duì)應(yīng)列名的值);
UPDATE 表名 SET 列名 = 新的值;
刪 的基本語法:
DELETE FROM 表名;
現(xiàn)在來模擬一下場(chǎng)景:
1、修改作者名:
UPDATE bookshelf SET author='Margaret Mitchell';
COMMIT;
DELETE FROM bookshelf;
COMMIT;
INSERT INTO bookshelf (book_id,book_name,book_type,author,intime) VALUES (1,'飄','長(zhǎng)篇小說','瑪格麗特·米切爾',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;
文末,贈(zèng)送給各位看官幾個(gè)一句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;
🇨🇳 奧運(yùn)五環(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;
增刪改查
操作!希望能給讀者不一樣的體驗(yàn)~
聯(lián)系客服