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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

数据库

第8章 SQL语言(一)

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

1、SQL(Structured Query Language),結(jié)構(gòu)化查詢(xún)語(yǔ)言,1974年Boyce和Chhamberlin提出,是一種通用的、功能強(qiáng)大的關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言

2、SQL包含數(shù)據(jù)查詢(xún)、數(shù)據(jù)操縱、數(shù)據(jù)定義、數(shù)據(jù)控制功能

3、基本表:實(shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中的表(真實(shí)的表)

4、視圖:由若干個(gè)基本表或其他視圖導(dǎo)出的表,是一個(gè)虛表(虛表)

數(shù)據(jù)庫(kù)語(yǔ)言概述

1、任何一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)都應(yīng)向用戶(hù)提供一種數(shù)據(jù)庫(kù)語(yǔ)言,包含數(shù)據(jù)定義語(yǔ)言和數(shù)據(jù)操縱語(yǔ)言(不同的數(shù)據(jù)庫(kù)有自己的數(shù)據(jù)庫(kù)語(yǔ)言,例如:mysql數(shù)據(jù)庫(kù)的SQL語(yǔ)言,oracle數(shù)據(jù)庫(kù)的SQL語(yǔ)言,大部分是相同的,但是部分地方存在“方言”差異,標(biāo)注SQL也就是保證了大部分語(yǔ)法的相似)

2、SQL語(yǔ)言是集數(shù)據(jù)定義和數(shù)據(jù)操縱為一體的典型數(shù)據(jù)庫(kù)語(yǔ)言

3、數(shù)據(jù)定義語(yǔ)言(Data Definition Language,DDL),用來(lái)定義數(shù)據(jù)庫(kù)模式。包含數(shù)據(jù)庫(kù)模式定義數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)存取方法定義數(shù)據(jù)庫(kù)模式的修改和刪除功能

4、數(shù)據(jù)操縱語(yǔ)言(Data Manipulation Language,DML),用來(lái)表示用戶(hù)對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,主要包含增刪改查(也是開(kāi)發(fā)人員最常使用到的),其中,最核心的就是數(shù)據(jù)的查詢(xún)

5、SQL特點(diǎn)

  • 綜合統(tǒng)一
  • 高度非過(guò)程化:進(jìn)行數(shù)據(jù)操作時(shí),只需要說(shuō)做什么,無(wú)需指出怎么做
  • 面向集合的操作方式
  • 兩種使用方式:用于在終端輸入sql命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作(也稱(chēng)為自含式語(yǔ)言),將sql語(yǔ)言嵌入到高級(jí)語(yǔ)言程序中(嵌入式語(yǔ)言)
  • 語(yǔ)言簡(jiǎn)潔,易學(xué)易用,核心動(dòng)詞9個(gè),包含如下4類(lèi):

(1)數(shù)據(jù)查詢(xún):select,用于查詢(xún)數(shù)據(jù),使用最多的一個(gè)動(dòng)詞(查詢(xún))

(2)數(shù)據(jù)定義:create、drop、alter,用于創(chuàng)建新表、刪除表、修改表(表結(jié)構(gòu))

(3)數(shù)據(jù)操縱:insert、update、delete,用于數(shù)據(jù)的插入、修改和刪除(對(duì)表中的數(shù)據(jù))

(4)數(shù)據(jù)控制:grant、revoke,用于數(shù)據(jù)庫(kù)對(duì)象訪問(wèn)的權(quán)限授權(quán)和收回授權(quán)(賦予權(quán)限和收回權(quán)限)

6、SQL支持三級(jí)模式結(jié)構(gòu):外模式(視圖)模式(基本表)內(nèi)模式(存儲(chǔ)文件)

7、SQL的基本組成

  • 數(shù)據(jù)定義語(yǔ)言:提供定義關(guān)系模式和視圖、刪除關(guān)系和視圖、修改關(guān)系模式的命令
  • 交互式數(shù)據(jù)操縱語(yǔ)言:增刪改查的命令
  • 事務(wù)控制:事務(wù)開(kāi)始和結(jié)束的命令
  • 嵌入式sql和動(dòng)態(tài)sql:高級(jí)語(yǔ)言中混合sql命令
  • 完整性:數(shù)據(jù)滿(mǎn)足完整性約束條件,不滿(mǎn)足條件則無(wú)法執(zhí)行
  • 權(quán)限管理:數(shù)據(jù)定義中包含對(duì)關(guān)系和視圖的訪問(wèn)權(quán)限

