可以私我教你数据库
1、
(1) SELECT * FROM kc;
(2) SELECT DISTINCT xh FROM cj;
(3) SELECT xs.xh, xs.xm, xs.rxcj FROM xs WHERE xs.xb=‘男’;
(4) SELECT xh, kcdh, cj FROM cj WHERE cj.cj < 60 ORDER BY kcdh DESC;
(5) SELECT * FROM kc WHERE kcbx=‘必修’;
(6) SELECT xh, zy, rxcj FROM xs WHERE zy != ‘计算机’ AND rxcj >= 600 ORDER BY rxcj ASC;
(7) SELECT xh, xm, zy FROM xs WHERE zy IN (‘计算机’, ‘数学’) ORDER BY zy, xh;
(8) SELECT xh, xm, zy FROM xs WHERE xm LIKE ‘欧阳%’ ORDER BY zy DESC;
(9) SELECT * FROM xs WHERE zy=‘中文’ AND xm LIKE ‘赵%’;
(10) SELECT * FROM kc WHERE kclb=‘B’ AND kcs=32;
2、
(1) SELECT AVG(cj) FROM cj WHERE kcdh=‘04’;
(2) SELECT SUM(kcs) FROM kc WHERE zy=‘B’;
(3) SELECT COUNT(*) FROM kc WHERE kcbx=‘必修’;
(4) SELECT AVG(rxcj) FROM xs WHERE rxnf=‘03’;
(5) SELECT SUM(rxcj) FROM xs WHERE zy=‘中文’ AND rxnf=‘03’;
3、
(1) SELECT xs.xb, MAX(xs.rxcj), MIN(xs.rxcj), AVG(xs.rxcj) FROM xs GROUP BY xs.xb ORDER BY AVG(xs.rxcj) DESC;
(2) SELECT cj.xh, AVG(cj.cj) AS avg_cj FROM cj GROUP BY cj.xh ORDER BY avg_cj ASC;
(3) INSERT INTO zyrs(zy,rs) SELECT xs.zy, COUNT() FROM xs GROUP BY xs.zy ORDER BY COUNT() DESC;
(4) CREATE TABLE fz2 AS SELECT kcdh, AVG(cj) AS avg_cj FROM cj GROUP BY kcdh HAVING avg_cj < 75;
(5) INSERT INTO fz3(zy, avg_rxcj) SELECT xs.zy, AVG(xs.rxcj) FROM xs GROUP BY xs.zy HAVING AVG(xs.rxcj) > 580 ORDER BY AVG(xs.rxcj) DESC;
#include <unistd.h>
int access(const char * pathname, int mode);
可用于判断文件或者目录是否存在, access()
会检查是否可以读/写某一已存在的文件,access()
只作权限的核查, 并不理会文件形态或文件内容,因此,如果一目录表示为"可写入",表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理
pathname
为文件或文件夹的路径,当前目录直接使用文件或文件夹名;mode
表示检查模式,共4种模式:
R_OK, 4
只判断是否有读权限,对应宏定义里面的00 只存在
W_OK, 2
只判断是否有写权限,对应宏定义里面的02 写权限
X_OK, 1
判断是否有执行权限,对应宏定义里面的04 读权限
F_OK, 0
只判断是否存在,对应宏定义里面的05 读和写权限
如果指定的存取方式有效,则函数返回0
,否则函数返回-1
#include <unistd.h>
int file_exist(const char *path)
{
return (access(path, F_OK) == 0);
}