sql基礎語句大集合,sql語句大集合

來源:互聯網
上載者:User

sql基礎語句大集合,sql語句大集合

        每次都習慣於使用SQL Sever直接設計資料庫,而沒有把對SQL語句引起足夠的重視,借這次機房合作版重構的機會,使用SQL語句來一次資料庫設計,同時對SQL語句的基本用法做一下梳理。

【分類】

       SQL語句有9種,按照功能劃分類別可大體分為4種:

       1.查詢語句:select ----資料庫中最常用用的語句

       2.資料定義:create,drop,alter----針對資料庫和資料表以及表中的欄位進行的操作

       3.資料操縱:insert,update,delete----傳說中的“增刪改查”,針對具體的資料進行的操作

       4.資料控制:grant,revoke----許可權的定義和刪除

【語句匯總】       1.建立資料庫
create database RechargeSystemon primary    --主檔案組(/*資料檔案的具體描述*/name='RechargeSystem_data',  --主要資料檔案的邏輯名稱filename='G:\RechargeSystem\RechargeSystem_data.mdf',  --主要資料檔案的實體名稱size=5mb,       --初始大小maxsize=100mb,  --增長最大值filegrowth=15%   --主要資料檔案增長率)log on(/*記錄檔的具體描述*/name='RechargeSystem_log',filename='G:\RechargeSystem\RechargeSystem_log.ldf',size=2mb,filegrowth=1mb)
        學過作業系統的話對這些定義語句並不會非常陌生,資料庫組檔案也是一種檔案,需要有邏輯名稱(即檔案名稱)、實體名稱(在磁碟中真實儲存地址)、檔案大小等;記錄檔記錄著資料庫中所有的邏輯操作,優缺點等詳細內容見百度百科:記錄檔
             2.基本表操作--------------------------------------------------------------------------------------------------------------------------------------------       create table <基本表名>   ---建立表格               (<列名 類型 not null>,                 primary key(列名,列名),--主鍵約束                 foreign key (<列名>) references tableName(<列名>),--外鍵約束);--------------------------------------------------------------------------------------------------------------------------------------------      alter table <表名> add <列名><資料類型>  --添加列
      可以設定已經建立好的表的主外鍵:      alter table <表名> add primary key(<列名>,<列名>)      alter table<表名> add foreign key(<列名>) references tableName(<列名>)
      刪除某列:alter table<表名> drop <列名>[cascade|restrict] --restrict將列的視圖和約束也會扇區---------------------------------------------------------------------------------------------------------------------------------------------      drop table<表名>[cascade|restrict]   --刪除表格,有約束條件時必須要加上restict          3. 查詢語句:             常規的查詢語句為:select * from  datatable        需要注意的是從多張表裡查詢的嵌套和串連查詢,這種組合關係常用在M:N關係中尋找對應關係。                select TB1.column1,TB1.column2                from TB1                where TB1.column1 in(select column1                                                         from TB2                                                        where TB2.column2="特定值");        這種關係對於邏輯混亂的使用者來說不建議常用,特別容易造成尋找失敗。--------------------------------------------------------------------------------------------------------------------------------------------        此外,SQL查詢語句還提供了基本的彙總函式,便於查詢使用:        count(*) -----------------------計算元組的個數,即一共有多少列        count(<列名>)----------------一列中值的個數的計算        sum(<列名>)---------------------一列值的總和(數值型)        avg(<最大值>)---------------平均值(必須為數值型)        max(<列名>)-----------------最大值        min(<列名>)----------------------最小值       eg:select count(distinct s#)from T_student  ,加distinct以後,多個學號重複出現時只能按照一個計算---------------------------------------------------------------------------------------------------------------------------------------------       完整語義機構:          select <列名或運算式序列>          from<表名或視圖序列>                where <行運算式>          group by <列名>  -------------------------------根據某一欄位進行的分組              having<組條件運算式>  --------------------不符合組條件的資訊被濾除          order by <列名 [asc|desc]>  ------------------asc升序排列,desc降序排列----------------------------------------------------------------------------------------------------------------------------------------------       特殊查詢需求:       1.比較操作:<,<=,>,>=,!=       2.匹配操作:%---與零個或多個字元組成的字元匹配,"_"單個字元匹配       3.空值is Null       4.彙總資源比較:in、some、any、all       5.集合是否為非空:exitsts    ---非空為true,否則為false       6.集合是否存在重複元組:unique--------重複為true,否則false-----------------------------------------------------------------------------------------------------------------------------------------------4.資料動作陳述式           插入:insert into <表名>(<列名>,<列名>...)values('數值',‘數值’)       刪除:delete from <表名> where 條件       修改:update <表名> set 
5.嵌入式SQL使用技術,平時使用的執行視圖、預存程序等添加exec來執行【總結】       知識總是這樣,每一遍學習都會有不一樣的收穫,尤其是在使用過後就會去試著比較不同的方法有什麼樣的區別,期待接下來對資料庫檢視、預存程序以及安全性設定的比較學習。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.