必定要记住,SQL 对大小写不敏感!数据库
能够把 SQL 分为两个部分:数据操做语言 (DML) 和 数据定义语言 (DDL)。spa
查询和更新指令构成了 SQL 的 DML 部分:排序
增:insert into索引
删:delectit
改:updatetable
查:select ast
SQL 的数据定义语言 (DDL) 部分使咱们有能力建立或删除表格。咱们也能够定义索引(键),规定表之间的连接,以及施加表间的约束。class
SQL 中最重要的 DDL 语句:date
建立数据库:create databaseselect
修改数据库: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 查询
一、select * from person 查询person表中全部数据
二、select LastName from person 查询person表中LastName这一列
三、select * from person where lastname = 'Bush' 查询person表中lastname这一列内容为Bush的整行内容
二:distinct 不一样的、去重(关键词 DISTINCT 用于返回惟一不一样的值)
一、select distinct lastname from person (如lastname中存在重复值,则执行后只显示不一样的值)
操做符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
三:where 查询条件(where后可跟上述操做符)(操做符查询结果都为逻辑结果并非按照数据库中实际顺序来查询:即若是数据库中Company二、三、4列为四、二、6,
使用select * from person where company> '4' 结果为五、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进行排序)