SQL數據庫實戰(含建表數據和查詢案例)

Oracle數據庫安裝的時候會自帶一個練習用數據庫(其中包含employee表,后來版本中此表改名為emp);
首先在安裝過程中應該有個選項“是否安裝實例表”(完全安裝模式下默認是選擇的),需要選擇才有此表;

此表歸屬于scott賬戶,scott用戶默認口令為tiger
如果發現scott賬戶已過期(Oracle 10g中經常發生),或口令不正確,可以通過以下方法進行設置

--賬戶解鎖  
alter user scott account unlock;  
--重設scott賬戶口令為tiger  
alter user scott identified by tiger;  

如果想通過這個例子練手,下面是對應的建表語句,讀者可以自行創建數據庫進行練習(特別是Mysql用戶)。對應的練習題,網上有很多,在這里博主總結了一些教材中的案例由于練習,如有錯誤請指出。

建表語句:

附:實例表建表語句(適用于Oracle)

SET TERMOUT ON  
PROMPT Building demonstration tables. Please wait.  
SET TERMOUT OFF  DROP TABLE EMP;  
DROP TABLE DEPT;  
DROP TABLE BONUS;  
DROP TABLE SALGRADE;  
DROP TABLE DUMMY;  CREATE TABLE EMP  
(EMPNO NUMBER(4) NOT NULL,  
ENAME VARCHAR2(10),  
JOB VARCHAR2(9),  
MGR NUMBER(4),  
HIREDATE DATE,  
SAL NUMBER(7, 2),  
COMM NUMBER(7, 2),  
DEPTNO NUMBER(2));  INSERT INTO EMP VALUES  
(7369, 'SMITH', 'CLERK', 7902,  
TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);  
INSERT INTO EMP VALUES  
(7499, 'ALLEN', 'SALESMAN', 7698,  
TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600, 300, 30);  
INSERT INTO EMP VALUES  
(7521, 'WARD', 'SALESMAN', 7698,  
TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250, 500, 30);  
INSERT INTO EMP VALUES  
(7566, 'JONES', 'MANAGER', 7839,  
TO_DATE('2-APR-1981', 'DD-MON-YYYY'), 2975, NULL, 20);  
INSERT INTO EMP VALUES  
(7654, 'MARTIN', 'SALESMAN', 7698,  
TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);  
INSERT INTO EMP VALUES  
(7698, 'BLAKE', 'MANAGER', 7839,  
TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);  
INSERT INTO EMP VALUES  
(7782, 'CLARK', 'MANAGER', 7839,  
TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);  
INSERT INTO EMP VALUES  
(7788, 'SCOTT', 'ANALYST', 7566,  
TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);  
INSERT INTO EMP VALUES  
(7839, 'KING', 'PRESIDENT', NULL,  
TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);  
INSERT INTO EMP VALUES  
(7844, 'TURNER', 'SALESMAN', 7698,  
TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500, 0, 30);  
INSERT INTO EMP VALUES  
(7876, 'ADAMS', 'CLERK', 7788,  
TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);  
INSERT INTO EMP VALUES  
(7900, 'JAMES', 'CLERK', 7698,  
TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);  
INSERT INTO EMP VALUES  
(7902, 'FORD', 'ANALYST', 7566,  
TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);  
INSERT INTO EMP VALUES  
(7934, 'MILLER', 'CLERK', 7782,  
TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);  CREATE TABLE DEPT  
(DEPTNO NUMBER(2),  
DNAME VARCHAR2(14),  
LOC VARCHAR2(13) );  INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');  
INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');  
INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');  
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');  CREATE TABLE BONUS  
(ENAME VARCHAR2(10),  
JOB VARCHAR2(9),  
SAL NUMBER,  
COMM NUMBER);  CREATE TABLE SALGRADE  
(GRADE NUMBER,  
LOSAL NUMBER,  
HISAL NUMBER);  INSERT INTO SALGRADE VALUES (1, 700, 1200);  
INSERT INTO SALGRADE VALUES (2, 1201, 1400);  
INSERT INTO SALGRADE VALUES (3, 1401, 2000);  
INSERT INTO SALGRADE VALUES (4, 2001, 3000);  
INSERT INTO SALGRADE VALUES (5, 3001, 9999);  CREATE TABLE DUMMY  
(DUMMY NUMBER);  INSERT INTO DUMMY VALUES (0);  COMMIT;  SET TERMOUT ON  
PROMPT Demonstration table build is complete.  EXIT  

