數(shù)據(jù)庫增刪改查語句_第1頁
數(shù)據(jù)庫增刪改查語句_第2頁
數(shù)據(jù)庫增刪改查語句_第3頁
數(shù)據(jù)庫增刪改查語句_第4頁
數(shù)據(jù)庫增刪改查語句_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)庫增刪改查語句篇一:SQL語句增刪改查

一、刪:有2中方法

1.使用delete刪除數(shù)據(jù)某些數(shù)據(jù)

語法:deletefrom[where]

例:deletefromawherename='開心朋朋'〔刪除表a中列值為開心朋朋的行〕注意:刪除整行不是刪除單個(gè)字段,所以在delete后面不能出現(xiàn)字段名

2.使用truncatetable刪除整個(gè)表的數(shù)據(jù)

語法:truncatetable

例:truncatetabletongxunlu

注意:刪除表的所有行,但表的構(gòu)造、列、約束、索引等不會(huì)被刪除;不能用語有外建約束引用的表

二、改

使用update更新修改數(shù)據(jù)

語法:updateset[where]例:updatetongxunluset年齡=18where姓名='藍(lán)色小名'

注意:set后面可以緊隨多個(gè)數(shù)據(jù)列的更新值;where子句是可選的,用來限制條件,假設(shè)不選那么整個(gè)表的所有行都被更新

四、查

1.普通查詢

語法:selectfrom[where][orderby[asc或desc]]

1).查詢所有數(shù)據(jù)行和列

例:select*froma

說明:查詢a表中所有行和列

2).查詢局部行列--條件查詢

例:selecti,j,kfromawheref=5說明:查詢表a中f=5的所有行,并顯示i,j,k3列

3).在查詢中使用AS更改列名

例:selectnameas姓名fromawhrerxingbie='男'

說明:查詢a表中性別為男的所有行,顯示name列,并將name列改名為〔姓名〕顯示

4).查詢空行

例:selectnamefromawhereemailisnull

說明:查詢表a中email為空的所有行,并顯示name列;SQL語句中用isnull或者isnotnull來判斷是否為空行

5).在查詢中使用常量

例:selectname'唐山'as地址froma

說明:查詢表a,顯示name列,并添加地址列,其列值都為'唐山'

6).查詢返回限制行數(shù)(關(guān)鍵字:toppercent)

例1:selecttop6namefroma

說明:查詢表a,顯示列name的前6行,top為關(guān)鍵字

例2:selecttop60percentnamefroma

說明:查詢表a,顯示列name的60%,percent為關(guān)鍵字

7).查詢排序〔關(guān)鍵字:orderby,asc,desc〕

例:selectname

froma

wherechengji>=60

orderbydesc

說明:查詢表中chengji大于等于60的所有行,并按降序顯示name列;默認(rèn)為ASC升序

2.模糊查詢

1).使用like進(jìn)展模糊查詢

注意:like運(yùn)算副只用語字符串,所以僅與char和varchar數(shù)據(jù)類型結(jié)合使用例:select*fromawherenamelike'趙%'

說明:查詢顯示表a中,name字段第一個(gè)字為趙的記錄

2).使用between在某個(gè)范圍內(nèi)進(jìn)展查詢

例:select*fromawherenianlingbetween18and20

說明:查詢顯示表a中nianling在18到20之間的記錄

3).使用in在列舉值內(nèi)進(jìn)展查詢

例:selectnamefromawhereaddressin('北京','上海','唐山')

說明:查詢表a中address值為北京或者上海或者唐山的記錄,顯示name字段3.分組查詢

1).使用groupby進(jìn)展分組查詢

例:selectstudentIDas學(xué)員編號(hào),AVG(score)as平均成績(jī)(注釋:這里的score是列名)

fromscore(注釋:這里的score是表名)

groupbystudentID

說明:在表score中查詢,按strdentID字段分組,顯示strdentID字段和score字段的平均值;select語句中只允許被分組的列和為每個(gè)分組返回的一個(gè)值的表達(dá)試,例如用一個(gè)列名作為參數(shù)的聚合函數(shù)

