本文共 5605 字,大约阅读时间需要 18 分钟。
可以使用 INSERT
语句添加新员工数据:
INSERT INTO t_mysql_employees (first_name, last_name, email, phone_number, salary, commission_pct, manager_id, hiredate) VALUES('李', '施', '393322561@qq.com', '16607478549', 6000, 0.25, 100, now());
使用 UPDATE
语句更新员工信息:
UPDATE t_mysql_employees SET last_name = '施'WHERE phone_number = '16607478549';
使用 DELETE
语句删除指定电话号码的员工记录:
DELETE FROM t_mysql_employees WHERE phone_number = '16607478549';
SELECT first_name FROM t_mysql_employees;
SELECT first_name, last_name FROM t_mysql_employees;
SELECT * FROM t_mysql_employees;
SELECT 100;
SELECT 100%98;
SELECT VERSION();
SELECT * FROM t_mysql_employees WHERE salary > 12000;
SELECT first_name, department_id FROM t_mysql_employees WHERE department_id != 90;
SELECT first_name, salary, commission_pct FROM t_mysql_employees WHERE salary BETWEEN 10000 AND 20000;
SELECT * FROM t_mysql_employees WHERE NOT (department_id BETWEEN 90 AND 110) OR salary > 15000;
a
的员工信息:SELECT * FROM t_mysql_employees WHERE first_name LIKE '%a%';
e
,第五个字符为 a
的员工名和工资:SELECT * FROM t_mysql_employees WHERE first_name LIKE '%__e_a%';
_
的员工名:SELECT * FROM t_mysql_employees WHERE last_name LIKE '_$_% ESCAPE '$';
SELECT * FROM t_mysql_employees ORDER BY salary DESC;
SELECT * FROM t_mysql_employees WHERE department_id >= 90 ORDER BY salary DESC;
SELECT *, salary*12*(1+IFNULL(commission_pct,0)) FROM t_mysql_employees ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;
CREATE TABLE t_student ( sid VARCHAR(10), sname VARCHAR(20), sage DATE, sax VARCHAR(10));INSERT INTO t_student VALUES('01', '赵雷', '1990-01-01', '男');INSERT INTO t_student VALUES('02', '钱电', '1990-12-21', '男');INSERT INTO t_student VALUES('03', '孙风', '1990-12-20', '男');INSERT INTO t_student VALUES('04', '李云', '1990-12-06', '男');INSERT INTO t_student VALUES('05', '周梅', '1991-12-01', '女');INSERT INTO t_student VALUES('06', '吴兰', '1992-01-01', '女');INSERT INTO t_student VALUES('07', '郑竹', '1989-01-01', '女');INSERT INTO t_student VALUES('09', '张三', '2017-12-20', '女');INSERT INTO t_student VALUES('10', '李四', '2017-12-25', '女');INSERT INTO t_student VALUES('11', '李四', '2012-06-06', '女');INSERT INTO t_student VALUES('12', '赵六', '2013-06-13', '女');INSERT INTO t_student VALUES('13', '孙七', '2014-06-01', '女');
SELECT a.*, b.score as `01`score, c.score as `02`score FROM t_student AS aINNER JOIN t_score AS b ON a.sid = b.sidINNER JOIN t_score AS c ON a.sid = c.sidWHERE b.cid = '01' AND c.cid = '02' AND b.score > c.score;
SELECT a.*, b.score as `01`score, c.score as `02`score FROM t_student AS aINNER JOIN t_score AS b ON a.sid = b.sidINNER JOIN t_score AS c ON a.sid = c.sidWHERE b.cid = '01' AND c.cid = '02';
SELECT * FROM ( SELECT * FROM t_score WHERE cid = '01') AS a1WHERE a1.sid NOT IN ( SELECT sid FROM t_score WHERE cid = '02');
SELECT * FROM ( SELECT * FROM t_score WHERE cid = '02') AS a1WHERE a1.sid NOT IN ( SELECT sid FROM t_score WHERE cid = '01');
SELECT a.sid, a.sname, e.avg_score FROM t_student AS aINNER JOIN ( SELECT sid, AVG(score) as avg_score FROM t_score GROUP BY sid HAVING AVG(score) >= 60) AS b ON a.sid = b.sid;
SELECT * FROM t_student WHERE sid IN ( SELECT sid FROM t_score GROUP BY sid);
SELECT a.sname, a.sid, b.zs, b.zcj FROM t_student AS aINNER JOIN ( SELECT sid, COUNT(cid) as zs, SUM(score) as zcj FROM t_score GROUP BY sid) AS b ON a.sid = b.sid;
SELECT COUNT(*) FROM t_teacher WHERE tname LIKE '李%';
SELECT a.* FROM t_student AS aINNER JOIN t_course AS b ON a.sid = b.sidINNER JOIN t_teacher AS c ON b.tid = c.tidWHERE tname = '张三';
SELECT * FROM t_student AS aINNER JOIN ( SELECT sid FROM t_score GROUP BY sid HAVING COUNT(cid) < ( SELECT COUNT(cid) FROM t_course )) AS b ON a.sid = b.sid;
SELECT sname FROM t_student WHERE sid NOT IN ( SELECT a.sid FROM t_student AS a INNER JOIN t_course AS b ON a.sid = b.sid INNER JOIN t_teacher AS c ON b.tid = c.tid WHERE tname = '张三');
SELECT c.sid, d.sname, pjf FROM ( SELECT a.sid, AVG(score) as pjf FROM t_score AS a INNER JOIN ( SELECT sid FROM t_score WHERE score < 60 GROUP BY sid HAVING COUNT(cid) >= 2 ) AS b ON a.sid = b.sid GROUP BY a.sid) AS cLEFT JOIN t_student AS d ON c.sid = d.sid;
SELECT b.*, a.score FROM ( SELECT sid, score FROM t_score WHERE cid = '01' AND score < 60) AS aLEFT JOIN t_student AS b ON a.sid = b.sidORDER BY a.score DESC;
SELECT CId,COUNT(*) AS 选修人数,MAX(score) AS 最高分,MIN(score) AS 最低分,AVG(score) AS 平均分,(SUM(CASE WHEN score >= 60 THEN 1 ELSE 0 END) / COUNT(*)) AS 及格率,(SUM(CASE WHEN score >= 70 AND score < 80 THEN 1 ELSE 0 END) / COUNT(*)) AS 中等率,(SUM(CASE WHEN score >= 80 AND score < 90 THEN 1 ELSE 0 END) / COUNT(*)) AS 优良率,(SUM(CASE WHEN score >= 90 THEN 1 ELSE 0 END) / COUNT(*)) AS 优秀率FROM t_scoreGROUP BY CIdORDER BY 选修人数 DESC, CId ASC;
通过以上操作,可以对MySQL数据库进行增删改查和复杂查询操作,满足实际应用需求。
转载地址:http://uxbfk.baihongyu.com/