實例建表語句(適用于MySQL)

DROP TABLE employee;  
DROP TABLE dept;  
DROP TABLE bonus;  
DROP TABLE salgrade;  
DROP TABLE dummy;  CREATE TABLE employee  
(  employeeno DECIMAL(4) NOT NULL,  ename VARCHAR(10),  job VARCHAR(9),  mgr DECIMAL(4),  hiredate DATE,  sal DECIMAL(7, 2),  comm DECIMAL(7, 2),  deptno DECIMAL(2)  
);  INSERT INTO employee VALUES  
(7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, NULL, 20);  
INSERT INTO employee VALUES  
(7499, 'ALLEN', 'SALESMAN', 7698,'1981-2-20', 1600, 300, 30);  
INSERT INTO employee VALUES  
(7521, 'WARD', 'SALESMAN', 7698, '1981-2-22', 1250, 500, 30);  
INSERT INTO employee VALUES  
(7566, 'JONES', 'MANAGER', 7839, '1981-4-2', 2975, NULL, 20);  
INSERT INTO employee VALUES  
(7654, 'MARTIN', 'SALESMAN', 7698, '1981-9-28', 1250, 1400, 30);  
INSERT INTO employee VALUES  
(7698, 'BLAKE', 'MANAGER', 7839, '1981-5-1', 2850, NULL, 30);  
INSERT INTO employee VALUES  
(7782, 'CLARK', 'MANAGER', 7839, '1981-7-9', 2450, NULL, 10);  
INSERT INTO employee VALUES  
(7788, 'SCOTT', 'ANALYST', 7566, '1982-12-9', 3000, NULL, 20);  
INSERT INTO employee VALUES  
(7839, 'KING', 'PRESIDENT', NULL, '1981-11-17', 5000, NULL, 10);  
INSERT INTO employee VALUES  
(7844, 'TURNER', 'SALESMAN', 7698, '1981-9-8', 1500, 0, 30);  
INSERT INTO employee VALUES  
(7876, 'ADAMS', 'CLERK', 7788, '1983-1-12', 1100, NULL, 20);  
INSERT INTO employee VALUES  
(7900, 'JAMES', 'CLERK', 7698, '1981-12-3', 950, NULL, 30);  
INSERT INTO employee VALUES  
(7902, 'FORD', 'ANALYST', 7566, '1981-12-3', 3000, NULL, 20);  
INSERT INTO employee VALUES  
(7934, 'MILLER', 'CLERK', 7782, '1982-1-23', 1300, NULL, 10);  CREATE TABLE dept  
(deptno DECIMAL(2),  
dname VARCHAR(14),  
loc VARCHAR(13) );  INSERT INTO dept VALUES (10, 'ACCOUNTING', 'NEW YORK');  
INSERT INTO dept VALUES (20, 'RESEARCH', 'DALLAS');  
INSERT INTO dept VALUES (30, 'SALES', 'CHICAGO');  
INSERT INTO dept VALUES (40, 'OPERATIONS', 'BOSTON');  CREATE TABLE bonus  
(ename VARCHAR(10),  
job VARCHAR(9),  
sal DECIMAL,  
comm DECIMAL);  CREATE TABLE salgrade  
(grade DECIMAL,  
losal DECIMAL,  
hisal DECIMAL);  INSERT INTO salgrade VALUES (1, 700, 1200);  
INSERT INTO salgrade VALUES (2, 1201, 1400);  
INSERT INTO salgrade VALUES (3, 1401, 2000);  
INSERT INTO salgrade VALUES (4, 2001, 3000);  
INSERT INTO salgrade VALUES (5, 3001, 9999);  CREATE TABLE dummy  
(dummy DECIMAL);  INSERT INTO dummy VALUES (0);  

查詢案例(MySQL版本)

