數(shù)據(jù)庫學(xué)習(xí)(一)

1.char(n): 固定長度的字符串,輸入字符串長度不足時(shí)自動在后面加空格。

2.varchar(n):可變長度的字符串,用戶指定最大輸入長度。不會自動在字符串后添加空格。

3.numeric(p,d):定點(diǎn)數(shù),精度有用戶指定。這個數(shù)有p為數(shù)字,其中d為數(shù)字在小數(shù)點(diǎn)后邊。整數(shù)位數(shù)+d <= p

4.real, double precision : 浮點(diǎn)數(shù)與雙精度浮點(diǎn)數(shù),精度與機(jī)器有關(guān)。

5.float(n):精度至少為n位的浮點(diǎn)數(shù)。

6.主鍵(primary key)屬性必須非空且唯一。

7.外鍵(foreign key)聲明表示關(guān)系中任意元組在屬性上的取值必須對應(yīng)于關(guān)系S中某元組在主鍵屬性上的取值。

8.將查詢的結(jié)果去重,使用關(guān)鍵字distinct,例如:select distinct name from user。

9.默認(rèn)查詢的結(jié)果是不去重的,顯示指定不去重,使用關(guān)鍵字all,例如:select all name from user。

10.select 子句還可以帶含有 - + * / 運(yùn)算符的算術(shù)表達(dá)式,例如:select name salary * 1.5 from user。查詢出的工資(salary)是原來的1.5倍。但是不會改變數(shù)據(jù)庫中的salary。并不導(dǎo)致對user關(guān)系的任何改變。

11.sql允許在where子句中使用邏輯連詞and,or 和 not。邏輯連詞的運(yùn)算對象可以是包含運(yùn)算符<, <=, >, >=, = 和 <> 的表達(dá)式。sql允許使用比較運(yùn)算符比較字符串,算數(shù)表達(dá)式,以及特殊類型,例如日期。

二,字符串運(yùn)算

1.串聯(lián):|| ,將字符串轉(zhuǎn)換為大寫:upper(String),將字符串轉(zhuǎn)換為小寫:lower(String),去掉字符串后面的空格:trim(String)

2.like

? ? 2.1. %:匹配任意字符串。'Intro%':匹配以Intro打頭的字符串。'%Intro%':匹配任何包含Intro的字符串。

? ? 2.2. _ (下劃線):匹配任意一個字符。'_ _ _':匹配只含三個字符的字符串。'_ _ _ %':匹配至少含三個字符的字符串。

? ? 2.3. 例子:找出所在建筑名稱中包含字串'JIM'的所有系名,select dept_name from department where building like '%JIM%';

3.在like運(yùn)算中使用escape關(guān)鍵字來定義轉(zhuǎn)義字符。例如: ?? like 'ab\%cd%' escape '\',轉(zhuǎn)義字符為'\', like語句的含意是匹配所有以ab%cd打頭的字符串。like 'ab\\cd%' escape'\',轉(zhuǎn)義字符為'\',like語句的含義是匹配所有以'ab\cd'打頭的字符串。

4.not like 比較運(yùn)算符搜尋不匹配項(xiàng)。

5.similar to 比like 更強(qiáng)大。他的模式定義語法類似于UNIX中的正則表達(dá)式。

三,排列元組的顯示次序

1.order by 子句讓查詢結(jié)果中元組按排列順序顯示。默認(rèn)使用升序。 ?? 要說明排序順序可以使用asc(升序),desc(降序)。例如 select * from tableA? order by salary desc, name asc。

2.SQL允許用記號(v1,v2,...vk)? 來表示一個分量值分別為v1,v2,..,vk的n維元組。在元組上可以使用比較運(yùn)算符,

按字典順序進(jìn)行比較運(yùn)算。例如:(a1,a2)<= (b1,b2)在a1 <= b1 且 a2 <= b2 時(shí)為真。 where 條件語句

?where instructor.ID = teachers.ID and dept_name = 'Biology' 可以換成

where (instructor.ID,dept_name)= (teachers.ID,'Biology')?

四,并,交,差運(yùn)算

1. 并運(yùn)算 union自動去重,需要保留重復(fù),使用union all。例如:找出在2009年或者在2010年開辦的課程。

(select courseName from section where year = 2009)union? (select courseName from section where year = 2010)?

2. 交運(yùn)算 intersect 自動去重,需要保留重復(fù),使用intersect all。例如:找出在2009年和2010年同時(shí)開辦的課程。

(select courseName from section where year = 2009)intersect(select courseName from section where year = 2010)?

3.差運(yùn)算 except自動去重,需要保留重復(fù),使用except all。例如:找出在2009年開辦但不在2010年開辦的課程。

(select courseName from section where year = 2009)except(select courseName from section where year = 2010)?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 回顧 數(shù)據(jù)庫基礎(chǔ)知識:關(guān)系型數(shù)據(jù)庫(磁盤)和非關(guān)系型數(shù)據(jù)庫(內(nèi)存) 關(guān)系型數(shù)據(jù)庫:建立在關(guān)系模型上的數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)...
    翊溪閱讀 637評論 0 1
  • 1.簡介 數(shù)據(jù)存儲有哪些方式?電子表格,紙質(zhì)文件,數(shù)據(jù)庫。 那么究竟什么是關(guān)系型數(shù)據(jù)庫? 目前對數(shù)據(jù)庫的分類主要是...
    喬震閱讀 2,033評論 0 2
  • 寫在前面:本篇博客大部分內(nèi)容參考數(shù)據(jù)庫系統(tǒng)概念(本科教學(xué)版)第三章 SQL的組成PS:其中DDL、DML、inte...
    SunnyQjm閱讀 676評論 0 2
  • 最近要考試,整理一波Oracle數(shù)據(jù)庫的課堂筆記。 1、數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理...
    Shaw_Chen閱讀 414評論 3 4
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,616評論 0 13

友情鏈接更多精彩內(nèi)容