mysql命令大全实用 下载本文

内容发布更新时间 : 2025/12/6 18:17:09星期一 下面是文章的全部内容请认真阅读。

SELECT stu_id, SUM(grade) FROM score GROUP BY stu_id;

如果需要显示学生姓名,执行下面的SQL代码: SELECT student.id, name, SUM(grade) FROM student, score WHERE student.id=score.stu_id GROUP BY student.id;

(13)计算每个考试科目的平均成绩。 SELECT c_name, AVG(grade) FROM score GROUP BY c_name;

(14)查询计算机成绩低于95的学生的信息。 SELECT * FROM student WHERE id IN ( SELECT stu_id FROM score WHERE c_name= \计算机\

(15)查询同时参加计算机和英语考试的学生的信息。 SELECT * FROM student WHERE id =ANY ( SELECT stu_id FROM score WHERE stu_id IN ( SELECT stu_id FROM score WHERE c_name= '计算机') AND c_name= '英语' );

(16)将计算机成绩按从高到低进行排序。 SELECT stu_id, grade FROM score WHERE c_name= '计算机' ORDER BY grade DESC;

(17)从student表和score表中查询出学生的学号,然后合并查询结果。 SELECT id FROM student UNION

SELECT stu_id FROM score;

(18)查询姓张或者姓王的同学的姓名、院系、考试科目和成绩。 SELECT student.id, name,sex,birth,department, address, c_name,grade FROM student, score WHERE (name LIKE '张%' OR name LIKE '王%') AND

student.id=score.stu_id ;

(19)查询都是湖南的同学的姓名、年龄、院系、考试科目和成绩。 SELECT student.id, name,sex,birth,department, address, c_name,grade FROM student, score

WHERE address LIKE '湖南%' AND student.id=score.stu_id;

1)登录数据库系统后,在数据库下创建department表和employee表。 创建department表的SQL代码如下: CREATE TABLE department ( d_id INT(10) NOT NULL UNIQUE PRIMARY KEY , d_name VARCHAR(20) NOT NULL, function VARCHAR(20) , address VARCHAR(30) );

创建employee表的SQL代码如下: CREATE TABLE employee ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , age INT(5), d_id INT(10) , salary FLOAT , address VARCHAR(50) );

(2)插入记录

将记录插入到department表。INSERT语句如下:

INSERT INTO department VALUES( 1001,'人事部', '人事管理', '北京'); INSERT INTO department VALUES( 1002,'科研部', '研发产品', '北京'); INSERT INTO department VALUES( 1003,'生产部', '产品生产', '天津'); INSERT INTO department VALUES( 1004,'销售部', '产品销售', '上海');

将记录插入到employee表中。INSERT语句如下:

INSERT INTO employee VALUES( 9001,'Aric', '男',25, 1002,4000, '北京市海淀区'); INSERT INTO employee VALUES( 9002,'Jim ', '男',26, 1001,2500, '北京市昌平区'); INSERT INTO employee VALUES( 9003,'Tom', '男',20, 1003,1500, '湖南省永州市'); INSERT INTO employee VALUES( 9004,'Eric', '男',30, 1001,3500, '北京市顺义区'); INSERT INTO employee VALUES( 9005,'Lily', '女',21, 1002,3000, '北京市昌平区'); INSERT INTO employee VALUES( 9006,'Jack', '男',28, 1003,1800, '天津市南开区');

(3)查询employee表的所有记录。SQL代码如下: SELECT * FROM employee;

或者列出employee表的所有字段名称。SQL代码如下:

SELECT id, name, sex, age,d_id, salary, address FROM employee;

(4)查询employee表的第四条到第五条记录。 SELECT id, name, sex, age,d_id, salary, address FROM employee LIMIT 3, 2;

(5)从department表查询部门号(d_id)、部门名称(d_name)和部门职能(function)。SQL代码如下:

SELECT d_id, d_name, function FROM employee;

(6)从employee表中查询人事部和科研部的员工的信息。先从department表查询出人事部和科研部的部门号。然后到employee表中去查询员工的信息。SQL代码如下: SELECT * FROM employee WHERE d_id=ANY ( SELECT d_id FROM department WHERE d_name IN('人事部', '科研部' ) );

或者使用下面的代码。代码如下: SELECT * FROM employee WHERE d_id IN ( SELECT d_id FROM department WHERE d_name='人事部' OR d_name='科研部' );

(7)从employee表中查询年龄在25到30之间的员工的信息。可以通过两种方式来查询。 第一种方式的SQL代码如下: SELECT * FROM employee WHERE age BETWEEN 25 AND 30;

第二种方式的SQL代码如下: SELECT * FROM employee WHERE age>=25 AND age<=30;

(8)查询每个部门有多少员工。先按部门号进行分组,然后用COUNT()函数来计算每组的人数。SQL代码如下:

SELECT d_id, COUNT(id) FROM employee GROUP BY d_id;