查詢1985年12月31日之前入職的員工姓名及入職日期。(注意日期的寫法)
SELECT ename,hiredate FROM employee WHERE hiredate < '1985-12-31'查詢部門編號不在10部門的員工姓名、部門編號。(這里的!=也可寫作<>)
SELECT ename,deptno FROM employee WHERE deptno!=10;查詢入職日期在82年至85年的員工姓名,入職日期.
SELECT ename,hiredate FROM employee WHERE hiredate BETWEEN '1982-1-01' AND '1985-12-31'查詢部門編號為10或者20的員工姓名,部門編號。
SELECT ename,deptno 
from employee 
WHERE deptno=10 OR deptno=20;查詢經理編號為7902 7566 7788的員工姓名,經理編號。#注意是圓括號
SELECT ENAme,mgr 
FROM employee 
WHERE mgr IN (7902,7566,7788)查詢員工姓名以W開頭的員工姓名。
SELECT ename 
from employee 
WHERE ename LIKE 'W%'查詢員工姓名倒數第2個字符為T的員工姓名。
SELECT ename 
FROM employee 
WHERE ename LIke '%T_'查詢獎金為空的員工姓名,獎金。
SELECT ename 
from employee 
WHERE comm IS NULL查詢部門在10或者20,并且工資在3000到5000之間的員工姓名、部門、工資。
#注意邏輯運算符的優先級not>and>or,其次根據中文中的邏輯詞來寫。
SELECT ename,deptno,sal 
from employee 
WHERE (3000<=sal and sal<=5000)and(deptno=10 or deptno=20)查詢入職日期在81年,并且職位不是SALES開頭的員工姓名、入職日期、職位。
#注意對于字符串的比較不能采用運算符如!=等,需要用Like關鍵字等
SELECT ename,hiredate,job 
from employee 
where (hiredate BETWEEN '1981-1-01' AND '1981-12-31')and (job not LIKE 'SALES%')查詢工資在2000-3000之間,部門不在10號的員工姓名,部門編號,工資,并按照部門升序 并按照部門升序,工資降序排序。
SELECT ename , deptno,sal 
from employee 
WHERE (sal BETWEEN 2000 and 3000) and (deptno!=10) 
ORDER BY deptno asc, sal DESC寫一個查詢,顯示所有員工姓名,部門編號,部門名稱。
#N張表至少要N-1個連接條件
SELECT ename,employee.deptno,dname 
from dept, employee 
where dept.deptno=employee.deptno;寫一個查詢,顯示所有工作在CHICAGO并且獎金不為空的員工姓名,工作地點,獎金
select ename,loc,comm
from employee,dept
WHERE employee.deptno=dept.deptno and ((loc='CHICAGO') and (comm is not NULL))查詢每個員工的姓名和直接上級姓名?
SELECT A.ename worker,B.ename boss
FROM employee A INNER JOIN employee B 
ON  A.mgr=B.employeeno查詢所有工作在NEW YORK和CHICAGO的員工姓名,員工編號,以及他們的經理姓名,經理編號。
#from什么join什么的,可以看做是一張表(其實就是一張復雜的表)。下面接著用正常的語法就可以了。
SELECT A.ename workName,A.employeeno workNum,B.ename bossName,B.employeeno BossNum,loc
from employee A 
JOIN employee B 
ON A.mgr=B.employeeno
JOIN dept C
on A.deptno=C.deptno
where loc IN ('NEW YORK','CHICAGO')查詢所有員工編號,姓名,部門名稱,包括沒有部門的員工也要顯示出來。
SELECT A.ename ,A.employeeno,B.dname 
FROM employee A 
LEFT JOIN dept B 
ON A.deptno=B.deptno;創建一個員工表和部門表的交叉連接。
SELECT count(*) 
from employee A 
CROSS JOIN dept B使用USING子句,顯示工作在CHICAGO的員工姓名,部門名稱,工作地點
#using可以作為一個連接條件使用(直接將兩張表的公有屬性聲明在using中)
SELECT ename,dname,loc 
from employee A 
join dept B 
USING (deptno) 
WHERE B.loc='CHICAGO'使用ON子句,顯示工作在CHICAGO的員工姓名,部門名稱,工作地點,薪資等級
SELECT ename,dname,loc,grade 
from employee A 
join dept B 
on A.deptno=B.deptno 
join salgrade C 
WHERE A.sal BETWEEN C.losal and C.hisal;使用左連接,查詢每個員工的姓名 查詢每個員工的姓名,經理姓名,沒有經理的King也要顯示出來。
SELECT A.ename worker,B.ename boss 
from employee A 
LEFT JOIN employee B 
on A.mgr=B.employeeno查詢每個部門的部門編號,部門名稱,部門人數,最高工資,最低工資,工資總和,平均工資。
#注意聲明你是以那張表的deptno作為分組的條件的(表不同,結果也不同)
SELECT employee.deptno,dname,count(DISTINCT employeeno),MAX(sal),MIN(sal),SUM(sal),AVG(sal) 
from employee,dept
GROUP BY employee.deptno查詢每個經理所管理的人數,經理編號,經理姓名,要求包括沒有經理的人員信息。
SELECT count(DISTINCT A.employeeno),B.ename,B.employeeno
from employee A 
LEFT JOIN employee B 
on A.mgr=B.employeeno 
GROUP BY A.mgr#不能在 WHERE子句中限制組,可以通過 HAVING 子句限制組(經典錯題)、
#原因:根據sql執行順序,先從where中得到限制條件,然后才執行goupBy語句,之后才執行having語句
如果再where中直接進行一個限制組的操作,那么后續的group將沒有任何意義(畢竟都是分區排序先分區再排序)
1 SELECT deptno, max(sal)
2 FROM emp
3 WHERE max(sal) > 2900
4 GROUP BY deptno;
*
ERROR at line 3:
ORA-00934: group function is not allowed here
*查詢部門人數大于2的部門編號,部門名稱,部門人數。
SELECT B.deptno,dname,COUNT(DISTINCT employeeno)
from dept A,employee B
where A.deptno=B.deptno
GROUP BY B.deptno
HAVING count(DISTINCT employeeno)>2查詢部門平均工資大于2000,且人數大于2的部門編號,部門名稱,部門人數,部門平均工資
,并按照部門人數升序排序。
SELECT B.deptno,dname,COUNT(DISTINCT employeeno),AVG(sal)
from dept A,employee B
where A.deptno=B.deptno
GROUP BY B.deptno
HAVING count(DISTINCT employeeno)>2 and AVG(sal)>2000
ORDER BY count(DISTINCT employeeno) ASC查詢工資比Jones工資高的員工信息?
SELECT * 
from employee 
WHERE sal >(SELECT sal 
from employee 
WHERE ename='Jones')查詢工資最低的員工姓名?
SELECT ename 
from employee 
WHERE sal in (SELECT min(sal) 
from employee)查詢入職日期最早的員工姓名,入職日期(分成兩步查詢,第一步查詢基本屬性,第二步查詢最早入職的日期。子查詢結果對應的行就是主查詢需要的數據)
SELECT ename, hiredate 
from employee 
where hiredate=
(SELECT min(hiredate) 
from employee)查詢工資比SMITH工資高并且工作地點在CHICAGO的員工姓名,工資,部門名稱
SELECT ename,sal,dname 
from employee A,dept B 
WHERE A.deptno=B.deptno 
and sal >(SELECT sal 
from employee 
WHERE ename='SMITH' )AND loc ='CHICAGO'查詢部門人數大于所有部門平均人數的的部門編號,部門名稱,部門人數(重點看,一定要注意表的連接條件)
SELECT A.deptno,dname,count(DISTINCT employeeno) 
from employee A,dept B
WHERE A.deptno=B.deptno
GROUP BY A.deptno
HAVING COUNT(employeeno) > 
(SELECT count(ename)/count(DISTINCT deptno) from employee)查詢入職日期比10部門任意一個員工晚的員工姓名、入職日期,不包括10部門員工
SELECT ename,hiredate,deptno 
from employee 
WHERE hiredate >ANY(SELECT hiredate 
from employee 
WHERE deptno=10 ) 
AND deptno!=10查詢入職日期比10部門所有員工晚的員工姓名、入職日期,不包括10部門員工
SELECT ename,hiredate,deptno 
from employee 
WHERE hiredate > all(SELECT hiredate 
from employee 
WHERE deptno=10 ) AND deptno!=10查詢職位及經理和10部門任意一個員工職位及經理相同的員工姓名,職位,不包括10部門員工
#注意可以多屬性匹配
SELECT  ename, job 
FROM employee 
WHERE (job ,mgr) in (SELECT job,mgr 
FROM employee 
WHERE deptno=10) AND deptno !=10向部門表新增一個部門,部門編號為50,部門名稱為HR,工作地點為SY。
INSERT INTO dept 
VALUES(50,'HR','SY')把員工編號為7782的部門編號修改為20 
UPDATE emp
SET deptno = 20
WHERE empno = 7782;刪除職位是CLERK的員工記錄
DELETE FROM emp
WHERE job = 'CLERK'; INSERT into manegers 
SELECT *  from  employee WHERE job ='MANAGER'

