结构化查询语言SQL(STRUCTURED QUERY LANGUAGE)是最重要的关系数据库操作语言,并且它的影响已经超出数据库领域,
得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。
什么是 SQL?
- SQL 指结构化查询语言
- SQL 使我们有能力访问数据库
- SQL 是一种 ANSI 的标准计算机语言
SQL 能做什么?
- SQL 面向数据库执行查询
- SQL 可从数据库取回数据
- SQL 可在数据库中插入新的记录
- SQL 可更新数据库中的数据
- SQL 可从数据库删除记录
- SQL 可创建新数据库
- SQL 可在数据库中创建新表
- SQL 可在数据库中创建存储过程
- SQL 可在数据库中创建视图
- SQL 可以设置表、存储过程和视图的权限
SQL 对大小写不敏感!
sql语法
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
查询和更新指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
简单介绍一下数据操作语言:
下面的例子是一个名为 "Persons" 的表:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
注意:
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,不要引号。
基本语句
1、避免重复:distinct
eg:select distinct lastname from Persons
2、限制条件 where
eg:select * from Persons where lastname=‘Bush’
结果是
Id | LastName | FirstName | Address | City |
---|
2 | Bush | George | Fifth Avenue | New York |
下面的运算符可在 WHERE 子句中使用:
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
3、AND 和 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
eg:
select * from Persons where fristname=‘Thomas‘ and
lastname=‘Carter‘
我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):
select * from Persons where(
FirstName=‘Thomas‘OR
firstName=‘William‘)
and
LastName=‘Carter‘
4、order by
用于对结果集进行排序。默认按照升序对记录进行排序。 降序DESC
eg:select * from Persons order by lastname desc,firstname asc
按lastname降序,按firstname升序
5、insert into
用于向表格中插入新的行。
eg:insert into Persons values (‘Gates‘, ‘Bill‘, ‘Xuanwumen 10‘, ‘Beijing‘)
也可用于所要插入数据的列
eg:insert into Persons (LastName, Address) values (‘Wilson‘, ‘Champs-Elysees‘)
6、update
修改表中的数据(注意set关键字)
eg:update Person set firstname = ‘Fred‘ where lastname = ‘Wilson‘
更新某一行中的一个列
update Person set address = ‘Zhongshan 23‘, city = ‘Nanjing‘ where
lastname = ‘Wilson‘
更新某一行中的若干列
7、DELETE
用于删除表中的行。
eg:delete from Persons where lastname=‘Wilson’删除某行