SQL语法(整理自w3school)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SQLSELECT语法SELECT列名称FROM表名称以及:SELECT*FROM表名称SQLSELECT实例如需获取名为LastName和FirstName的列的内容(从名为Persons的数据库表),请使用类似这样的SELECT语句:SELECTLastName,FirstNameFROMPersonsPersons表:IdLastNameFirstNameAddressCity1AdamsJohnOxfordStreetLondon2BushGeorgeFifthAvenueNewYork3CarterThomasChanganStreetBeijing结果:LastNameFirstNameAdamsJohnBushGeorgeCarterThomasSQLSELECT*实例现在我们希望从Persons表中选取所有的列。请使用符号*取代列的名称,就像这样:SELECT*FROMPersons如需从Company列中仅选取唯一不同的值,我们需要使用SELECTDISTINCT语句:SELECTDISTINCTCompanyFROMOrders现在,在结果集中,W3School仅被列出了一次。WHERE子句如需有条件地从表中选取数据,可将WHERE子句添加到SELECT语句。语法SELECT列名称FROM表名称WHERE列运算符值使用WHERE子句如果只希望选取居住在城市Beijing中的人,我们需要向SELECT语句添加WHERE子句:SELECT*FROMPersonsWHERECity='Beijing'Persons表LastNameFirstNameAddressCityYearAdamsJohnOxfordStreetLondon1970BushGeorgeFifthAvenueNewYork1975CarterThomasChanganStreetBeijing1980GatesBillXuanwumen10Beijing1985结果:LastNameFirstNameAddressCityYearCarterThomasChanganStreetBeijing1980GatesBillXuanwumen10Beijing1985引号的使用请注意,我们在例子中的条件值周围使用的是单引号。SQL使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。文本值:这是正确的:SELECT*FROMPersonsWHEREFirstName='Bush'这是错误的:SELECT*FROMPersonsWHEREFirstName=Bush数值:这是正确的:SELECT*FROMPersonsWHEREYear1965这是错误的:SELECT*FROMPersonsWHEREYear'1965'AND和OR运算符AND和OR可在WHERE子语句中把两个或多个条件结合起来。如果第一个条件和第二个条件都成立,则AND运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则OR运算符显示一条记录。原始的表(用在例子中的):LastNameFirstNameAddressCityAdamsJohnOxfordStreetLondonBushGeorgeFifthAvenueNewYorkCarterThomasChanganStreetBeijingCarterWilliamXuanwumen10BeijingAND运算符实例使用AND来显示所有姓为Carter并且名为Thomas的人:SELECT*FROMPersonsWHEREFirstName='Thomas'ANDLastName='Carter'OR运算符实例使用OR来显示所有姓为Carter或者名为Thomas的人:SELECT*FROMPersonsWHEREfirstname='Thomas'ORlastname='Carter'结合AND和OR运算符我们也可以把AND和OR结合起来(使用圆括号来组成复杂的表达式):SELECT*FROMPersonsWHERE(FirstName='Thomas'ORFirstName='William')ANDLastName='Carter'结果:LastNameFirstNameAddressCityCarterThomasChanganStreetBeijingCarterWilliamXuanwumen10BeijingORDERBY语句ORDERBY语句用于根据指定的列对结果集进行排序。ORDERBY语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用DESC关键字。原始的表(用在例子中的):Orders表:CompanyOrderNumberIBM3532W3School2356Apple4698W3School6953实例1以字母顺序显示公司名称:SELECTCompany,OrderNumberFROMOrdersORDERBYCompany实例2以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):SELECTCompany,OrderNumberFROMOrdersORDERBYCompany,OrderNumber实例3以逆字母顺序显示公司名称:SELECTCompany,OrderNumberFROMOrdersORDERBYCompanyDESC实例4以逆字母顺序显示公司名称,并以数字顺序显示顺序号:SELECTCompany,OrderNumberFROMOrdersORDERBYCompanyDESC,OrderNumberASCINSERTINTO语句INSERTINTO语句用于向表格中插入新的行。语法INSERTINTO表名称VALUES(值1,值2,....)我们也可以指定所要插入数据的列:INSERTINTOtable_name(列1,列2,...)VALUES(值1,值2,....)插入新的行Persons表:LastNameFirstNameAddressCityCarterThomasChanganStreetBeijingSQL语句:INSERTINTOPersonsVALUES('Gates','Bill','Xuanwumen10','Beijing')在指定的列中插入数据SQL语句:INSERTINTOPersons(LastName,Address)VALUES('Wilson','Champs-Elysees')Update语句Update语句用于修改表中的数据。语法:UPDATE表名称SET列名称=新值WHERE列名称=某值Person:LastNameFirstNameAddressCityGatesBillXuanwumen10BeijingWilsonChamps-Elysees更新某一行中的一个列我们为lastname是Wilson的人添加firstname:UPDATEPersonSETFirstName='Fred'WHERELastName='Wilson'更新某一行中的若干列我们会修改地址(address),并添加城市名称(city):UPDATEPersonSETAddress='Zhongshan23',City='Nanjing'WHERELastName='Wilson'DELETE语句DELETE语句用于删除表中的行。语法DELETEFROM表名称WHERE列名称=值Person:LastNameFirstNameAddressCityGatesBillXuanwumen10BeijingWilsonFredZhongshan23Nanjing删除某行FredWilson会被删除:DELETEFROMPersonWHERELastName='Wilson'删除所有行可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:DELETEFROMtable_name或者:DELETE*FROMtable_nameTOP子句TOP子句用于规定要返回的记录的数目。对于拥有数千条记录的大型表来说,TOP子句是非常有用的。注释:并非所有的数据库系统都支持TOP子句。SQLServer的语法:SELECTTOPnumber|percentcolumn_name(s)FROMtable_nameMySQL和Oracle中的SQLSELECTTOP是等价的MySQL语法SELECTcolumn_name(s)FROMtable_nameLIMITnumber例子SELECT*FROMPersonsLIMIT5Oracle语法SELECTcolumn_name(s)FROMtable_nameWHEREROWNUM=number例子SELECT*FROMPersonsWHEREROWNUM=5原始的表(用在例子中的):Persons表:IdLastNameFirstNameAddressCity1AdamsJohnOxfordStreetLondon2BushGeorgeFifthAvenueNewYork3CarterThomasChanganStreetBeijing4ObamaBarackPennsylvaniaAvenueWashingtonSQLTOP实例现在,我们希望从上面的Persons表中选取头两条记录。我们可以使用下面的SELECT语句:SELECTTOP2*FROMPersons结果:IdLastNameFirstNameAddressCity1AdamsJohnOxfordStreetLondon2BushGeorgeFifthAvenueNewYorkSQLTOPPERCENT实例现在,我们希望从上面的Persons表中选取50%的记录。我们可以使用下面的SELECT语句:SELECTTOP50PERCENT*FROMPersonsLIKE操作符用于在WHERE子句中搜索列中的指定模式。LIKE操作符LIKE操作符用于在WHERE子句中搜索列中的指定模式。SQLLIKE操作符语法SELECTcolumn_name(s)FROMtable_nameWHEREcolumn_nameLIKEpattern原始的表(用在例子中的):Persons表:IdLastNameFirstNameAddressCity1AdamsJohnOxfordStreetLondon2BushGeorgeFifthAvenueNewYork3CarterThomasChanganStreetBeijingLIKE操作符实例例子1现在,我们希望从上面的Persons表中选取居住在以N开始的城市里的人:我们可以使用下面的SELECT语句:SELECT*FROMPersonsWHERECityLIKE'N%'提示:%可用于定义通配符(模式中缺少的字母)。结果集:IdLastNameFirstNameAddressCity2BushGeorgeFifthAvenueNewYork例子2接下来,我们希望从Persons表中选取居住在以g结尾的城市里的人:我们可以使用下面的SELECT语句:SELECT*FROMPersonsWHERECityLIKE'%g'例子3接下来,我们希望从Persons表中选取居住在包含lon的城市里的人:我们可以使用下面的SELECT语句:SELECT*FROMPersonsWHERECityLIKE'%lon%'例子4通过使用NOT关键字,我们可以从Persons表中选取居住在不包含lon的城市里的人:我们可以使用下面的SELECT语句:SELECT*FROMPersonsWHERECityNOTLIKE'%lon%'在搜索数据库中的数据时,您可以使用SQL通配符。SQL通配符在搜索数据库中的数据时,SQL通配符可以替代一个或多个字符。SQL通配符必须与LIKE运算符一起使用。在SQL中,可使用以下通配符:

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功