總結

SQL對于大數據來說非常重要,所以這項技能一定要精通。后續會再回顧下SQL,然后把一些重要的知識點總結出來。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456745.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456745.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456745.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Django中的核心思想ORM---元類實現ORM

1. ORM是什么 ORM 是 python編程語言后端web框架 Django的核心思想&#xff0c;“Object Relational Mapping”&#xff0c;即對象-關系映射&#xff0c;簡稱ORM。 一個句話理解就是&#xff1a;創建一個實例對象&#xff0c;用創建它的類名當做數據表名&#xff0c;用創建它…

移動互聯網廣告 - 第十更 - 廣告投放運營 DashBoard - 2016/12/10

廣告投放運營 DashBoard設計 移動互聯網互聯網廣告投放&#xff0c;數據監控DashBoard&#xff0c;基礎樣例示意&#xff0c;下圖僅供參考&#xff08;來自于互聯網&#xff09;。 轉載于:https://www.cnblogs.com/pythonMLer/p/6154700.html

微信小程序中使用emoji表情相關說明

2019獨角獸企業重金招聘Python工程師標準>>> 本帖將聚合一些跟emoji表情有關的知識&#xff1b;相關文章&#xff1a;“i愛記賬” 小程序后端開發小結 第7條經驗前端傳過來的昵稱和備注信息一定要經過嚴格的正則表達式過濾&#xff0c;放置出現XSS等攻擊&#xff0c…

