必学基本SQL语句

SQL SELECT 语句

---------------------------------------------------------------------------------------------------------------------------------------------------

SELECT 语句用于从表中选取数据。表格式的结构被存储在一个结果表中(称为结果集)。

语法
SELECT column_name(s)
FROM table_name 

注释:SQL语句对大小写不敏感。SELECT等效于select。

SQL SELECT 实例

如需获取名为"LastName"和"FirstName"的列的内容,(从名为"Persons"的数据库表),请使用类似这样的SELECT语句:

SELECT LastName,FirstName FROM Persons
"Persons" 表:
LastNameFirstNameAddressCity
HansenOlaTimoteivn 10Sandnes
SvendsonToveBorgvn 23Sandnes
PettersenKariStorgt 20Stavanger
结果:
LastNameFirstName
HansenOla
SvendsonTove
PettersenKari

获取所有的列

如需从"Persons"表中获取所有的列,请使用符号*取代列的名称,就像这样:

SELECT * FROM Persons
结果:
LastNameFirstName AddressCity
HansenOlaTimoteivn 10Sandnes
SvendsonToveBorgvn 23Sandnes
PettersenKariStorgt 20Stavanger

结果集(result-set)

由SQL查询程序获得的结果被存储在一个结果集中。大多数数据库软件系统都允许使用编程函数在结果集中进行导航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record等等。

类似这些的编程函数不在本教程讲解之列。如需学习通过函数调用访问数据的知识,请访问我们的ADO教程。

在SQL语句后使用分号?

分号是数据库系统中分隔每条SQL语句的标准方法,这个方法使得对服务器的同一个调用中的若干语句都得到执行。

某些SQL轿车使用分号结束每条SQL语句。这是必需的吗?如果您正在使用Access 和SQL Server 2000,就不必在每条语句后都放置分号,但是在某些数据库中,您就不得不这么做了。

SELECT DISTINCT 语句

关键词DISTINCT用于返回仅为不同的值。

SELECT语句会从表的列中返回信息。但是假如我们仅仅希望获取独特的(不同的)元素呢?

通过SQL,我们所要做到所有事情就是向SELECT语句添加DISTINCT关键词:

语法:
SELECT DISTINCT column_name(s)
FROM table_name

使用DISTINCT关键词

如果要从"Company"列中选取所有的值,我们需要使用SELECT语句:

SELECT Company FROM Orders
"Orders"表:
CompanyOrderNumber
Sega3412
W3School2312
Trio4678
W3School6798
结果:

请注意,在结果集中,W3School被列出了两次。

如需从Company"列中仅选取不一样的值,我们需要使用SELECT DISTINCT语句:

SELECT DISTINCT Company FROM Orders 
结果:
Company
Sega
W3Schools
Trio

现在,在结果集中,"W3School"仅被列出了一次。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

WHERE 子句

WHERE 子句用于规定选择的标准。

WHERE 子句

如需有条件地从表中选取数据,可将 WHERE 子句添加到SELECT语句。

语法
SELECT column FROM table
WHERE column operator value

下面的运算符可在 WHERE 子句中使用:

操作符描述
<>不等于
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式

注释:在某些版本的SQL中,操作符<>可以写为!=。

使用WHERE子句

如果只需选取居住于城市"Sandnes"中的某些人,我们需要向SELECT语句添加WHERE子句:

SELECT * FROM Persons
WHERE City='Sandnes'
"Persons" 表
LastNameFirstNameAddressCityYear
HansenOlaTimoteivn 10Sandnes1951
SvendsonToveBorgvn 23Sandnes1978
SvendsonStaleKaivn 18Sandnes1980
PettersenKariStorgt 20Stavanger1960
结果:
LastNameFirstNameAddressCityYear
HansenOlaTimoteivn 10Sandnes1951
SvendsonToveBorgvn 23Sandnes1978
SvendsonStaleKaivn 18Sandnes1980

引号的使用

请注意,我们在例子中的条件值周围使用的是单引号。

SQL使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。

文本值:
这是正确的:
SELECT * FROM Persons WHERE FirstName='Tove'

这是错误的:
SELECT * FROM Persons WHERE FirstName=Tove
数值:
这是正确的:
SELECT * FROM Persons WHERE Year>1965

这是错误的:
SELECT * FROM Persons WHERE Year>'1965'

LIKE 条件

LIKE用于规定针对列中某个模式的搜索。

语法
SELECT column FROM table
WHERE column LIKE pattern

符号"%"可用于定义模式之前及模式之后的通配符(模式中缺少的字符)。

使用LIKE

下面的语句会返回名字的第一个字符为'O'的人:

SELECT * FROM Persons
WHERE FirstName LIKE 'O%'

下面的语句会返回名字的最后一个字符为'a'的人:

SELECT * FROM Persons
WHERE FirstName LIKE '%a'

下面的语句会返回名字中包含字符'la'的人:

SELECT * FROM Persons
WHERE FirstName LIKE '%la%'
--------------------------------------------------------------------------------------------------
   
   

INSERT INTO 语句

INSERT INTO 语句用于向表格中插入新的行。

语法
INSERT INTO table_name
VALUES (value1, value2,....)

我们也可以指定所要插入数据的列:

INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)

插入新的行

"Persons" 表:
LastNameFirstNameAddressCity
PettersenKariStorgt 20Stavanger
SQL 语句:
INSERT INTO Persons
VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes')
结果:
LastNameFirstNameAddressCity
PettersenKariStorgt 20Stavanger
HetlandCamillaHagabakka 24Sandnes

在指定的列中插入数据

"Persons" 表:
LastNameFirstNameAddressCity
PettersenKariStorgt 20Stavanger
HetlandCamillaHagabakka 24Sandnes
SQL 语句:
INSERT INTO Persons (LastName, Address)
VALUES ('Rasmussen', 'Storgt 67')
结果:
LastNameFirstNameAddressCity
PettersenKariStorgt 20Stavanger
HetlandCamillaHagabakka 24Sandnes
Rasmussen Storgt 67 
-----------------------------------------------------------------------------------------------

Update 语句

Update 语句用于修改表中的数据。

语法:
UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value

Person:

LastNameFirstNameAddressCity
NilsenFredKirkegt 56Stavanger
Rasmussen Storgt 67 

更新某一行中的一个列

我们为last name是"Rasmussen"的人添加first name:

UPDATE Person SET FirstName = 'Nina'
WHERE LastName = 'Rasmussen' 
结果:
LastNameFirstNameAddressCity
NilsenFredKirkegt 56Stavanger
RasmussenNinaStorgt 67 

更新某一行中的若干列

我们会修改地址(address),并添加城市名称(name of the city):

UPDATE Person
SET Address = 'Stien 12', City = 'Stavanger'
WHERE LastName = 'Rasmussen'
结果:
LastNameFirstNameAddressCity
NilsenFredKirkegt 56Stavanger
RasmussenNinaStien 12Stavanger
-----------------------------------------------------------------------------------------

DELETE 语句

DELETE 语句用于删除表中的行。

语法
DELETE FROM table_name
WHERE column_name = some_value

Person:

LastNameFirstNameAddressCity
NilsenFredKirkegt 56Stavanger
RasmussenNinaStien 12Stavanger

删除某行

"Nina Rasmussen"会被删除:

DELETE FROM Person WHERE LastName = 'Rasmussen' 
结果:
LastNameFirstNameAddressCity
NilsenFredKirkegt 56Stavanger

删除所有行

可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:

DELETE FROM table_nameorDELETE * FROM table_name
 转自: http://www.w3school.com.cn/sql
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值