1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        數(shù)據(jù)分析——SQL基礎(chǔ)知識(shí)概要介紹

        共 3489字,需瀏覽 7分鐘

         ·

        2021-03-23 23:34

         SQL作為面向數(shù)據(jù)庫(kù)的通用數(shù)據(jù)處理語(yǔ)言規(guī)范,是數(shù)據(jù)分析、數(shù)據(jù)開發(fā)必備語(yǔ)言之一。

        不必說數(shù)據(jù)分析師和數(shù)據(jù)開發(fā)了,很多大廠已經(jīng)開始推行全員數(shù)據(jù)SQL能力了。但這里的SQL和真正意義的SQL,是有很大區(qū)別的,即SQL≠select。


        01
        什么是SQL(SQL≠select)

        首先,什么是SQL?

        SQL是一種面向數(shù)據(jù)庫(kù)的通用數(shù)據(jù)處理語(yǔ)言規(guī)范,說白了,就是一種代碼語(yǔ)言,主要是對(duì)結(jié)構(gòu)化數(shù)據(jù)庫(kù)進(jìn)行操作的語(yǔ)音。

        SQL的主要數(shù)據(jù)類型有:

        • CHAR():定長(zhǎng)字符串  最大長(zhǎng)度為 254

        • VARCHAR():變長(zhǎng)字符  最大長(zhǎng)度為 4000 

        • SMALLINT:短整型數(shù)字  長(zhǎng)度為 2 字節(jié)

        • INTEGER:整型數(shù)字  長(zhǎng)度為 4 字節(jié)

        • REAL:?jiǎn)尉雀↑c(diǎn)  32 位近似值

        • DOUBLE:雙精度浮點(diǎn)  64 位近似值

        • DECIMAL(m,n):數(shù)字  精度為m小數(shù)位為n

        • DATE:日期時(shí)間

        • TIME:日期時(shí)間

        • TIMESTAMP:日期時(shí)間


        它主要能完成以下幾類功能。

        (1)數(shù)據(jù)定義(DDL)

        數(shù)據(jù)定義的含義,就是對(duì)數(shù)據(jù)表的表結(jié)構(gòu)等進(jìn)行定義。

        主要包括的語(yǔ)句有:CREATE,ALTER,DROP,DECLARE

        (2)數(shù)據(jù)操縱(DML)

        數(shù)據(jù)操縱的含義,就是對(duì)基本表和視圖的數(shù)據(jù)插入、刪除和修改。這里最最最重要的,就是具有很強(qiáng)的數(shù)據(jù)查詢功能,查詢功能是SQL里最常用的功能了。

        主要包括的語(yǔ)句有:SELECT,DELETE,UPDATE,INSERT。其中SELECT就是查詢。

        (3)數(shù)據(jù)控制(DCL)

        數(shù)據(jù)控制的含義,主要是對(duì)用戶的訪問權(quán)限加以控制,以保證系統(tǒng)的安全性。

        主要包括的語(yǔ)句有:GRANT,REVOKE,COMMIT,ROLLBACK

        看到了吧,其實(shí)SQL語(yǔ)言包括的內(nèi)容是很多的。大家常常說的用的select其實(shí)只是SQL中的一個(gè)查詢語(yǔ)句而已,但這個(gè)語(yǔ)句,確是SQL中最最重要的語(yǔ)句。尤其是作為數(shù)據(jù)分析師或者業(yè)務(wù),在絕大部分場(chǎng)景下都是取數(shù)需求,所謂的取數(shù)需求,就是對(duì)數(shù)據(jù)進(jìn)行查詢而已,因此用的都是select語(yǔ)句。

        至于其他語(yǔ)句,絕大部分時(shí)間是用不太到的。畢竟分析師不需要對(duì)數(shù)據(jù)進(jìn)行維護(hù)。但作為數(shù)據(jù)開發(fā),需要。


        02

        SQL語(yǔ)句介紹:數(shù)據(jù)定義DDL

        DDL—數(shù)據(jù)庫(kù)定義語(yǔ)言:直接提交的。

        • CREATE:用于創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象

        • DECLARE:除了是創(chuàng)建只在過程中使用的臨時(shí)表外,DECLARE語(yǔ)句和CREATE語(yǔ)句非常相似。唯一可以被聲明的對(duì)象是表。并且必須放入用戶臨時(shí)表空間

        • DROP:可以刪除任何用CREATE(數(shù)據(jù)庫(kù)對(duì)象)和DECLARE(表)創(chuàng)建的對(duì)象

        • ALTER:允許修改某些數(shù)據(jù)庫(kù)對(duì)象的信息。不能修改索引


        下面主要基于對(duì)象介紹基本的語(yǔ)法:

        (1)數(shù)據(jù)庫(kù)

        創(chuàng)建數(shù)據(jù)庫(kù):
        CREATE DATABASE database-name [USING CODESET codeset TERRITORY territory]

        刪除數(shù)據(jù)庫(kù):
        drop database dbname

        (2)表

        創(chuàng)建新表:
        create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

        根據(jù)已有的表創(chuàng)建新表:
        create table tab_new like tab_old;create table tab_new as select col1,col2… from tab_old definition only

        修改表:增加一個(gè)列:
        Alter table tabname add column col type
        注:列增加后將不能刪除。DB2中列加上后數(shù)據(jù)類型也不能改變,唯一能改變的是增加varchar類型的長(zhǎng)度。

        添加主鍵:
        Alter table tabname add primary key(col)
        刪除主鍵:
        Alter table tabname drop primary key(col)
        刪除表:
        drop table tabname

        (3)表空間

        創(chuàng)建表空間:
        create tablespace tbsname pagesize 4k managed by database using (filefilesize)

        表空間加入容器:
        alter tablespace tablespace_name add(file 'filename' size)
        注:該操作是不可逆的,加入容器后將不能將其刪除,因此在加入的時(shí)候注意。

        刪除表空間:
        drop tablespace tbsname

        (4)索引

        創(chuàng)建索引:
        create [unique] index idxname on tabname(col….)
        刪除索引:
        drop index idxname
        注:索引是不可更改的,想更改必須刪除重新建。

        (5)視圖

        創(chuàng)建視圖:
        create view viewname as select statement
        刪除視圖:
        drop view viewname
        注:視圖唯一能修改的是引用類型列,改變列的范圍。其他定義好了都不能修改。當(dāng)視圖基于的基表drop后,視圖變?yōu)闊o效。


        03

        SQL語(yǔ)句介紹:數(shù)據(jù)操縱DML

        DML—數(shù)據(jù)庫(kù)操縱語(yǔ)言,它不隱式地提交當(dāng)前事務(wù) ,是否提交視環(huán)境設(shè)定而定。

        (1)SELECT:從表中查詢符合數(shù)據(jù)

        關(guān)于select的具體語(yǔ)句,由于內(nèi)容豐富,將在后面逐一展開,這里不詳細(xì)闡述。

        select時(shí),注意索引謂詞和非索引謂詞,盡量在有索引的列上使用索引謂詞。謂詞類型可索引注釋

        (2)DELETE:刪除已有表的數(shù)據(jù)

        從表中刪除記錄語(yǔ)法格式:
        DELETE FROM tablename WHERE (conditions)

        (3)UPDATE:更新已有表的數(shù)據(jù)


        語(yǔ)法格式:
        UPDATE tabname SET (col1=values1,col2=values2,…) WHERE (conditions);
        注:update的速度比較慢,要在相應(yīng)列上建立索引。

        (4)INSERT:向已有表中插入數(shù)據(jù)

        向表中插入記錄語(yǔ)法格式:
        INSERT INTO tablename (col1,col2,…) VALUES (value1,value2,…);INSERT INTO tablename (col1,col2,…) VALUES (value1, value2,…), (value1, value2,…),……
        Insert不會(huì)等待任何程序,不會(huì)導(dǎo)致鎖定。


        04

        SQL語(yǔ)句介紹:數(shù)據(jù)控制DCL

        DCL—數(shù)據(jù)控制語(yǔ)言,主要包括以下語(yǔ)句:

        (1)GRANT—授予用戶權(quán)限

        所有者或者管理員把訪問權(quán)限賦給其他用戶,語(yǔ)法格式:
        grant [all privileges|privileges,….] on tabname | viewname to [public|user,….]

        (2)REVOKE—撤消用戶權(quán)限

        取消某一用戶的某中訪問權(quán)限,語(yǔ)法格式:
        Revoke [all privileges|privileges,….] on tabname | viewname from [public|user,….]
        注:不能取消實(shí)例級(jí)別的用戶的任何權(quán)限,他們不是通過grant授權(quán)的,是通過組實(shí)現(xiàn)的權(quán)限。

        (3)COMMIT—提交事務(wù),可以使數(shù)據(jù)庫(kù)的修改永久化 

        COMMIT:把事務(wù)中所做的修改永久化記錄到數(shù)據(jù)庫(kù)。語(yǔ)法格式:
        commit [work]

        (4)ROLLBACK—回滾事務(wù),消除上一個(gè)COMMIT命令后的所做的全部修改,使得數(shù)據(jù)庫(kù)的內(nèi)容恢復(fù)到上一個(gè)COMMIT執(zhí)行后的狀態(tài).。

        ROLLBACK:將上次提交以來所做的更改全部撤消。
        語(yǔ)法格式:
        Rollback [work]
        您可能喜歡的文章

        面試篇:如何判斷一個(gè)人是否適合做數(shù)據(jù)分析?
        5種常見又好用的數(shù)據(jù)分析模型
        收藏!一文掌握數(shù)據(jù)分析知識(shí)體系


         點(diǎn)【點(diǎn)贊】【在看】為SQL加油↓↓ 

        瀏覽 27
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            乱伦 的搜索结果 - 91n | 国产一级AAA | 免费无码精品久久久嫩青 | 香蕉视频91 | 夜色jjj.av | 亚洲无码自拍偷拍 | 亚洲综合成人视频 | 99国产精品人妻人伦 | 青涩乱伦小说 | 五月天婷婷无码 |