MYSQL总结(三)

四,触发器
1,创建一个触发器
create trigger zjn_tri before insert on zjn_test for each row insert into zjn1_test(tyy,dog,time) values(930625,'zjn_test',now());
create trigger fk_test after insert on people for each row insert into timetable values(null,'company',now());

create trigger zjn_test2
before insert on tyy for each row
begin
insert into zjn values(NULL,'t_dep',now())
(这里还可以加一条)
end;
五,插入数据
1,insert into a_dep(dep,loc) values(33,888)
2,insert into zjn(dname,money) values('zjn',930625);,
如果插入完整数据
可以为
2,insert into a_dep values(XX,XX)
3,插入查询结果(复制表)
insert into z_dep(cac,des) select loc,dname from a_dep;
相当于a_dep复制到z_dep
4,更新数据记录(相当于修改)
update a_dep
-> set loc='tyy' where dname=888;(还可以使用<>号)
where condition(表示更新全部的表)
即为设置loc的值 在dname=888的时候
例: update test set name='rabbits' where id<=4;
5,删除数据
delete from table
where condition
六,数据的查看(单表查询)
例:
select * from people where id between 1000 and 1004;
select * from people where id in (1000,1003);
select * from people where name like '%n' (n为结尾)
select * from people order by id DESC limit 2,4;(从第3条开始,最多显示4条)
select count() from people; 显示表people的条数
select count(id) from people where id=1000;(也可加上记录条目数)
select num ,group_concat(id) from salar group by num;(分组查看一定要用这个,因为group_concat指定了被分组的字段。)
select num ,group_concat(id), avg(id) from salar group by num;(还可以增加function)
select num ,group_concat(id),avg(id),years from salar group by num,years;(两个条件分组)
去1111111111111
select num ,group_concat(id),avg(id),years from salar group by num,years having num>10000; (having 和 where的区别:having 是从选出来的来进行限定,而where 是所有的都来进行限定,
select id from salar where num=100000;(这个可以)
select id from salar having num=100000;(这个不行))
select id from people where id in ( select id from salar where num>10000);
select id from people where id<Any( select id from salar where num>10000);
salar中比num大于10000的结果中,比id最大的值还要要小的所有值。相反是比最小的大。
注:>ALL是比最大的还要大 >ANY是比最小的还要大
<ALL是比最小的还要小 <ANY是比最大的还要小

select tyy*4 from zjn_test;(将一列乘4)
select XXX from zjn_test where XXX between XX and XX(一般用于数字)
not between XX and XX
select * from people order by id DESC(降)ASC(增)
is null 是否为空
is no null 不为空
select tyy from zjn_test where tyy in (930625,940603);查询表中的数据是否有在后面的,在的就输出。(相当于或)
no in 不在里面
2,带LIKE的关键字查询
select tyy from zjn_test
-> where tyy like '9%';
关键字‘9%’里面字符可以,字母也可以。
’—9‘表示匹配第2个位9的数据
'%X%'表示包含X字符的数据。
3,排序数据记录查询
mysql> select * from zjn_test order by zjn asc; asc升序 desc降序
by zjn asc, number desc 表示由zjn增序 遇到相同的时候由number 降序。
4,限制数据记录查询数量
select * from zjn_test where zjn>4 limit 3; 限制为3条(这个命令可以和其他命令共用
limit 3,3 从第3条开始记录到第六条。
5,统计函数
select count(zjn) number from zjn_test
统计zjn_test 中的zjn的条目数量。
avg() 平均值
max min count sum
6,分组数据查询
select deptno,group_concat(tyy) from zjn_test group by deptno;
注:group_concat()即将里面这个字段分组。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值