日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL语句的整理

發(fā)布時(shí)間:2024/1/8 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL语句的整理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • SQL語句
    • 數(shù)據(jù)庫的操作
      • 創(chuàng)建數(shù)據(jù)庫
      • 使用數(shù)據(jù)庫
      • 修改數(shù)據(jù)庫
      • 刪除數(shù)據(jù)庫
    • 基本表的操作
      • 創(chuàng)建基本表
      • 修改基本表
      • 刪除基本表
    • 索引的操作
      • 創(chuàng)建索引
      • 修改索引
      • 刪除索引
    • 查詢操作
      • where字句中的條件
      • 函數(shù)
        • 文本處理函數(shù)
      • 數(shù)值處理型函數(shù)
      • 聚集函數(shù)
      • 聯(lián)結(jié)表
        • 內(nèi)聯(lián)結(jié)
        • 自身聯(lián)結(jié)
        • 外聯(lián)結(jié)
        • 多表聯(lián)結(jié)
      • 嵌套查詢
        • 不相關(guān)子查詢
        • 相關(guān)子查詢
        • any和all的子查詢
        • exists子查詢
      • 集合查詢
    • 數(shù)據(jù)更新操作
      • 插入數(shù)據(jù)
      • 修改數(shù)據(jù)
      • 刪除數(shù)據(jù)
    • 視圖的操作
      • 建立視圖
      • 刪除視圖
      • 查詢視圖
      • 更新視圖
    • 授權(quán)操作
      • 授予
      • 收回
      • 創(chuàng)建數(shù)據(jù)庫的權(quán)限
    • 用戶定義完整性
      • 屬性約束條件
      • 元組約束約束條件
      • 完整性約束命名句
      • 修改完整性約束

SQL語句

