SQL语句
重要事项
一定要记住,SQL 对大小写不敏感!
SQL DML 和 DDL
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
查询和更新指令构成了 SQL 的 DML 部分:
增:insert into
删:delect
改:update
查:select
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
创建数据库:create database
修改数据库:alter database
创建表:create table
修改表:alter table
删除表:drop table
创建索引:create index
删除索引:drop index
person表:
Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
一:select 查询
1、select * from person 查询person表中所有数据
2、select LastName from person 查询person表中LastName这一列
3、select * from person where lastname = 'Bush' 查询person表中lastname这一列内容为Bush的整行内容
二:distinct 不同的、去重(关键词 DISTINCT 用于返回唯一不同的值)
1、select distinct lastname from person (如lastname中存在重复值,则执行后只显示不同的值)
操作符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
三:where 查询条件(where后可跟上述操作符)(操作符查询结果都为逻辑结果并不是按照数据库中实际顺序来查询:即如果数据库中Company2、3、4列为4、2、6,
使用select * from person where company> '4' 结果为5、6,并不为数据库中内容为4之上的列,即5。因为查询时并没有指明4为那一列,并且实际数据库可能有重复的内容,即有多个4
select * from person where company between '4' and '6' 查询结果应该为5,并不为数据库实际中间的2. )
Company |
---|
5 |
4 |
2 |
6 |
select * from person where lastname <> 'Bush'select * from person where lastname = 'Bush'
select * from person where lastname > 'Bush'
select * from person where lastname < 'Bush'
select * from person where lastname >= 'Bush'
select * from person where lastname <= 'Bush'
select * from person where lastname between 'Adams' and 'Carter'
select * from person where lastname like 'Bush'完整拼写
select * from person where lastname like '%Bush%' 这个人可能叫做 AABushEE
select * from person where lastname like '%Bush' 这个人可能叫做 AABush
select * from person where lastname like 'Bush%' 这个人可能叫做 BushEE
select * from person where lastname like '_Bush_' _为占位符:表示此人可叫做ABushE
select * from person where lastname like '__Bush_' _为占位符:表示此人可叫做AABushE
四:AND 和 OR
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
select * from person where lastname = 'Bush' and id = '2';
select * from person where lastname = 'Bush' or id = '1';
select * from person where (lastname = 'Bush' or id = '1') and fristname = 'john';
五:ORDER BY
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字,默认为升序,也可使用ASC关键字。
select * from person order by lastname;
select * from person order by lastname,firstname;(首先按lastname排序,当lastname出现重复首字母时,则按firstname进行排序)