SQL.select语句的设计

SQL.select语句的设计

数据定义语言(DDL): CREATE  DROP    ALTER

 用于定义和管理数据对象(库,表,索引,视图),包括数据库、数据表等。例如:CREATE、DROP、ALTER等语句。


 INSERT UPDATE DELETE 

数据操作语言(DML): 和表中的数据记录

 用于操作数据库对象中所包含的数据。例如:INSERT、UPDATE、DELETE语句。

SELECT  60%

数据查询语言(DQL :

 用于查询数据库对象中所包含的数据,能够进行单表查询、连接查询、嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回到客户机中显示。例如:SELECT语句。


数据控制语言(DCL

 是用来管理数据库的语言,包含管理权限及数据更改。例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。



 插入表数据insert


insert into 表名([字段列表]) values(值列表),(值列表2),(值列表3)


update 表名 set 字段=‘值’[,字段2=值2 [,/。。。]][条件] 条件是确定要更改的记录,可以通过条件指定一条也可指定多条


delete from 表名 [条件]

select

truncate 表名 截断表数据



 

select

select[all/distinct]

{*|table.*|[table.]field1[as alias1][,[table.]field2[as alias2]][.....]}from

where

group by…

having

order by

limit count

1. 字段 要列出要查询的字段

2. 可以为每个字段起个别名 as 或者用空格

3. 使用distinct过滤一条重复的数据

4. 在sql语句中可以使用表达式的列

5. where可以在select update delete

<>不等于 

is not 例子 select desn from products where desn is null ;

<=>和=作用一样可以比较空值

in是作用于  update products set price=100 where id in(1,2,3,4,5);

like ,模糊查询 _(任意一个字符)%(0个或者多个任意字符)

select * from products where name like '%java%';

not like 和like相反


多表查询

起别名查询  select a.pid,a.name,b.name,b.price from cats a,products b;

                            select a.pid apid,a.name aname,b.name bname,b.price bprice from cats a,products b;

嵌套查询  mysql> select *from products where cid in(select id from cats where name like 'j%');

排序 order by 字段 asc正

order by 字段 desc 倒

限制查询 limit  mysql> select *from products where id<15 order by id asc limit 0,3;


group by 字段  select cid,count(*),sum(price),max(price),min(price),avg(price) from products group by cid

having 从句 select cid,count(*),sum(price),max(price),min(price),avg(price) from products group by cid having avg(price)>500;


count()

avg()

sum()

max()

你可能感兴趣的:(SQL.select语句的设计)