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()
网友评论