www.jbmf.net > mysql语句面试题

mysql语句面试题

1 数据表加1个字段,userid用来记录正在处理的人,进入php页面时,写入该字段.处理完成时,或未处理直接退出时,清空userid记录.其他人进入php页面时判断userid是否为空,不为空则禁止进入.2 lock 和 unlockmysql> lock tables real_

$numq=mysql_query("SELECT * FROM `m_broad`");$num = mysql_num_rows($numq); /*这边得到是 数据表内数据总条数.*/ //错在这里了 括号里面是个变量,而不是引号引住的字符串$page_num = isset($_GET['page']) ? $_GET['page'] : '';/* 获取的当前页面qu

1.查询时,能不用* 就不用,尽量写全字段名.2.索引不是越多越好,每个表控制在6个索引以内.范围where条件的情况下,索引不起作用,比如where value 评论0 0 0

我猜你的Count字段使用了varchar类型.如果是int或者其他数值类型,order by的排序一定会按照数字的大小排序.如果Count字段确实不是数字类型,请修改字段类型.在建立数据表时一定要慎重考虑选择何种数据类型.

1. select * from st where sid in (select sid from sct where cid in (select cid from ct where cname in ('cpp','java')) group by sid having count(*)=2) --sct学号+课程号必须唯一2.select * from st where sid in (select sid from sct where score<60 group by sid having count(*)>=2) --sct学号+课程号必须唯一

这是sql server的语法:delete b from b where not exists (select 1 from a where a.c = b.d) mysql这个应该可以:delete from b where d not in (select c from a) .应该是这样的.

第一个select sum(FSAL) as salary from table1 where year(FDATE)=year(now()) and FNAME=\'张三\';第二个select sum(FSAL),sum(FSAL)/52/count(DISTINCT FID),sum(FSAL)/12/count(DISTINCT FID),sum(FSAL)/count(DISTINCT FID)from table1 where year(FDATE)=year(now());第三个select FID,FNAME from table1 where sum(FSAL)/12 between 600 and 800;

这个表建的有问题,其实只需要一张people表就行,其中加一项配偶,people(id, name, sex, birth, spouse),后面的那张表一对配偶就要占用两项,数据冗余,而且跨表查询会大大的增加开销.按照上面的进行查询:(1)select * from people

下面的语句就可以:SELECT * FROM a WHERE userid IN (SELECT userid FROM B WHERE `class`='XXX'注意语句里面的符号,引号是两种,不要搞反了.

问题一: 后面加个NOT NULL -》id int(4) NOT NULL, 问题二:主键一定为非空 !!问题三:主键可能是自动递增的

网站地图

All rights reserved Powered by www.jbmf.net

copyright ©right 2010-2021。
www.jbmf.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com