注:參考書目:

  • 數(shù)據(jù)庫系統(tǒng)概論 王珊編著
  • SQL必知必會(huì) [美]本·福達(dá)編著
  • 數(shù)據(jù)庫的操作

    創(chuàng)建數(shù)據(jù)庫

    create {database|schema} 數(shù)據(jù)庫名;

    使用數(shù)據(jù)庫

    use 數(shù)據(jù)庫名;

    修改數(shù)據(jù)庫

    alter {database|schema} [數(shù)據(jù)庫名];

    刪除數(shù)據(jù)庫

    drop database 數(shù)據(jù)庫名;

    基本表的操作

    基本表:一張基本表代表一個(gè)關(guān)系。

    創(chuàng)建基本表

    create table 表名 (列名 數(shù)據(jù)類型 [列級(jí)完整性約束],列名 數(shù)據(jù)類型 [列級(jí)完整性約束],···[表級(jí)完整性約束條件]);
    • 列級(jí)完整性約束寫在對應(yīng)列的后面,表級(jí)完整性約束寫在最后面。

    修改基本表

    alter table 表名 [add [column] 新列名 數(shù)據(jù)類型 [完整性約束條件]] [add 表級(jí)完整性約束] [drop [column]] 列名 [cascade|restrict] [drop constraint] 完整性約束 [cascade|restrict] [alter column 列名 數(shù)據(jù)類型]

    作用:

    • 添加新的列,新的完整性約束
    • 添加新的表級(jí)完整性約束
    • 刪除表中的列,cascade表示自動(dòng)刪除該列的其他對象,restrict表示如果有別人引用則拒絕刪除該列。
    • 刪除指定的完整性約束
    • 修改原有的列定義

    刪除基本表

    drop table 表名 [cascade|restrict];
    • restrict:級(jí)聯(lián):如果表下還有視圖,觸發(fā)器等,該表不能被刪除。
    • cascade:限制:刪除基本表的同時(shí),連視圖等一起被刪除

    索引的操作

    索引:索引就一種特殊的查詢表,數(shù)據(jù)庫的搜索引擎可以利用它提高檢索效率。

    創(chuàng)建索引

    create [unique] [cluster] index 索引名 on 表名(列名 [次序],)(列名 [次序]···);
    • 次序:asc:升序,desc:降序
    • unique:每個(gè)索引值只對應(yīng)一個(gè)數(shù)據(jù)記錄
    • cluster:建立的索引是聚簇索引

    修改索引

    alter index 舊索引 rename to 新索引名;

    刪除索引

    drop index 索引名;

    查詢操作

    select [all|distinct] 目標(biāo)列表達(dá)式 [別名],目標(biāo)列表達(dá)式 [別名]··· from 表名或者視圖,表名或者視圖··· [where 表達(dá)式] [group by 列名 [having 條件表達(dá)式]] [order by 列名 [asc|desc]]
    • 別名前面可以加as或者不加
    • 目標(biāo)列表達(dá)式可以是*,表示該表中全部列。
    • where子句從from中表或者視圖中找出滿足條件的元組
    • group by子句將查詢結(jié)果按某一列或者多列進(jìn)行分組
    • order by子句用來排序

    where字句中的條件

    查詢條件謂詞
    比較運(yùn)算符=,>,<,>=,<=,!!=,<>,!>,!<
    確定范圍between and,not between and
    確定集合in ,not in
    字符匹配like,not like(%代表任意長度,_代表單個(gè)字符)
    空值is null,is not null
    邏輯運(yùn)算符and,or,not
    • 字符匹配末尾有空格會(huì)影響查詢結(jié)果。

    一些用法的實(shí)現(xiàn):

    函數(shù)

    使用內(nèi)置函數(shù)用來處理數(shù)據(jù)

    文本處理函數(shù)

    函數(shù)說明
    length()返回字符串的長度
    lower()將字符串轉(zhuǎn)換為小寫
    upper()將字符串轉(zhuǎn)換為大寫
    ltrim()去掉字符串左邊的空格
    rtrim()去掉字符串右邊的空格
    soundex()返回發(fā)音相同的字符串

    數(shù)值處理型函數(shù)

    函數(shù)說明
    abs()返回?cái)?shù)值的絕對值
    cos()返回?cái)?shù)值的余弦值
    exp()返回?cái)?shù)值的指數(shù)值
    pi()返回圓周率的數(shù)值
    sin()返回?cái)?shù)值的正弦值
    sqrt()返回?cái)?shù)值的平方根
    tan()返回?cái)?shù)值的正切值

    聚集函數(shù)

    聚集函數(shù)說明
    count(*)統(tǒng)計(jì)元組個(gè)數(shù)
    count([distinct|all] 列名)統(tǒng)計(jì)一列中值的個(gè)數(shù)
    sum([distinct|all] 列名)計(jì)算一列值的總和
    avg([distinct|all] 列名)計(jì)算一列值的平均值
    max([dsitinct|all] 列名)計(jì)算一列值的最大值
    min([distinct|all] 列名)計(jì)算一列值的最小值
    • 聚集函數(shù)用于匯總數(shù)據(jù)
    • distinct用于取消同一列的相同值
    • 💥💥聚集函數(shù)只能用于select子句和group by的having子句

    聯(lián)結(jié)表

    內(nèi)聯(lián)結(jié)

    也就是等值連接

    selext student.*,sc.* from student,sc where student.sno=sc.sno;

    自身聯(lián)結(jié)

    也就是自己連接自己。

    外聯(lián)結(jié)

    將懸空數(shù)組仍保存在關(guān)系中。

    select student.sno,sno cno,grade from student left outer join sc on (student.sno=sc.sno);

    多表聯(lián)結(jié)

    多個(gè)表聯(lián)結(jié)在一起

    ···student.sno=sc.sno and sc.cno=course.cno;

    嵌套查詢

    不相關(guān)子查詢

    子查詢的查詢條件不依賴于父查詢。

    相關(guān)子查詢

    子查詢的查詢條件依賴于父查詢。

    select sno,cno from sc x where grade>=(selext avg(grade) from sc y where x.sno=y.sno);

    any和all的子查詢

    any是任意,all是全部,>any,<any,>all,<all這些都非常容易理解,這就不一一列舉了。

    exists子查詢

    這個(gè)非常難。

    它只返回邏輯值true和false,不返回任何數(shù)據(jù)。

    例:查詢至少選修了學(xué)生201215122選修的全部課程的學(xué)生號(hào)碼。

    select distinct sno from sc x where not exists(select *from sc ywhere y.sno='201215122' andnot exists(select *from sc zwhere z.sno=x.sno andz.cno=y.cno));

    集合查詢

    union(并操作),intersect(交操作)和except(差操作)。

    數(shù)據(jù)更新操作

    插入數(shù)據(jù)

    insert into 表名 [(屬性列···)] values (常量···)
    • into子句沒有列出屬性,values子句必須每個(gè)屬性列都有值(空值要寫null)

    修改數(shù)據(jù)

    update 表名 set 列名=表達(dá)式··· [where 條件]

    刪除數(shù)據(jù)

    delete from 表名 [where 條件]

    視圖的操作

    視圖:視圖是指計(jì)算機(jī)數(shù)據(jù)庫中的視圖,是一個(gè)虛擬表,其內(nèi)容由查詢定義。同真實(shí)的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫中以存儲(chǔ)的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來自由定義視圖的查詢所引用的表,并且在引用視圖時(shí)動(dòng)態(tài)生成。

    建立視圖

    create view 視圖名 [列名···] as 子查詢 [with check option];
    • with check option表示在對視圖進(jìn)行操作時(shí)要滿足視圖定義的謂詞條件(也就是子查詢中的where子句)

    刪除視圖

    drop view 視圖名 [cascade]

    查詢視圖

    視圖消解:從數(shù)據(jù)字典中取出視圖的定義,把定義中的子查詢和用戶的查詢結(jié)合起來,轉(zhuǎn)換成等價(jià)的對基本表的查詢,然后再執(zhí)行修正了的查詢。

    更新視圖

    視圖更新的規(guī)定:

  • 若視圖是由兩個(gè)以上基本表導(dǎo)出的,則此視圖不允許更新。
  • )若視圖的字段來自聚集函數(shù),則此視圖不允許更新。
  • 若視圖定義中含有GROUP BY子句,則此視圖不允許更新。
  • 若視圖定義中含有DISTINCT短語,則此視圖不允許更新。
  • 若視圖的字段來自字段表達(dá)式或常數(shù),則不允許對此視圖執(zhí)行insert和update操作,但允許執(zhí)行delete操作。
  • 授權(quán)操作

    自主存取控制:

    • 用戶對不同的數(shù)據(jù)對象有不同的存取權(quán)限。
    • 不同的用戶對同一對象也有不同的權(quán)限。
    • 用戶還可以將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶。

    授予

    grant 權(quán)限··· on 對象類型 對象名··· to 用戶··· [with grant option];
    • with grant option 表示獲得某種權(quán)限的對象也可以將此權(quán)限授予其他對象,但不允許循環(huán)授權(quán)。

    收回

    revoke 權(quán)限··· on 對象類型 對象名··· from 用戶 [cascade|restrict];

    創(chuàng)建數(shù)據(jù)庫的權(quán)限

    grant和revoke是對用戶授予和收回對數(shù)據(jù)的操作權(quán)限,對創(chuàng)建數(shù)據(jù)庫模式一類的數(shù)據(jù)庫對象的授權(quán)則由數(shù)據(jù)庫管理員在創(chuàng)建用戶時(shí)實(shí)現(xiàn)。

    create user uername [with][dba|resourse|connect];
    • dba:擁有dba權(quán)限的用戶是系統(tǒng)中的超級(jí)用戶,可以創(chuàng)建新的用戶創(chuàng)建模式創(chuàng)建基本表和視圖等。
    • resourse:擁有resource權(quán)限的用戶可以創(chuàng)建基本表和視圖,成為所創(chuàng)建對象的一種,但不能創(chuàng)建模式,不能創(chuàng)建新的用戶。
    • connect(默認(rèn)):擁有connect權(quán)限的用戶,不能創(chuàng)建新用戶,不能創(chuàng)建模式,也不能創(chuàng)建基本表,只能登錄數(shù)據(jù)庫。

    用戶定義完整性

    屬性約束條件

    • not null:列值非空
    • unique:列值唯一
    • check語句:檢查列值是否滿足一個(gè)條件表達(dá)式
    ssex char(2) check(ssex in('男','女'))

    元組約束約束條件

    check (sex='男' or sname not like 'Ms.%');
    • 寫在最后

    完整性約束命名句

    constraint 完整性約束條件名 完整性約束條件
    • 完整性約束條件命名,可以靈活的增加和刪除一個(gè)完整性約束。
    sname char(20) constraint c1 not null;

    修改完整性約束

    alter table 表名 [drop|add] constraint 完整性約束條件名 完整性約束條件

    總結(jié)

    以上是生活随笔為你收集整理的SQL语句的整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩爽爽视频 | 高清不卡av | 成人福利在线观看 | 日本黄网站色大片免费观看 | 中国zzji女人高潮免费 | 美女狂揉羞羞的视频 | 亚洲最大看欧美片网站 | 91亚洲国产成人精品一区二区三 | 久草视频2| 国产黄色免费在线观看 | 久草新视频| 久久精品一区二区三区四区 | 日本一区二区三区在线播放 | 亚洲国产第一区 | 亚洲一级精品 | 国产视频综合 | 欧美日韩亚洲系列 | 91碰在线视频 | 久久理伦| 疯狂揉花蒂控制高潮h | 欧美一区二区久久 | 国产盗摄一区二区三区 | 亚洲成a | 国产视频精品一区二区三区 | www国产视频 | 亚洲欧美日韩一区二区三区四区 | 久久久人 | 日韩第八页| 亚洲欧洲一区二区 | 999久久久免费精品国产 | xxxxx在线视频 | 中文字幕第七页 | 在线观看日韩视频 | 精品熟妇无码av免费久久 | 欧美日一区二区三区 | 亚洲欧美日韩一区在线观看 | 黄色片aa| 中文幕无线码中文字蜜桃 | 男男gay同性三级 | 亚洲国产看片 | 亚洲欧洲成人精品久久一码二码 | 福利社91| 久久密 | 91精品网 | 日本在线视频www色 国产在线视频网址 | 成人免费视频国产 | ass亚洲肉体欣赏pics | 日韩一级中文字幕 | 六月丁香av | 青青草手机在线视频 | 色就是色欧美 | 少妇献身老头系列 | 亚洲AV无码国产日韩久久 | 午夜精彩视频 | 国产一区二区三区四区三区四 | 国偷自拍第113页 | 亚洲第四页 | 五月婷婷视频在线观看 | www污污 | 羞羞网站在线看 | 久久久久久婷婷 | 国产精品19乱码一区二区三区 | 韩日av片 | 日韩一区二区在线免费观看 | 国产亚洲欧美精品久久久www | 北岛玲在线 | 日韩av不卡一区 | 波多野结衣50连登视频 | 欧美国产精品一区 | 日本a一级 | 亚洲精品动漫在线观看 | 国产乱子伦精品无码码专区 | 亚洲欧美国产一区二区 | 亚洲AV无码成人精品区东京热 | avtt久久 | 超碰激情在线 | 欧美日韩在线a | 欧美一区免费 | 中文久久精品 | 婷婷色在线视频 | 俄罗斯av片 | 日本黄色片. | 国产精品熟女视频 | 中文字字幕一区二区三区四区五区 | 114国产精品久久免费观看 | 农村妇女精品一区二区 | 扒开伸进免费视频 | 日韩在线不卡视频 | 日韩精品一 | 日本韩国免费观看 | 天天夜夜骑 | 激情文学8888| 中文字幕乱码一区二区三区 | 成人在线观看av | 国产福利一区二区三区视频 | 222aaa| 丰满的人妻hd高清日本 | 久久综合久久综合久久 | 精品国产鲁一鲁一区二区张丽 |