java.lang.IllegalArgumentException: Does not contain a valid host:port authority: ignorethis

執行Hive語句運行MapReduce程序時突然出現這樣的異常&#xff1a; Total MapReduce jobs 1 Launching Job 1 out of 1 Number of reduce tasks not specified. Estimated from input data size: 1 In order to change the average load for a reducer (in bytes):set hive.ex…

Oracle基礎語句

1、創建表create table IT_EMPLOYEES(ENPLOYEES_ID NUMBER(6) NOT NULL UNIQUE,FIRST_NAME VARCHAR2(20),LAST_NAME VARCHAR2(25) NOT NULL,EMAIL VARCHAR2(25),PHONE_NUMBER VARCHAR2(20),JOB_ID VARCHAR2(10),SALARY NUMBER(8,2),MANAGER_ID NUMBER(6));2、--創建索引&#x…

Linux三劍客之grep 與 egrep

grep&#xff1a;Linux上文本處理三劍客1 grep&#xff1a;文本過濾(模式&#xff1a;pattern)工具; *&#xff08;grep, egrep, fgrep&#xff09; 2 sed&#xff1a;stream editor&#xff0c;文本編輯工具&#xff1b; 3 awk&#xff1a;Linux上的實現gawk&#xff0c;文本報…

WSGI直觀形象的了解一下

1. 瀏覽器請求動態頁面過程 2. WSGI 怎么在你剛建立的Web服務器上運行一個Django應用和Flask應用&#xff0c;如何不做任何改變而適應不同的web架構呢&#xff1f; 在以前&#xff0c;選擇 Python web 架構會受制于可用的web服務器&#xff0c;反之亦然。如果架構和服務器可以…

安裝Hbase(分布式)遇到一些問題及解決方法

問題一&#xff1a;安裝完成后在Hbase shell 命令行執行list命令時&#xff0c;爆出如下錯誤&#xff1a; hbase(main):001:0> list TABLE …

安裝MySql卡在Start Service的問題