2).使用having子句進(jìn)展分組挑選

例:selectstudentIDas學(xué)員編號(hào),AVG(score)as平均成績(jī)(注釋:這里的score是列名)

fromscore(注釋:這里的score是表名)

groupbystudentID

havingcount(score)>1

說明:接上面例子,顯示分組后count(score)>1的行,由于where只能在沒有分組時(shí)使用,分組后只能使用having來限制條件,

4.多表聯(lián)接查詢

1).內(nèi)聯(lián)接

①在where子句中指定聯(lián)接條件

例:,b.chengji

froma,b

=

說明:查詢表a和表b中name字段相等的記錄,并顯示表a中的name字段和表b中的chengji字段

②在from子句中使用join…on

例:,b.chengji

fromainnerjoinb

on(=)

說明:同上

2).外聯(lián)接

①左外聯(lián)接查詢

例:,c.courseID,c.score

fromstrdentsass

leftouterjoinscoreasc

ons.scode=c.strdentID

說明:在strdents表和score表中查詢滿足on條件的行,條件為score表的strdentID與strdents表中的sconde一樣

②右外聯(lián)接查詢

例:,c.courseID,c.score

fromstrdentsass

rightouterjoinscoreasc

ons.scode=c.strdentID

說明:在strdents表和score表中查詢滿足on條件的行,條件為strdents表中的sconde與score表的strdentID一樣

三、增:有4種方法

1.使用insert插入單行數(shù)據(jù):

語法:insert[into][列名]values

例:insertintoStrdents(姓名,性別,出生日期)values('開心朋朋','男','1980/6/15')

注意:into可以省略;列名列值用逗號(hào)分開;列值用單引號(hào)因上;假設(shè)省略表名,將依次插入所有列

2.使用insertselect語句將現(xiàn)有表中的數(shù)據(jù)添加到已有的新表中

語法:insertinto

selectfrom

例:insertintotongxunlu('姓名','地址','電子郵件')

selectname,address,email

fromStrdents

注意:into不可省略;查詢得到的數(shù)據(jù)個(gè)數(shù)、順序、數(shù)據(jù)類型等,必須與插入的項(xiàng)保持一致

3.使用selectinto語句將現(xiàn)有表中的數(shù)據(jù)添加到新建表中

語法:selectintofrom例:selectname,address,emailintotongxunlufromstrdents

注意:新表是在執(zhí)行查詢語句的時(shí)候創(chuàng)立的,不可以預(yù)先存在

在新表中插入標(biāo)識(shí)列〔關(guān)鍵字‘identity’〕:

語法:selectidentity(數(shù)據(jù)類型,標(biāo)識(shí)種子,標(biāo)識(shí)增長量)AS列名

into新表from原表名

例:selectidentity(int,1,1)as標(biāo)識(shí)列,dengluid,passwordintotongxunlufromStruents

注意:關(guān)鍵字‘identity’

4.使用union關(guān)鍵字合并數(shù)據(jù)進(jìn)展插入多行

語法:insertselecttnionselect

例:insertStudents(姓名,性別,出生日期)

select'開心朋朋','男','1980/6/15'union〔union表示下一行〕

select'藍(lán)色小明','男','19**/**/**'

注意:插入的列值必須和插入的列名個(gè)數(shù)、順序、數(shù)據(jù)類型一致

篇二:sql語句的增刪改查

SQL教程

NextPage

SQL是用于訪問和處理數(shù)據(jù)庫的標(biāo)準(zhǔn)的計(jì)算機(jī)語言。

在本教程中,您將學(xué)到如何使用SQL訪問和處理數(shù)據(jù)系統(tǒng)中的數(shù)據(jù),這類數(shù)據(jù)庫包括:Oracle,Sybase,SQLServer,DB2,Access等等。開始學(xué)習(xí)SQL!