或者给COUNT(id)取名为sum。其SQL代码为: SELECT d_id, COUNT(id) AS sum FROM employee GROUP BY d_id;

(9)查询每个部门的最高工资。先按部门号进行分组,然后用MAX()函数来计算最大值。SQL代码如下:

SELECT d_id, MAX(salary) FROM employee GROUP BY d_id;

(10)用左连接的方式查询department表和employee表。 使用LEFT JOIN ON来实现左连接。SQL代码如下:

SELECT department.d_id, d_name, function, department.address, id, name, age, sex, salary, employee.address FROM department LEFT JOIN employee ON employee.d_id=department.d_id;

(11)计算每个部门的总工资。先按部门号进行分组,然后用SUM()函数来求和。SQL代码如下:

SELECT d_id, SUM(salary) FROM employee GROUP BY d_id;

(12)查询employee表,按照工资从高到低的顺序排列。SQL代码如下: SELECT * FROM employee ORDER BY salary DESC;

(13)从department表和employee表中查询出部门号,然后使用UNION合并查询结果。SQL代码如下:

SELECT d_id FROM employee UNION

SELECT d_id FROM department;

(14)查询家是北京市员工的姓名、年龄、家庭住址。这里使用LIKE关键字。SQL代码如下:

SELECT name, age, address FROM employee WHERE address LIKE '北京%';

(15)查询名字由四个字母组成,而且最后三个字母是“ric”的员工的信息。SQL代码如下:

SELECT * FROM employee WHERE name LIKE '_ric';

也可以使用正则表达式。SQL代码如下: SELECT * FROM employee WHERE name REGEXP 'ric$';

(16)查询名字由四个字母组成,以字母“L”开头,字母“y”结尾的员工的信息。其SQL代码如下:

SELECT * FROM employee WHERE name REGEXP '^L..y$';

(1)创建food表,其SQL代码如下: CREATE TABLE food ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , name VARCHAR(20) NOT NULL , company VARCHAR(30) NOT NULL , price FLOAT , produce_time YEAR , validity_time INT(4) , address VARCHAR(50) );

(2)可以使用INSERT语句来插入记录。

第一种方法不指定具体的字段,该INSERT语句的代码如下:

INSERT INTO food VALUES(1,'AA饼干','AA饼干厂', 2.5 ,'2008', 3 ,'北京');

第二种方法是依次指定food表的字段。该INSERT语句的代码如下:

INSERT INTO food( id, name, company, price, produce_time, validity_time, address) VALUES(2,'CC牛奶','CC牛奶厂', 3.5 ,'2009', 1 ,'河北');

第三种方法是同时插入多条记录。该INSERT语句的代码如下: INSERT INTO food VALUES (NULL,'EE果冻','EE果冻厂', 1.5 ,'2007', 2 ,'北京') , (NULL,'FF咖啡','FF咖啡厂', 20 ,'2002', 5 ,'天津') , (NULL,'GG奶糖','GG奶糖', 14 ,'2003', 3 ,'广东');

(3)将“CC牛奶”的厂址(address)改为“内蒙古”,并且将价格改为3.2。 UPDATE food SET address='内蒙古', price=3.2 WHERE name='CC牛奶';

(4)将厂址在北京的公司的保质期(validity_time)都改为5年。 UPDATE food SET validity_time=5 WHERE address='北京';

(5)删除过期食品的记录。 DELETE FROM food WHERE 2009-produce_time>validity_time;

(6)删除厂址为北京的食品的记录。

DELETE FROM food WHERE address='北京';

(1)创建teacher表。SQL代码如下: CREATE TABLE teacher( id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, num INT(10) NOT NULL UNIQUE , name VARCHAR(20) NOT NULL , sex VARCHAR(4) NOT NULL , birthday DATETIME , address VARCHAR(50) );

然后向teacher表中插入记录。INSERT语句的代码如下:

INSERT INTO teacher VALUES(1, 1001, '张三','男' ,'1984-11-08' ,'北京市昌平区'); INSERT INTO teacher VALUES (2, 1002, '李四','女' ,'1970-01-21' ,'北京市海淀区') , (NULL, 1003, '王五','男' ,'1976-10-30' ,'北京市昌平区') , (NULL, 1004, '赵六','男' ,'1980-06-05' ,'北京市顺义区') ;

(2)更新id为1的记录,将生日(birthday)改为“1982-11-08”。UPDATE语句的代码如下:

UPDATE teacher SET birthday='1982-11-08' WHERE id=1 ;

(3)将性别(sex)为“男”的记录的家庭住址(address)都变为“北京市朝阳区”。UPDATE语句的代码如下:

UPDATE teacher SET address='北京市朝阳区' WHERE sex='男' ;

(4)删除教工号(num)为1002的记录删除。DELETE语句的代码如下: DELETE FROM teacher WHERE num=1002;