8、SQL支持的內(nèi)部域類(lèi)型(SQL數(shù)據(jù)類(lèi)型

SQL數(shù)據(jù)類(lèi)型
類(lèi)型說(shuō)明
char(n)固定長(zhǎng)度字符串,表示n個(gè)字符的固定長(zhǎng)度字符串
varchar(n)可變長(zhǎng)度字符串,表示最多可以有n個(gè)字符的字符串
int整型,也可以用integer
smallint短整型
numerical(p,d)定點(diǎn)數(shù)p為整數(shù)位,d為小數(shù)位
real浮點(diǎn)型
double雙精度浮點(diǎn)型
float(n)n為浮點(diǎn)型
boolean布爾型
date日期型
time時(shí)間型

9、創(chuàng)建表(create table)

語(yǔ)法格式:create table 表名(列名1 數(shù)據(jù)類(lèi)型 列級(jí)完整性約束條件,列名2?數(shù)據(jù)類(lèi)型 列級(jí)完整性約束條件,...,表級(jí)完整性約束條件)

列級(jí)完整性約束條件主要有:非空、取值唯一等。表約束主要有外鍵等

【題外話:感覺(jué)mysql做得挺好,依據(jù)help create,看著給出的提示都能寫(xiě)出SQL代碼,還無(wú)需記憶太多,但關(guān)鍵動(dòng)詞還是要自己能記憶】

例題:建立一個(gè)供應(yīng)商、零件數(shù)據(jù)庫(kù)。其中關(guān)系供應(yīng)商S(Sno,Sname,Status, City)屬性名分別表示供應(yīng)商代碼、供應(yīng)商名、供應(yīng)商狀態(tài)和供應(yīng)商所在城市;關(guān)系零件P(Pno,Pname, Color,Weight,City)屬性名分別表示零件號(hào)、零件名、顏色、重量及產(chǎn)地。該數(shù)據(jù)庫(kù)要滿(mǎn)足如下:
(1)供應(yīng)商代碼不能為空,且值是唯一的,供應(yīng)商的名也是唯一的。

(2)零件號(hào)不能為空,且值是唯一的;零件名不能為空。
(3)一個(gè)供應(yīng)商可以供應(yīng)多個(gè)零件,而一個(gè)零件可以由多個(gè)供應(yīng)商供應(yīng)。

分析:

1、首先,根據(jù)題意,存在兩個(gè)基本表,分別是供應(yīng)商表和零件表,表名和列名都給出了,建表的時(shí)候需要注意一下約束條件即可,這兩個(gè)表的創(chuàng)建基本沒(méi)有什么問(wèn)題

2、根據(jù)(3),說(shuō)明供應(yīng)商和零件之間是多對(duì)多的關(guān)系,那么應(yīng)該建立一個(gè)聯(lián)系表,表名為SP,使用基本表的名字來(lái)構(gòu)成聯(lián)系表,應(yīng)該沒(méi)有什么問(wèn)題,哪個(gè)供應(yīng)商供應(yīng)哪一個(gè)型號(hào)的零件,故需要Sno和Pno來(lái)構(gòu)成聯(lián)系表的主碼,且分別又是基本表中的,所以還要設(shè)置外碼約束,這點(diǎn)應(yīng)該也沒(méi)有什么問(wèn)題,最難的是:聯(lián)系表中還有其他的屬性,供應(yīng)商在哪些城市進(jìn)行零件生產(chǎn),這是零件的產(chǎn)地,也應(yīng)該算一個(gè)屬性;其次是供應(yīng)商狀態(tài),對(duì)該種零件的供應(yīng)狀況。

經(jīng)過(guò)分析,創(chuàng)建表的時(shí)候需要注意單詞不要寫(xiě)錯(cuò),如:foreign primary references unique create這幾個(gè)看起來(lái)比較長(zhǎng)的單詞,還有就是經(jīng)常使用電腦,自己手寫(xiě)的時(shí)候容易寫(xiě)錯(cuò),要多練習(xí)練習(xí)。

總結(jié)

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

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