注:本教程中出現(xiàn)的姓名、地址等信息僅供教學(xué),與實(shí)際情況無關(guān)。

SQL測(cè)驗(yàn)

在W3School測(cè)試你的SQL技能!開始SQL測(cè)驗(yàn)!

SQL簡(jiǎn)介

PreviousPageNextPage

SQL是用于訪問和處理數(shù)據(jù)庫的標(biāo)準(zhǔn)的計(jì)算機(jī)語言。

什么是SQL?

SQL指構(gòu)造化查詢語言SQL使我們有才能訪問數(shù)據(jù)庫SQL是一種ANSI的標(biāo)準(zhǔn)計(jì)算機(jī)語言

編者注:ANSI,美國國家標(biāo)準(zhǔn)化組織

SQL能做什么?

SQL面向數(shù)據(jù)庫執(zhí)行查詢SQL可從數(shù)據(jù)庫取回?cái)?shù)據(jù)SQL可在數(shù)據(jù)庫中插入新的紀(jì)錄SQL可更新數(shù)據(jù)庫中的數(shù)據(jù)SQL可從數(shù)據(jù)庫刪除記錄SQL可創(chuàng)立新數(shù)據(jù)庫SQL可在數(shù)據(jù)庫中創(chuàng)立新表SQL可在數(shù)據(jù)庫中創(chuàng)立存儲(chǔ)過程SQL可在數(shù)據(jù)庫中創(chuàng)立視圖

SQL可以設(shè)置表、存儲(chǔ)過程和視圖的權(quán)限

SQL是一種標(biāo)準(zhǔn)-但是...

SQL是一門ANSI的標(biāo)準(zhǔn)計(jì)算機(jī)語言,用來訪問和操作數(shù)據(jù)庫系統(tǒng)。SQL語句用于取回和更新數(shù)據(jù)庫中

的數(shù)據(jù)。SQL可與數(shù)據(jù)庫程序協(xié)同工作,比方MSAccess、DB2、Informix、MSSQLServer、Oracle、Sybase以及其他數(shù)據(jù)庫系統(tǒng)。

不幸地是,存在著很多不同版本的SQL語言,但是為了與ANSI標(biāo)準(zhǔn)相兼容,它們必須以相似的方式共同地來支持一些主要的關(guān)鍵詞〔比方SELECT、UPDATE、DELETE、INSERT、WHERE等等〕。注釋:除了SQL標(biāo)準(zhǔn)之外,大局部SQL數(shù)據(jù)庫程序都擁有它們自己的私有擴(kuò)展!

在您的網(wǎng)站中使用SQL

要?jiǎng)?chuàng)立發(fā)布數(shù)據(jù)庫中數(shù)據(jù)的網(wǎng)站,您需要以下要素:

RDBMS數(shù)據(jù)庫程序〔比方MSAccess,SQLServer,MySQL〕效勞器端腳本語言〔比方PHP或ASP〕SQLHTML/CSS

RDBMS

RDBMS指的是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。

RDBMS是SQL的根底,同樣也是所有現(xiàn)代數(shù)據(jù)庫系統(tǒng)的根底,比方MSSQLServer,IBMDB2,Oracle,MySQL以及MicrosoftAccess。

RDBMS中的數(shù)據(jù)存儲(chǔ)在被稱為表〔tables〕的數(shù)據(jù)庫對(duì)象中。表是相關(guān)的數(shù)據(jù)項(xiàng)的集合,它由列和行組成。

SQL語法

PreviousPageNextPage

數(shù)據(jù)庫表

一個(gè)數(shù)據(jù)庫通常包含一個(gè)或多個(gè)表。每個(gè)表由一個(gè)名字標(biāo)識(shí)〔例如“客戶〞或者“訂單〞〕。表包含帶有數(shù)據(jù)的記錄〔行〕。

下面的例子是一個(gè)名為"Persons"的表:Id123

LastNameAdamsBushCarter

FirstNameJohnGeorgeThomas

AddressOxfordStreetFifthAvenueChanganStreet

