C语言.docx
- 文档编号:13332479
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:10
- 大小:17.40KB
C语言.docx
《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(10页珍藏版)》请在冰点文库上搜索。
C语言
SQLDML和DDL
可以把SQL分为两个部分:
数据操作语言(DML)和数据定义语言(DDL)。
SQL(结构化查询语言)是用于执行查询的语法。
但是SQL语言也包含用于更新、插入和删除记录的语法。
查询和更新指令构成了SQL的DML部分:
∙SELECT-从数据库表中获取数据
∙UPDATE-更新数据库表中的数据
∙DELETE-从数据库表中删除数据
∙INSERTINTO-向数据库表中插入数据
SQL的数据定义语言(DDL)部分使我们有能力创建或删除表格。
我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL中最重要的DDL语句:
∙CREATEDATABASE-创建新数据库
∙ALTERDATABASE-修改数据库
∙CREATETABLE-创建新表
∙ALTERTABLE-变更(改变)数据库表
∙DROPTABLE-删除表
∙CREATEINDEX-创建索引(搜索键)
∙DROPINDEX-删除索引
本章讲解SELECT和SELECT*语句。
SQLSELECT语句
SELECT语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
SQLSELECT语法
SELECT列名称FROM表名称
以及:
SELECT*FROM表名称
注释:
SQL语句对大小写不敏感。
SELECT等效于select。
SQLSELECT实例
如需获取名为"LastName"和"FirstName"的列的内容(从名为"Persons"的数据库表),请使用类似这样的SELECT语句:
SELECTLastName,FirstNameFROMPersons
"Persons"表:
Id
LastName
FirstName
Address
City
1
Adams
John
OxfordStreet
London
2
Bush
George
FifthAvenue
NewYork
3
Carter
Thomas
ChanganStreet
Beijing
结果:
LastName
FirstName
Adams
John
Bush
George
Carter
Thomas
SQLSELECT*实例
现在我们希望从"Persons"表中选取所有的列。
请使用符号*取代列的名称,就像这样:
SELECT*FROMPersons
提示:
星号(*)是选取所有列的快捷方式。
结果:
Id
LastName
FirstName
Address
City
1
Adams
John
OxfordStreet
London
2
Bush
George
FifthAvenue
NewYork
3
Carter
Thomas
ChanganStreet
Beijing
在结果集(result-set)中导航
由SQL查询程序获得的结果被存放在一个结果集中。
大多数数据库软件系统都允许使用编程函数在结果集中进行导航,比如:
Move-To-First-Record、Get-Record-Content、Move-To-Next-Record等等。
类似这些编程函数不在本教程讲解之列。
如需学习通过函数调用访问数据的知识,请访问我们的ADO教程和PHP教程。
本章讲解SELECTDISTINCT语句。
SQLSELECTDISTINCT语句
在表中,可能会包含重复值。
这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词DISTINCT用于返回唯一不同的值。
语法:
SELECTDISTINCT列名称FROM表名称
使用DISTINCT关键词
如果要从"Company"列中选取所有的值,我们需要使用SELECT语句:
SELECTCompanyFROMOrders
"Orders"表:
Company
OrderNumber
IBM
3532
W3School
2356
Apple
4698
W3School
6953
结果:
Company
IBM
W3School
Apple
W3School
请注意,在结果集中,W3School被列出了两次。
如需从Company"列中仅选取唯一不同的值,我们需要使用SELECTDISTINCT语句:
SELECTDISTINCTCompanyFROMOrders
结果:
Company
IBM
W3School
Apple
现在,在结果集中,"W3School"仅被列出了一次。
ORDERBY语句用于对结果集进行排序。
ORDERBY语句
ORDERBY语句用于根据指定的列对结果集进行排序。
ORDERBY语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用DESC关键字。
原始的表(用在例子中的):
Orders表:
Company
OrderNumber
IBM
3532
W3School
2356
Apple
4698
W3School
6953
实例1
以字母顺序显示公司名称:
SELECTCompany,OrderNumberFROMOrdersORDERBYCompany
结果:
Company
OrderNumber
Apple
4698
IBM
3532
W3School
6953
W3School
2356
实例2
以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):
SELECTCompany,OrderNumberFROMOrdersORDERBYCompany,OrderNumber
结果:
Company
OrderNumber
Apple
4698
IBM
3532
W3School
2356
W3School
6953
实例3
以逆字母顺序显示公司名称:
SELECTCompany,OrderNumberFROMOrdersORDERBYCompanyDESC
结果:
Company
OrderNumber
W3School
6953
W3School
2356
IBM
3532
Apple
4698
实例4
以逆字母顺序显示公司名称,并以数字顺序显示顺序号:
SELECTCompany,OrderNumberFROMOrdersORDERBYCompanyDESC,OrderNumberASC
结果:
Company
OrderNumber
W3School
2356
W3School
6953
IBM
3532
Apple
4698
注意:
在以上的结果中有两个相等的公司名称(W3School)。
只有这一次,在第一列中有相同的值时,第二列是以升序排列的。
如果第一列中有些值为nulls时,情况也是这样的。
Update语句
Update语句用于修改表中的数据。
语法:
UPDATE表名称SET列名称=新值WHERE列名称=某值
Person:
LastName
FirstName
Address
City
Gates
Bill
Xuanwumen10
Beijing
Wilson
Champs-Elysees
更新某一行中的一个列
我们为lastname是"Wilson"的人添加firstname:
UPDATEPersonSETFirstName='Fred'WHERELastName='Wilson'
结果:
LastName
FirstName
Address
City
Gates
Bill
Xuanwumen10
Beijing
Wilson
Fred
Champs-Elysees
更新某一行中的若干列
我们会修改地址(address),并添加城市名称(city):
UPDATEPersonSETAddress='Zhongshan23',City='Nanjing'
WHERELastName='Wilson'
结果:
LastName
FirstName
Address
City
Gates
Bill
Xuanwumen10
Beijing
Wilson
Fred
Zhongshan23
Nanjing
LIKE操作符用于在WHERE子句中搜索列中的指定模式。
LIKE操作符
LIKE操作符用于在WHERE子句中搜索列中的指定模式。
SQLLIKE操作符语法
SELECTcolumn_name(s)
FROMtable_name
WHEREcolumn_nameLIKEpattern
原始的表(用在例子中的):
Persons表:
Id
LastName
FirstName
Address
City
1
Adams
John
OxfordStreet
London
2
Bush
George
FifthAvenue
NewYork
3
Carter
Thomas
ChanganStreet
Beijing
LIKE操作符实例
例子1
现在,我们希望从上面的"Persons"表中选取居住在以"N"开始的城市里的人:
我们可以使用下面的SELECT语句:
SELECT*FROMPersons
WHERECityLIKE'N%'
提示:
"%"可用于定义通配符(模式中缺少的字母)。
结果集:
Id
LastName
FirstName
Address
City
2
Bush
George
FifthAvenue
NewYork
例子2
接下来,我们希望从"Persons"表中选取居住在以"g"结尾的城市里的人:
我们可以使用下面的SELECT语句:
SELECT*FROMPersons
WHERECityLIKE'%g'
结果集:
Id
LastName
FirstName
Address
City
3
Carter
Thomas
ChanganStreet
Beijing
例子3
接下来,我们希望从"Persons"表中选取居住在包含"lon"的城市里的人:
我们可以使用下面的SELECT语句:
SELECT*FROMPersons
WHERECityLIKE'%lon%'
结果集:
Id
LastName
FirstName
Address
City
1
Adams
John
OxfordStreet
London
例子4
通过使用NOT关键字,我们可以从"Persons"表中选取居住在不包含"lon"的城市里的人:
我们可以使用下面的SELECT语句:
SELECT*FROMPersons
WHERECityNOTLIKE'%lon%'
结果集:
Id
LastName
FirstName
Address
City
2
Bush
George
FifthAvenue
NewYork
3
Carter
Thomas
ChanganStreet
Beijing
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言