SQL是英文(Structured Query Language)的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准.
SQL为许多任务提供了命令,其中包括:
● 查询数据
● 在表中插入、修改和删除记录
● 建立、修改和删除数据对象
● 控制对数据和数据对象的存取
● 保证数据库一致性和完整性
可执行的SQL语句的种类非常多,使用SQL,你可以执行任何功能:从一个简单的表查询,到创建表和存储过程,到设定用户权限。在一般的操作中,我们经常用到的命令如下:
● SELCET
● INSERT
● UPDATE
● DELETE
● CREATE
命令 | 类别 | 说明 |
SELECT | 数据查询语言 | 从一个或者多个表中检索行或列 |
INSERT | 数据操纵语言 | 向一个表中增加行 |
UPDATE | 数据操纵语言 | 更新表中已存在的行的某几列 |
DELETE | 数据操纵语言 | 从一个表中删除行 |
CREATE | 数据定义语言 | 创建一个新表 |
DROP | 数据定义语言 | 删除一张表 |
1、SELECT语句语法
组件 | 说明 |
SELECT | 指明要检索的数据列 |
FROM | 指明要从哪几个数据表中检索 |
WHERE | 指明检索条件 |
GROUP BY | 指明返回的列数据通过某些条件来形成组 |
HAVING | 指明返回的集合必须满足的标准 |
ORDER BY | 指明返回的行的排列顺序 |
在数据库中创建Student表,包括如下字段:
studentName
sex
address
phone
● 一个简单的SELECT语句:
select studentCode,studentName from student
这个简单的查询的结果得出的内容为student表中返回的选定列的数据。在同样的检索情况下,如果你想缩小范围,比如只想知道男同学的一些信息则可以用下面的语句:
● 添加WHERE子句
select * from student where sex='男‘
在检索表行时,WHERE子句可以使用多个列作为约束内容,当然在检索约束内容中还可以加入通过AND、OR以实现多个约束。另外,在SELECT语句中我们还可以通过更改比较操作符来改变约束的条件,以达到我们需要的检索目的。我们再看一个例子:
● 完整约束查询
select * from student where studentName='张三‘ and phone=’1234567’
查询结果返回的是姓名为张三且电话号码为1234567的学生的资料。
操作符 | 说明 |
= | 等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小与等于 |
<> | 不等于 |
IN | 位于制定列表值中,或者指定的子查询结果中 |
BETWEEN......AN | 位于两个值之间 |
LIKE | 包含与指定串相同的模式。此模式将与一个或者多个通配符的串相比较 |
● 添加ORDER BY子句
select * from student order by studentCode asc
这条SQL语句返回的结果将按studentCode列的升序排序。
2.INSERT语句语法
组件 | 说明 |
INSERT INTO | 指名要向哪个表中加入行,同时列出指定要加入的列 |
VALUES | 指名在列表中各列的填充值 |
SELECT | SELECT语句返回被添加到biaozho |
● 一个简单的INSERT语句:
insert into student values(‘20060013’,’李四’,’女’,’山西’,’000000’) 这样,便向表中加入了一条记录。
我们也可以指明用哪几列来填充:
● 一个简单的INSERT语句:
insert into student(studentCode,studentName,sex) values(‘20040001’,‘Tom’,‘男’)
通过上面两个例子的方法,我们就可以往数据库中添加内容了.需要注意的是,我们要按照INSERT INTO 部分中指明的列的顺序来提供values的值,当省略了列清单时,VALUES清单按表中定义的列顺序提供每列的值。
3.UPDATE语句语法
组件 | 说明 |
UPDATE | 指名要更新的表 |
SET | 指名要更新的列和分配给那些列的新值 |
FROM | 指名UPDATE语句所要处理的表 |
WHERE | 指名要更新的数据要满足的条件 |
● 将列设定为确定值:
update student set sex='男' where studentName='张三‘
通过这个语句我们可以把数据库中studentName为“张三”的条记录的sex列的值改为 “男”。
4.DELETE语句语法
组件 | 说明 |
DELETE FROM | 指名要执行删除操作的表 |
WHERE | 指名要删除的行所满足的条件 |
● 删除一个表中的指定的行