mysql 4

来源:互联网 发布:川普哥最新网络录音 编辑:程序博客网 时间:2024/05/05 15:15
1.子查询
select * from a where pid in(2,3,8);
 select * from a where pid in(select id form province);相当于子查询
 select a.id,a.name,age,province from student a inner join province b on s.pid=b.id;内连接

区别:当使用子查询,会在数据库生成一张临时表占用空间,使用内连接可以提高效率,不占空间。
2.查询条件
select name from a where age is null;判断字段是不是null;
select name from a where age = null;是判断它的值是不是null;
and、or、not、=、!=、(<>)、between。。and。。、 not between ...and..、like模糊查询

 select * from a where name like '%小%';是指name里只要有'小'子的数据查出来;
 select * from a where name like '小%';是指name里以'小'子开头的数据查出来;如小李。。王小龙就查不出来;

limit 限制查询数量
 limit n 按照当前默认排序取出前n条
 limit m,n 从下标为m取出n条;m相当于数组下标m也是从0开始的

select * from a order by id desc(降序)/asc(升序,什么都不加就order by 就是升序) limit 0,5;从0开始取5条数据;

group by 分组/一般在统计
 select pid,count(*) from a group by pid;相当于排队把pid一样的数据分组
 count(*)多少条记录/count(id)为id多少记录
 select pid,count(*) as num from a group by pid having num>1;加条件限制遇到分组不能用where 只能having
 order by 、having、limit需要放在group by 后面.先分组在排序

distinct()去重
 select distinct name from a;不能多字段只能单字第查询
 select id,distinct name from a;报错

3.数学函数
abs()绝对值/ceil()向上取整(分页页数可以用到)/floor()向下取整/round()四舍五入/rand()随机数
sum()求和/avg()平均数/max()min()最大最小值/count()字段数/

4.外键 foreign key;保持数据一致性完整性foreign key(字段名称) references 表名称(字段名称)
 (1)表必须是innodb
 (2)相关联的字段都必须建立索引
 (3)相关联的字段必须采用类似数据类型

 insert into xiaodi values(2,'小弟B');不行,因为2里面没有
 delete from dage where id=1;不行 因为删除了大哥里

5.mysql里时间函数
 select unix_timestamp();返回当前时间戳
 select now();当前的时间日期
 from_unixtime(存在时间戳的字段名)
 select from_unixtime(unix_timestamp())
 
 select from_unixtime(unix_timestamp(),'%Y/%m/%d');

6.事务:若一个操作失败,则回滚 至少2条sql语句.

 start transaction;
 update a set id=6 where name='张三';//成功
 update a set id=5 where name='张赛';失败
 rollback;//回滚后第一个sql命令也失败

7.innodb:支持事务,支持外键,不支持全文索引(Myisam支持),行锁机制(锁定一行记录,在未对这行释放之前进行锁定)
 查询select使用mysiam比较好,insert或者update 使用innodb比较好.

 事务:作为单个逻辑工作单元执行的一系列操作,它是一个至少2个的操作命令,这些操作要么都执行,要么都不执行。
  原子性:事务操作被看做是一个逻辑单元,这个逻辑单元操作要么全部完成,要么全部失败
  一致性:只能写入合法的数据到数据库中,不然事务应该rollback
  隔离性:允许多用户对同一数据进行并发访问,且不破坏数据正确性和完整性。多个并行事务修改相互独立.
  持久性:事务结束后,结果永久存在。
  并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任  

       一个时刻点上只有一个程序在处理机上。//高并发情况需要缓存解决。

 外键:如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联  

    系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字

 保持数据一致性完整性foreign key(字段名称) references 表名称(字段名称)
  (1)表必须是innodb
  (2)相关联的字段都必须建立索引
  (3)相关联的字段必须采用类似数据类型

 行锁机制和表锁机制
   (1)innodb的行锁是在有索引的情况下,没有索引的表是锁定全表的.
   (2)行锁是对一行或者一个记录锁定,表锁是对整个表锁定。
 
*primary key主键默认的就是not null 可以不加not null

 count(1<2)计数 不管表达式满足不满足都会算一次/1
 sum(1<2)也是计数 满足才算不满足不算/0
 计算平均分
 select id,name,avg(score) from score group by name having sum(score<60)>=2;

 union与union all  相同字段都一样的union去掉;

 select id,name from a union select id,name from b;
 select id,name from a union all select id,name from b;
 select temp.id,sum(temp.num) from (select id,name fro a union all select id,name from b) as temp group by temp.id;把查询出

的临时表使用.
 
 
 




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 刷机了支付宝的余额宝钱没了怎么办 手机刷机支付宝里面的钱怎么办 支付宝宽带缴费交错账号了怎么办 电信宽带反回到翼支付里的钱怎么办 天猫盒子连接电视没反应怎么办 淘宝定制单发货之后是空物流怎么办 微信购买虚拟物品卖家不发货怎么办 虚拟商品确认收货后申请退款怎么办 手机换号码了淘宝怎么办又不能上网 美团酒店订单取消超时了怎么办 订单中快递单号填错了怎么办 高考动态口令卡页面找不到了怎么办 支付宝收钱码被别人扫了怎么办 上高速收费下高速免费卡怎么办 微信聊天记录导出来了是乱码怎么办 电脑用优盘打开文件夹是空的怎么办 快压解压文件在电脑上打不开怎么办 虎牙直播刺激战场观看有延迟怎么办 登录页面点击登录窗口关不了怎么办 h5中的摇晃手机在电脑端怎么办 忘记手机锁屏密码怎么办4g qq最早绑定的号码忘记了怎么办 重启路由器之后宽带连接不上怎么办 微信授权小程序总是不行怎么办 微信把钱转到别人账户里了怎么办 微信转到对方账户停用了怎么办 微信号被认为是投票水军怎么办 微信投票时显示账号异常怎么办 京东商城买东西老不到货怎么办 优酷投屏一会就会出现花报怎么办 苹果手机的app安卓找不到怎么办 微信网页获取用户信息点了否怎么办 淘宝卖家退发货信息选择错了怎么办 法宣在线出现在其他地方登陆怎么办 QQ被冻结又不知道申诉资料怎么办 开通优酷会员了再开酷喵会员怎么办 考的不好时别人问你多少分时怎么办 订了产品一直收不到货怎么办 微信零钱提现忘记密码怎么办 微信里面的零钱忘记密码怎么办 微信的零钱密码丢了怎么办