我的情況&#xff1a;之前在windows下安裝過5.6版本&#xff0c;卸載后&#xff0c;現在安裝5.7版本&#xff0c;然后卡在Start Service這里&#xff0c;log日志沒報任何錯誤&#xff0c;后來經過不斷的嘗試各種網上的辦法終于把問題解決了。 問題的原因就是當初卸載5.6版本時…

學習進度條11

第十三周 日期 星期一 星期二 星期三 星期四 星期五 星期六 所花時間&#xff08;包括上課&#xff09; 19:10-22:20 (編程河北省科技信息通用調查系統) 8:00-10:00 (上課) 18:30-21:00 (Oracle實驗) 14:00-16:30 (編程河北省科技信息通用調查系統) 18:20-22:30 (編…

Python面向切面編程是什么

簡而言之就是裝飾器 https://blog.csdn.net/qq_41856814/article/details/90146293

hibernate實現多變聯合查詢

Hibernate主要支持兩種查詢方式&#xff1a;HQL查詢和Criteria查詢。前者應用較為廣發&#xff0c;后者也只是調用封裝好的接口。 現在有一個問題&#xff0c;就是實現多表連接查詢&#xff0c;且查詢結果集不與任何一個實體類對應&#xff0c;怎么解決呢&#xff1f; 舉個例子…

PyCharm光標變粗的解決辦法

pycharm中光標變粗&#xff0c;如下&#xff1a; 此時變成了改寫模式&#xff0c;只需要按下鍵盤的insert鍵即可 轉載于:https://www.cnblogs.com/uglyliu/p/6159839.html

SparkRDD常用算子實踐(附運行效果圖)

目錄1、簡單算子說明2、復雜算子說明 目錄 SparkRDD算子分為兩類&#xff1a;Transformation與Action. Transformation&#xff1a;即延遲加載數據&#xff0c;Transformation會記錄元數據信息&#xff0c;當計算任務觸發Action時&#xff0c;才會真正開始計算。 Action&am…

six庫是什么

Utilities for writing code that runs on Python 2 and 3”“” 它是一個專門用來兼容 Python 2 和 Python 3 的庫。它解決了諸如 urllib 的部分方法不兼容&#xff0c; str 和 bytes 類型不兼容等“知名”問題。

Kali-linux使用Nessus

Nessus號稱是世界上最流行的漏洞掃描程序&#xff0c;全世界有超過75000個組織在使用它。該工具提供完整的電腦漏洞掃描服務&#xff0c;并隨時更新其漏洞數據庫。Nessus不同于傳統的漏洞掃描軟件&#xff0c;Nessus可同時在本機或遠端上遙控&#xff0c;進行系統的漏洞分析掃描…

HDFS讀寫數據的原理

目錄1 概述2 HDFS寫數據流程3 HDFS讀數據流程 目錄 最近由于要準備面試&#xff0c;就把之前學過的東西好好整理下&#xff0c;權當是復習。 下面說下HDFS讀寫數據的原理。 1 概述 HDFS集群分為兩大角色&#xff1a;NameNode、DataNode NameNode負責管理整個文件系統的元數…

理解列存儲索引

版權聲明&#xff1a;原創作品&#xff0c;謝絕轉載&#xff01;否則將追究法律責任。 優點和使用場景 SQL Server 內存中列存儲索引通過使用基于列的數據存儲和基于列的查詢處理來存儲和管理數據。 列存儲索引適合于主要執行大容量加載和只讀查詢的數據倉庫工作負荷…

Django項目部署到阿里云服務器上無法發送郵件STMP

部署好項目之后發送郵件無法發送&#xff0c;多方查閱之后&#xff0c;解決問題。 阿里云服務器禁用了25端口&#xff0c;導致無法發送郵件。 25端口申請開放的難度很大&#xff0c;直接放棄。 解決&#xff1a; 在 django項目的 settings.py文件中x修改port端口 。

美國誠實簽經驗——IMG全球醫療險,TODO

那么&#xff0c;誠實簽最關鍵的4個要點 是什么呢&#xff1f; 第一&#xff0c;證明你有一定的經濟實力。 可能需要房產、存款等證明&#xff0c;也需要銀行信用卡或借記卡半年流水證明&#xff08;讓人信服的每月進帳和消費能力&#xff09;。 這些是為了證明&#xff0c;你可…