CityLondonNewYorkBeijing

上面的表包含三條記錄〔每一條對(duì)應(yīng)一個(gè)人〕和五個(gè)列〔Id、姓、名、地址和城市〕。

SQL語句

您需要在數(shù)據(jù)庫上執(zhí)行的大局部工作都由SQL語句完成。

下面的語句從表中選取LastName列的數(shù)據(jù):SELECTLastNameFROMPersons

結(jié)果集類似這樣:LastNameAdamsBushCarter

在本教程中,我們將為您講解各種不同的SQL語句。

重要事項(xiàng)

一定要記住,SQL對(duì)大小寫不敏感!

SQL語句后面的分號(hào)?

某些數(shù)據(jù)庫系統(tǒng)要求在每條SQL命令的末端使用分號(hào)。在我們的教程中不使用分號(hào)。

分號(hào)是在數(shù)據(jù)庫系統(tǒng)中分隔每條SQL語句的標(biāo)準(zhǔn)方法,這樣就可以在對(duì)效勞器的一樣懇求中執(zhí)行一條以上的語句。

假設(shè)您使用的是MSAccess和SQLServer2000,那么不必在每條SQL語句之后使用分號(hào),不過某些數(shù)據(jù)庫軟件要求必須使用分號(hào)。

SQLDML和DDL

可以把SQL分為兩個(gè)局部:數(shù)據(jù)操作語言(DML)和數(shù)據(jù)定義語言(DDL)。

SQL(構(gòu)造化查詢語言)是用于執(zhí)行查詢的語法。但是SQL語言也包含用于更新、插入和刪除記錄的語法。查詢和更新指令構(gòu)成了SQL的DML局部:

SELECT-從數(shù)據(jù)庫表中獲取數(shù)據(jù)UPDATE-更新數(shù)據(jù)庫表中的數(shù)據(jù)DELETE-從數(shù)據(jù)庫表中刪除數(shù)據(jù)INSERTINTO-向數(shù)據(jù)庫表中插入數(shù)據(jù)

SQL的數(shù)據(jù)定義語言(DDL)局部使我們有才能創(chuàng)立或刪除表格。我們也可以定義索引〔鍵〕,規(guī)定表之間的鏈接,以及施加表間的約束。SQL中最重要的DDL語句:

CREATEDATABASE-創(chuàng)立新數(shù)據(jù)庫ALTERDATABASE-修改數(shù)據(jù)庫CREATETABLE-創(chuàng)立新表

ALTERTABLE-變更〔改變〕數(shù)據(jù)庫表DROPTABLE-刪除表

CREATEINDEX-創(chuàng)立索引〔搜索鍵〕DROPINDEX-刪除索引

SQLSELECT語句

PreviousPageNextPage

本章講解SELECT和SELECT*語句。

SQLSELECT語句

SELECT語句用于從表中選取數(shù)據(jù)。結(jié)果被存儲(chǔ)在一個(gè)結(jié)果表中〔稱為結(jié)果集〕。SQLSELECT語法

SELECT列名稱FROM表名稱以及:

SELECT*FROM表名稱

注釋:SQL語句對(duì)大小寫不敏感。SELECT等效于select。

SQLSELECT實(shí)例

如需獲取名為"LastName"和"FirstName"的列的內(nèi)容〔從名為"Persons"的數(shù)據(jù)庫表〕,請(qǐng)使用類似這樣的SELECT語句:

SELECTLastName,FirstNameFROMPersons

"Persons"表:Id123

LastNameAdamsBushCarter

FirstNameJohnGeorgeThomas

AddressOxfordStreetFifthAvenueChanganStreet

CityLondonNewYorkBeijing

結(jié)果:LastNameAdamsBush

FirstNameJohnGeorge

CarterThomas

SQLSELECT*實(shí)例

如今我們希望從"Persons"表中選取所有的列。請(qǐng)使用符號(hào)*取代列的名稱,就像這樣:SELEC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論