MYSQL练习题新手教程
- 格式:doc
- 大小:37.00 KB
- 文档页数:8
mysql基本练习题MySQL是一种流行的开源关系型数据库管理系统,广泛应用于各种Web应用程序和数据分析任务中。
为了熟悉和掌握MySQL的使用,下面将介绍一些基本的MySQL练习题。
通过这些题目的实践,你将能够加深对MySQL数据库操作的理解和技能。
练习题一:创建数据库和表格1. 创建一个名为"学生管理"的数据库。
2. 在"学生管理"数据库中创建一个名为"学生信息"的表格,包含以下列:- 学号:学生的唯一标识符,为整数型。
- 姓名:学生的姓名,为字符串型。
- 性别:学生的性别,为字符串型。
- 年龄:学生的年龄,为整数型。
- 分数:学生的考试成绩,为浮点数型。
练习题二:插入数据1. 向"学生信息"表格中插入若干学生数据,包括学号、姓名、性别、年龄和分数。
练习题三:查询数据1. 查询"学生信息"表格中的所有学生数据。
2. 查询成绩大于80分的学生数据。
3. 查询性别为女性且年龄小于20岁的学生数据。
练习题四:更新数据1. 将学号为1001的学生的年龄更新为20岁。
2. 将姓名为"张三"的学生的分数更新为90分。
练习题五:删除数据1. 删除学号为1002的学生数据。
2. 删除所有分数小于60分的学生数据。
练习题六:排序和限制1. 按照分数降序排列所有学生数据。
2. 查询前5个成绩最高的学生数据。
练习题七:聚合查询1. 查询学生总数。
2. 查询平均分最高的学生数据。
3. 查询每个性别的学生数量。
练习题八:连接表查询1. 创建一个名为"科目信息"的表格,包含以下列:- 科目ID:科目的唯一标识符,为整数型。
- 科目名称:科目的名称,为字符串型。
- 学生学号:参加该科目的学生学号,外键关联到"学生信息"表格的学号列。
2. 向"科目信息"表格中插入若干科目数据,包括科目ID、科目名称和学生学号。
MySQL数据库原理设计与应用练习题一、单选题(共31题,每题1分,共31分)1.下面关于MySQL安装目录描述错误的是()。
A、lib目录用于存储一系列的库文件B、include目录用于存放一些头文件C、bin目录用于存放一些课执行文件D、以上答案都不正确正确答案:D2.下面对“ORDER BY pno,level”描述正确的是()。
A、先按level全部升序后,再按pno升序B、先按level升序后,相同的level再按pno升序C、先按pno全部升序后,再按level升序D、先按pno升序后,相同的pno再按level升序正确答案:D3.VARCHAR(4)类型的字段存储'abcd'占用的字节数为()。
A、1B、3C、4D、5正确答案:D4.以下选项中,运算优先级别最低的是()。
A、逻辑运算符B、赋值运算符C、算术运算符D、位运算符正确答案:B5.以下不属于MySQL安装时自动创建的数据库是()。
A、sysB、mydbC、mysqlD、information_schema正确答案:B6.下列操作中,会隐式提交事务的是()。
A、SELECTB、UPDATEC、CREATE TABLED、DELETE正确答案:C7.下面对TINYINT(3)描述正确的是()。
A、3用于设置TINYINT的取值范围B、3用于设置取值范围所能表示的最大宽度C、插入数据的位数超过3时会报错D、以上答案都不正确正确答案:B8.以下()是查询语句select选项的默认值。
A、ALLB、DISTINCTC、DISTINCTROWD、以上答案都不正确正确答案:A9.下面关于“表1 LEFT JOIN 表2”的说法错误的是()。
A、连接结果中只会保留表2中符合连接条件的记录B、连接结果会保留所有表1中的所有记录C、LEFT JOIN 可用LEFT OUTER JOIN代替D、以上说法都不正确正确答案:D10.以下属于行子查询的是()。
mysql 数据库操作实践题MySQL 是一种流行的关系型数据库管理系统,广泛用于各种大小企业和应用程序中。
在这篇文章中,我们将解决一些 MySQL 数据库操作实践题。
题目一:创建数据库和表首先,让我们创建一个名为 `company` 的数据库,并在其中创建一个名为`employees` 的表。
这个表将存储公司员工的信息,包括雇员ID、姓名、职务和薪水。
```sqlCREATE DATABASE company;USE company;CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),title VARCHAR(50),salary DECIMAL(10, 2));```题目二:插入数据接下来,让我们向 `employees` 表中插入一些示例数据。
```sqlINSERT INTO employees (id, name, title, salary) VALUES(1, 'John Doe', 'Manager', 5000.00),(2, 'Jane Smith', 'Developer', 3500.00),(3, 'Mike Johnson', 'Salesperson', 3000.00),(4, 'Lisa Chen', 'Designer', 4000.00),(5, 'David Lee', 'Tester', 3200.00);```题目三:选择数据现在,我们来测试选择数据的语句。
下面的语句将选择所有职务为 'Developer' 的员工的姓名和薪水。
```sqlSELECT name, salary FROM employees WHERE title = 'Developer';```题目四:更新数据让我们假设 Lisa Chen 的薪水有所增加,我们需要更新她的薪水信息。
mysql存储过程练习题MySQL存储过程练习题MySQL是一种常用的关系型数据库管理系统,它提供了存储过程的功能,可以将一系列SQL语句封装为一个可重复使用的代码块。
存储过程可以提高数据库操作的效率,并且可以实现复杂的业务逻辑。
在本文中,我们将介绍一些MySQL存储过程的练习题,帮助读者巩固对存储过程的理解和应用。
1. 创建一个存储过程,查询指定学生的成绩信息。
```sqlDELIMITER //CREATE PROCEDURE get_student_score(IN student_id INT)BEGINSELECT * FROM scores WHERE student_id = student_id;END //DELIMITER ;```这个存储过程接收一个学生ID作为参数,然后查询该学生的成绩信息并返回结果。
2. 创建一个存储过程,计算指定学生的平均成绩。
```sqlDELIMITER //CREATE PROCEDURE get_student_average_score(IN student_id INT, OUT average_score DECIMAL(5,2))BEGINSELECT AVG(score) INTO average_score FROM scores WHERE student_id = student_id;END //DELIMITER ;```这个存储过程接收一个学生ID作为输入参数,并将平均成绩作为输出参数返回。
3. 创建一个存储过程,查询指定科目的成绩最高和最低的学生。
```sqlDELIMITER //CREATE PROCEDURE get_top_bottom_student(IN subject_id INT, OUTtop_student VARCHAR(50), OUT bottom_student VARCHAR(50))BEGINSELECT student_name INTO top_student FROM scores WHERE subject_id = subject_id ORDER BY score DESC LIMIT 1;SELECT student_name INTO bottom_student FROM scores WHERE subject_id= subject_id ORDER BY score ASC LIMIT 1;END //DELIMITER ;```这个存储过程接收一个科目ID作为输入参数,并将成绩最高和最低的学生姓名作为输出参数返回。
mysql测试题及答案MySQL测试题及答案一、选择题1. MySQL的默认端口号是什么?A. 22B. 3306C. 80D. 443答案:B2. 下列哪个SQL语句用于查询表中的所有记录?A. SELECT * FROM table_name WHERE condition;B. SELECT * FROM table_name;C. SELECT table_name.*;D. SELECT ALL FROM table_name;答案:B3. 在MySQL中,以下哪个命令用于创建新的数据库?A. CREATE DATABASE database_name;B. NEW DATABASE database_name;C. START DATABASE database_name;D. INIT DATABASE database_name;答案:A二、填空题4. 在MySQL中,使用____语句可以删除一个表。
答案:DROP TABLE5. 要查看当前MySQL服务器上所有数据库的名称,可以使用____命令。
答案:SHOW DATABASES;6. 以下SQL语句的作用是____:SELECT column1, column2 FROMtable_name WHERE column1 = value1 ORDER BY column2 DESC LIMIT 1;答案:查询表table_name中column1等于value1的记录,并按column2降序排列,返回第一条记录。
三、简答题7. 请简述主键(Primary Key)和外键(Foreign Key)的区别。
答案:主键是表中用于唯一标识每条记录的字段,一个表只能有一个主键,并且主键的值不能为NULL。
外键是表中用于与另一个表的主键建立链接的字段,用于维护两个表之间的数据一致性,一个表可以有多个外键。
8. 解释什么是事务(Transaction)以及它的特性。
mysql试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认的端口号是多少?A. 21B. 22C. 3306D. 80答案:C2. 在MySQL中,以下哪个命令用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE USERD. CREATE INDEX答案:A3. 如何在MySQL中选择所有的行和列?A. SELECT * FROM table_name;B. SELECT ALL FROM table_name;C. SELECT ALL table_name;D. SELECT table_name;答案:A4. 下列哪个选项不是MySQL的数据类型?A. INTB. DATEC. FLOATD. STRING答案:D5. 在MySQL中,如何删除一个数据库?A. DROP DATABASE database_name;B. DELETE DATABASE database_name;C. REMOVE DATABASE database_name;D. REMOVE database_name;答案:A6. 如何在MySQL中为一个表添加一个新列?A. ADD COLUMN column_name datatype;B. CREATE COLUMN column_name datatype;C. INSERT COLUMN column_name datatype;D. ADD NEW COLUMN column_name datatype;答案:A7. 在MySQL中,以下哪个命令用于删除表中的行?A. DELETE FROM table_name;B. REMOVE FROM table_name;C. DROP FROM table_name;D. REMOVE table_name;答案:A8. 如何在MySQL中更新表中的记录?A. UPDATE table_name SET column1=value1, column2=value2 WHERE condition;B. CHANGE table_name SET column1=value1, column2=value2 WHERE condition;C. MODIFY table_name SET column1=value1, column2=value2 WHERE condition;D. ALTER table_name SET column1=value1, column2=value2WHERE condition;答案:A9. MySQL中的事务是什么?A. 一系列原子性的SQL操作B. 单个SQL语句C. 一组数据D. 一个数据库答案:A10. 如何在MySQL中查看当前数据库的版本?A. SELECT VERSION();B. SHOW VERSION;C. VERSION();D. SHOW DATABASE VERSION;答案:A二、填空题(每题2分,共20分)1. MySQL的默认用户是________。
mysql练习题50道1. 编写一个MySQL查询,用于查找表中的所有数据。
```SELECT * FROM 表名;```2. 编写一个MySQL查询,用于查找表中的所有数据,并按照某一列的升序排列。
```SELECT * FROM 表名 ORDER BY 列名 ASC;```3. 编写一个MySQL查询,用于查找表中的所有数据,并按照某一列的降序排列。
```SELECT * FROM 表名 ORDER BY 列名 DESC;```4. 编写一个MySQL查询,用于查找表中某一列的数据,并去除重复项。
```SELECT DISTINCT 列名 FROM 表名;```5. 编写一个MySQL查询,用于查找表中满足某个条件的数据。
```SELECT * FROM 表名 WHERE 条件;```6. 编写一个MySQL查询,用于查找表中满足多个条件的数据。
```SELECT * FROM 表名 WHERE 条件1 AND 条件2;```7. 编写一个MySQL查询,用于查找表中满足某个条件或另一个条件的数据。
```SELECT * FROM 表名 WHERE 条件1 OR 条件2;```8. 编写一个MySQL查询,用于计算表中某一列的总和。
```SELECT SUM(列名) FROM 表名;```9. 编写一个MySQL查询,用于计算表中某一列的平均值。
```SELECT AVG(列名) FROM 表名;```10. 编写一个MySQL查询,用于计算表中某一列的最大值。
```SELECT MAX(列名) FROM 表名;```11. 编写一个MySQL查询,用于计算表中某一列的最小值。
```SELECT MIN(列名) FROM 表名;```12. 编写一个MySQL查询,用于统计表中某一列的行数。
```SELECT COUNT(列名) FROM 表名;```13. 编写一个MySQL查询,用于在查询结果中限制返回的行数。
…Iampl34(数据库名)-MySQL数据库小型关系型数据库开源数据库--SQL命令不仅仅适用于MySQL数据库,适用于所有的支持SQL命令的数据库… 进入mysql的方式直接mysql冋车,以匿名的方式进入到数据库,只能看到允许游客看到的数据库™ mysql -h(mysql主机)localhost(本机)・u(用户)root(超级管理员)-p(密码)回车C:\Users\Administrator>mysql -h localhost -u root -pEnter password: ―输入密码--show databases显示当前服务器下所有的数据库mysql> show databases;…显示:| Database |+ -------------------- +| in format! on_ schema |I mysql I| performsnce_schema |I sys I| ultrax |+ -------------------- +5 rows in set (0.00 sec)mysql>-上下键可以调用历史记录命令-每一行命令要以分号结束--create!创建)database(数据库)Iampl34(数据库名)mysql> create database Iampl34;…显示:Query OK, 1 row affected (0.00 sec)mysql>--删除数据库drop database数据库名mysql> drop database Iampl34;…显示:Query OK, 0 rows affected (0.08 sec)mysql>…设置字符集的目的就是为了防止数据库存储屮文时乱码-创建数据库如果Iampl34不存在,同时设置默认的字符集为utf8(没有・) mysql> create database if not exists Iampl34 default charset=utf8;…显示:Query OK, 1 row affected (0.00 sec)mysql>…删除数据库如果存在Iampl34mysql> drop database if exists Iampl34;™显示:Query OK, 0 rows affected (0.00 sec)mysql>—选择数据库Imapl34mysql> use Iampl34…显不:Database changedmysql>***************************■…创建表mysql> create table stu(—-id 字段名int 字段属性not null 不为空autojncrement 自增primary key 主 键(唯一、不能为空)-> id int not null auto _in creme nt primary key,-> name varchar(20) unique, ・-varchar(长度)字符串类型・> sex tinyint default 3,— tinyint 较小的整型 unique 唯一 default 3 设置默认值 为3 (该位置没有写入数据吋默认添加3)・> age tinyint ・>)engine = myisam default charset=utf8; 一一 engine 数据表"勺弓I 擎 default charset=utf8 设置默认字符集…显示:Query OK, 0 rows affected (0.14 sec)mysql>―show create table 数据表名 显示创建表的语句\G 把数据立起来显示mysql> show create table stu\G…显示:]row ***************************Table: stuCreate Table: CREATE TABLE 'stu' ('id' int(ll) NOT NULL AUTOJNCREMENT'name' varchar(20) DEFAULT NULL,'sex' tinyint ⑷ DEFAULT *3','age' tinyint ⑷ DEFAULT NULL,PRIMARY KEY ('id'),UNIQUE KEY 'name' ('name'))ENGINE 二MylSAM DEFAULT CHARSET=utf8'1 row in set (0.00 sec) mysql>-查看表结构 mysql> desc stu;™显示:mysql>…对于id 是主键、自增,不要管他!! !一-增insert 插入-插入一条数据insert into 表名(字段名1,字段名2……)value (字段1的值,字段2的 值……); mysql> insert into stu (name,sex,age ) value ('李大锤',2,18);I —I…Mk/Ix :Query OK, 1 row affected (0.02 sec)mysql>—查询stu 表的所有的数据select 查 mysql> select * from stu;I id | name| sex | age | 18 | mysql>--直插入了 name,age 两个字段,sex 字段使用默认值3 mysql> insert into stu(name,age ) value 。
mysql数据库学习(实训练习)1、在数据库中新建⼀张 product表:包括字段p_id(int)、p_Name(varchar)、price(double)、num(int)、company(varchar)、address(varchar)create table product(p_id int not null primary key auto_increment,p_Name varchar(4),price double(6,2),num int,company varchar(10),address varchar(10));2、新增⼏条产品记录:电视机、冰箱、服装、⼿机;(按照下⾯的数据插⼊)insert into product(`p_Name`,`price`,`num`,`company`,`address`)values("电视",1000.00,800,"长虹","成都"),("电视",1000.00,1000,"海尔","成都"),("冰箱",1800.00,300,"长虹","北京"),("冰箱",3500.00,500,"海尔","重庆"),("服装",280.00,1000,"雅⼽尔","成都"),("服装",1200.00,200,"雅⼽尔","北京"),("⼿机",2500.00,200,"华为","深圳"),("⼿机",200.00,1200,"",""),("⼿机",204.00,1500,"","");("⼿机",202.00,1000,"","");3、将所有电视机的数量修改为1000台,将所有⼿机的价格修改为2500元;-- 修改所有numupdate product set num = 1000;update product set num = 1000 where p_Name = "电视" ;update product set price = 2500 where p_Name = "⼿机" ;4、删除⼿机价格介于1000元和2000元之间的记录;delete from product where price between 1000.00 and 2500.00;5、查询出所有价格⼤于200元的服装或价格⼩于5000元的冰箱;select * from product where p_Name ="服装" or p_Name = "冰箱" and (200 > price < 5000) ;select * from product where p_Name='冰箱' and price<=5000 or p_Name="服装" and price>=200;例如:1 电视 1000.00 800 长虹成都2 电视 1000.00 1000 海尔成都3 冰箱 1800.00 300 长虹北京4 冰箱 3500.00 500 海尔重庆5 服装 280.00 1000 雅⼽尔成都6 服装 1200.00 200 雅⼽尔北京7 ⼿机 2500.00 200 华为深圳8 ⼿机 200.00 12009 ⼿机 204.00 150010 ⼿机 202.00 10001、新建⼀张表Student表,包括字段:s_id(学⽣id,整型,主键),s_number(学号,整型),s_name(姓名,字符型),s_age(年龄,整型),s_tel(电话,字符型),s_address(地址,字符型),s_score(成绩,浮点型),其中,s_id(学⽣ID)为主键;create table Student(s_id int not null primary key auto_increment,s_number int,s_name varchar(10),s_age int,s_tel varchar(11),s_address varchar(20),s_score double(6,2));2、插⼊10条记录,显⽰不同的学⽣记录,以s_id进⾏区分;insert into Student(`s_number`,`s_name`,`s_age`,`s_tel`,`s_address`,`s_score`)values(19301041,"⼩⼀",18,"134********","四川成都",89),(19301042,"⼩⼆",19,"134********","四川成都",80),(19301043,"⼩三",20,"134********","四川成都",62),(19301044,"⼩四",21,"134********","四川成都",77),(19301045,"⼩五",22,"134********","四川成都",98),(19301046,"⼩六",23,"134********","四川成都",38),(19301047,"⼩七",17,"134********","四川成都",79);3、查询出student表中分数⼤于80分或分数⼩于60分的学⽣;select * from Student where s_score>80 or s_score<60;4、查询出年龄在18岁以上的学⽣,并按照s_score的降序,s_number的升序进⾏排序;select * from Student where s_age>18 order by s_score desc, s_number asc;5、查询出年龄介于25岁⾄35岁之间的学⽣记录;select * from Student where s_age between 25 and 35;6、将表中所有年龄⼤于18岁的学⽣的地址修改为"成都",电话修改为"135***";update Student set s_address="成都",s_tel="135***" where s_age > 18;。
mysql数据库实操题MySQL数据库实操题通常涉及到数据库的创建、表的设计、数据的插入、查询和更新等方面。
以下是一个MySQL数据库实操题的示例:题目:假设你是一个图书馆管理员,需要创建一个数据库来管理图书馆的图书信息。
请按照以下要求完成数据库的设计和操作:1. 创建一个名为"library"的数据库。
2. 在该数据库中创建一个名为"books"的表,包含以下字段:book_id,图书编号,为整数类型,主键。
title,图书标题,为字符串类型。
author,图书作者,为字符串类型。
publication_year,图书出版年份,为整数类型。
quantity,图书数量,为整数类型。
3. 向"books"表中插入以下数据:book_id: 1, title: "Harry Potter and the Philosopher's Stone", author: "J.K. Rowling",publication_year: 1997, quantity: 5。
book_id: 2, title: "To Kill a Mockingbird", author: "Harper Lee", publication_year: 1960, quantity: 3。
book_id: 3, title: "1984", author: "George Orwell", publication_year: 1949, quantity: 2。
4. 查询"books"表中所有图书的信息。
5. 查询"books"表中所有作者为"J.K. Rowling"的图书信息。
mysql50条练习题MySQL是一种广泛应用于数据库管理系统的开源软件,它的功能强大且易于使用。
为了更好地掌握MySQL的使用技巧和理解数据库的基本概念,下面将介绍50个MySQL练习题,帮助读者提升MySQL技能。
1. 创建一个名为"employees"的表,包含字段:员工ID、姓名、性别、年龄、部门ID。
2. 插入5条员工信息到"employees"表中。
3. 查询"employees"表中所有员工的信息。
4. 查询"employees"表中员工ID为1的员工信息。
5. 查询"employees"表中年龄大于30岁的员工信息。
6. 查询"employees"表中部门ID为2的员工信息。
7. 查询"employees"表中男性员工的信息。
8. 查询"employees"表中女性员工的信息,并按年龄降序排列。
9. 更新"employees"表中员工ID为1的员工的姓名为"张三"。
10. 删除"employees"表中员工ID为2的员工信息。
11. 创建一个名为"departments"的表,包含字段:部门ID、部门名称。
12. 插入3个部门信息到"departments"表中。
13. 查询"departments"表中所有部门的信息。
14. 查询"departments"表中部门ID为1的部门信息。
15. 查询"departments"表中部门名称为"人事部"的部门信息。
16. 查询"employees"表中员工所在部门的信息。
17. 查询"employees"表中每个部门的员工数量。
mysql练习题讲解MySQL是一种关系型数据库管理系统,广泛应用于大型企业和网站的数据存储和管理中。
为了帮助读者更好地掌握MySQL的应用和技巧,本文将为大家详细介绍一些常见的MySQL练习题,并给出相应的解答和解释。
通过学习和实践这些练习题,读者将更好地理解MySQL 的使用和优化。
【练习一】创建数据库和表格在MySQL中,创建数据库和表格是基础操作。
下面是一个创建学生表格的例子:```mysqlCREATE DATABASE IF NOT EXISTS students;USE students;CREATE TABLE IF NOT EXISTS students_info (id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(100) NOT NULL,gender ENUM('男', '女') NOT NULL,age INT(3) NOT NULL,PRIMARY KEY (id));```上述代码会创建一个名为`students`的数据库,并在该数据库中创建一个名为`students_info`的表格。
该表格包含`id`、`name`、`gender`和`age`四个字段,其中`id`字段为自增主键。
【解答】运行上述代码后,将成功创建`students`数据库和`students_info`表格。
【解释】- `CREATE DATABASE`用于创建数据库,`IF NOT EXISTS`则表示如果数据库不存在才创建。
- `USE`语句用于指定使用哪个数据库。
- `CREATE TABLE`用于创建表格,`IF NOT EXISTS`表示如果表格不存在才创建。
- `id`字段设为自增主键,即每次插入一条新记录时,`id`自动递增,确保每条记录唯一性。
【练习二】插入数据插入数据是数据库操作中常见的操作之一。
下面是一个向学生表格中插入数据的例子:```mysqlINSERT INTO students_info (name, gender, age)VALUES ('张三', '男', 18), ('李四', '男', 20), ('王五', '女', 19);```上述代码将向`students_info`表格中插入了三条数据,分别是张三、李四和王五的信息。
一、单项选择题1~5 BBCAC 6~10 ABDBA二、填空题1. 逻辑独立性2. 1,多3. 记录/元组,字段/属性4. 205. root第2章一、单项选择题1~5 BCACA二、填空题1. 逻辑结构设计2. 需求分析3. 命名冲突,结构冲突4. 可由基本属性推导或计算得到的属性5. 3NF第3章一、单项选择题1~5 DADCD 6~10 BBACA 11~15 BDABB二、填空题1. TINYINT2. 二进制字符串3. CREATE TABLE student(sno CHAR(12), sname VARCHAR(50), address VARCHAR(100));4. ALTER TABLE student RENAME contact;5. CREATE TABLE contact2 LIKE contact;6. DROP TABLE contact2;7.外键8.SET NULL9. 检查10. 主键第4章一、单项选择题1~5 DCBCB 6~10 BCAAB二、填空题1. REPLACE2. 数据表定义的字段3. WHERE4. 外键5. CASCADE一、单项选择题1~5 CBCDA 6~10 ACDDC二、填空题1、表名.字段名称2、WHERE3、等值非等值4、别名5、GROUP BY第6章一、单项选择题1~5 DCBAD二、填空题1、定义数据2、一一对应3、表4、ALTER VIEW5、WHERE第7章一、单项选择题1~5 DAACD二、填空题1、排序2、一3、唯一4、CHAR VARCHAR5、被删除第8章一、单项选择题1~5 DBADA二、填空题1、ABXYZ2、RETURN3、FETCH4、BEFORE AFTER5、INOUT6、事件第9章一、单项选择题1~5 BBADC 6~10 CACCA1. InnoDB2. 原子性3. START TRANSACTION 或BEGIN WORK4. 脏读5. 可重复读第10章一、单项选择题1~5 BAADB 6~10 ABCAA二、填空题1. 请求核实阶段2. GRANT3. CREATE,INSERT4. SHOW BINARY LOGS5. RESET MASTER。
mysql练习题及答案(MySQL exercises and answers)MySQL query exercisesThe definition of the Sutdent tableThe field name description data type key non empty only incrementId number INT (10) is whether it isThe name of Name VARCHAR (20) whether or notSex VARCHAR (4) sex no no no no noYear of birth Birth YEAR no no no no noDepartment and VARCHAR (20) whether or notAddress home address: VARCHAR (50) no no no no noThe definition of the Score tableThe field name description data type key non empty only incrementId number INT (10) is whether it isStu_id number INT (10) whether or notC_name VARCHAR (20) no no no no noThe Grade fraction of INT (10) no no no no no1. create student and score tableCREATE TABLE (studentID INT (10) NOT NULL UNIQUE PRIMARY KEY,Name VARCHAR (20) NOT NULL,Sex VARCHAR (4),Birth YEAR,Department VARCHAR (20),Address VARCHAR (50));Create table score. The SQL code is as follows: CREATE TABLE (scoreID INT (10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, Stu_id INT (10) NOT NULL,C_name VARCHAR (20),Grade INT (10));2. for the student and score tables add recordTo the student table INSERT statement to insert records as follows:INSERT INTO student (VALUES 901, a 'boss',' male ',' 1985, Department of computer ',' Beijing Haidian District ');INSERT INTO student VALUES (902, Zhang 'Dick', 'male', 1986 ', Chinese', 'Beijing Changping District');INSERT INTO student VALUES (903 ', three', 'female', 1990 ', Chinese', 'Hunan Yongzhou');INSERT INTO student VALUES (904, four 'Lee', 'male', 1990 '', 'the English Department, Liaoning province Fuxin city');INSERT INTO student VALUES (905, five 'King' and 'female', 1991 '', 'the English Department, Fujian province Xiamen city');INSERT INTO student VALUES (906, six 'King', 'male', 1988 '' ', Department of computer, Hunan city of Hengyang province');To the score table INSERT statement to insert records as follows:INSERT INTO score VALUES (NULL, 901, the 'computer', 98);INSERT INTO score VALUES (NULL, 901, 'English', 80); INSERT INTO score VALUES (NULL, 902, the 'computer', 65); INSERT INTO score (VALUES NULL, 902,“中文',88);插入评分值(null,903,“中文',95);插入评分值(null,904,“计算机',70);插入评分值(null,904,“英语',92);插入评分值(null,905,“英语',94);插入评分值(null,906,“计算机',90);插入评分值(null,906,“英语',85);3。
mysql进阶练习题一、基础题1. 创建一个名为"employees"的数据库,并将其字符集设置为"utf8mb4"。
2. 在"employees"数据库中创建一个名为"employees"的表格,表格包含以下字段:- employee_id:员工ID,类型为INT,主键,自增长。
- first_name:员工姓氏,类型为VARCHAR(50)。
- last_name:员工名字,类型为VARCHAR(50)。
- salary:员工薪资,类型为DECIMAL(10,2)。
- hire_date:员工入职日期,类型为DATE。
3. 向"employees"表格中添加以下3个员工的信息:- 姓名:John Doe,薪资:5000,入职日期:2020-01-01。
- 姓名:Jane Smith,薪资:7000,入职日期:2019-05-15。
- 姓名:Michael Johnson,薪资:6000,入职日期:2020-10-10。
4. 查询"employees"表格中的所有员工信息,并按照薪资从高到低进行排序。
5. 将"employees"表格中Michael Johnson的薪资调整为8000。
二、进阶题1. 在"employees"表格中创建一个名为"departments"的表格,表格包含以下字段:- department_id:部门ID,类型为INT,主键,自增长。
- department_name:部门名称,类型为VARCHAR(50)。
2. 向"departments"表格中添加以下3个部门的信息:- 部门名称:Sales。
- 部门名称:Marketing。
- 部门名称:Human Resources。
以下是一些MySQL数据库的实训题目:1. 创建一个新的数据库并指定字符集。
a. 创建一个名为mydb1的数据库,并设置字符集为UTF-8。
b. 创建一个名为mydb2的数据库,并设置字符集为GBK。
2. 查询所有数据库检查是否创建成功。
a. 查询所有数据库,检查mydb1和mydb2是否在列出的数据库中。
3. 分别查询两个数据库的字符集,检查是否设置成功。
a. 查询mydb1的字符集,确保其为UTF-8。
b. 查询mydb2的字符集,确保其为GBK。
4. 在两个数据库中创建表。
a. 在mydb1中创建名为employees的表,包含name(字符集UTF-8)和age两个字段。
b. 在mydb2中创建名为customers的表,包含name(字符集GBK)和age两个字段。
5. 添加一些数据到表中。
a. 向mydb1中的employees表添加一些员工信息,包括name和age。
b. 向mydb2中的customers表添加一些客户信息,包括name和age。
6. 查询数据。
a. 从mydb1中的employees表查询所有员工的信息。
b. 从mydb2中的customers表查询所有客户的信息。
7. 更新数据。
a. 更新mydb1中employees表中某个员工的name和age。
b. 更新mydb2中customers表中某个客户的name和age。
8. 删除数据。
a. 从mydb1中的employees表删除某个员工的信息。
b. 从mydb2中的customers表删除某个客户的信息。
9. 删除数据库。
a. 删除mydb1数据库。
b. 删除mydb2数据库。
以上实训题目可以帮助你练习MySQL数据库的基本操作,包括创建数据库、设置字符集、创建表、添加数据、查询数据、更新数据和删除数据等。
在完成这些题目后,你将能够更好地掌握MySQL数据库的使用和管理。
mysql表格练习题MySQL是一种常用的关系型数据库管理系统,被广泛应用于各个领域。
为了能够熟练掌握MySQL的表格操作,下面将为大家提供一些MySQL表格练习题。
通过完成这些练习,您将加深对MySQL表格的理解,并提升自己的操作能力。
题目一:创建表格请创建一个名为“学生信息”的表格,包含以下字段:1. 学生ID(ID):整数类型,主键。
2. 学生姓名(Name):字符串类型。
3. 学生年龄(Age):整数类型。
4. 学生性别(Gender):字符串类型。
请使用合适的SQL语句创建此表格。
题目二:插入数据请向“学生信息”表格中插入以下数据:1. ID:101,Name:张三,Age:20,Gender:男2. ID:102,Name:李四,Age:22,Gender:男3. ID:103,Name:王五,Age:21,Gender:女请使用合适的SQL语句完成数据的插入。
题目三:查询数据请编写SQL语句查询“学生信息”表格中的所有数据,并按照学生ID进行升序排序。
题目四:更新数据请编写SQL语句将“学生信息”表格中ID为101的学生姓名改为“赵六”。
题目五:删除数据请编写SQL语句删除“学生信息”表格中ID为103的学生数据。
题目六:表格关联除了学生信息表格之外,还有一个名为“课程信息”的表格,包含以下字段:1. 课程ID(ID):整数类型,主键。
2. 课程名称(Name):字符串类型。
3. 学分(Credit):整数类型。
请编写SQL语句查询所有选修了ID为101的学生的课程信息。
题目七:表格联合请编写SQL语句将“学生信息”表格和“课程信息”表格联合查询,查询每个学生所选修的课程信息。
以上为MySQL表格练习题,通过完成这些练习,您将进一步巩固和提升自己的MySQL表格操作能力。
希望您能够充分利用这些练习,不断加深对MySQL的理解和掌握,提高自己的数据库管理能力。
sql: structured query language(结构化查询语言)用户名和密码:root创建一个名称为mydb1的数据库。
create database mydb1;查看所有数据库show databases;创建一个使用utf-8字符集的mydb2数据库。
create database mydb2 character set utf8;创建一个使用utf-8字符集,并带校对规则的mydb3数据库。
create database mydb3 character set utf8 collate utf8_general_ci;显示库的创建信息show create database mydb3;删除前面创建的mydb1数据库drop database mydb1;查看服务器中的数据库,并把其中某一个库的字符集修改为gb2312;alter database mydb2 character set gb2312;show create database mydb2;备份库1、准备库的数据create database mydb1;use mydb1;create table test(id int);insert into test(id) values(1);select * from test;2、备份库2.1 退出mysql客户端:quit2.2 在windows命令行窗口中下执行:mysqldump -uroot -p mydb1>c:\test.sql3、删除库:drop database mydb1;4、恢复库(1):4.1 创建库:create database mydb1;4.2 source c:\test.sql (通过执行脚本文件实现)5、恢复库(2):mysql -uroot -p mydb1<c:\test.sql (window命令)创建一个员工表use mydb1; 进入库create table employee(id int,name varchar(20),gender varchar(4),birthday date,entry_date date,job varchar(40),salary double,resume text)character set utf8 collate utf8_general_ci;查看库中所有表show tables;查看表的创建细节show create table employee;查看表的结构desc employee;在上面员工表的基本上增加一个image列。
alter table employee add image blob;修改job列,使其长度为60。
alter table employee modify job varchar(60);删除sex列。
alter table employee drop gender;表名改为user。
rename table employee to user;修改表的字符集为utf-8alter table user character set gb2312;show create table user;列名name修改为usernamealter table user change column name username varchar(20);使用insert语句向表中插入一个员工的信息。
insert into employee(id,username,birthday,entry_date,job,salary,resume) values(1,'aaa','1980-09-09','1980-09-09','bbb',1000,'bbbbbbbb');查看插入的数据select * from employee;使用insert语句向表中插入一个员工的信息。
insert into employee(id,username,birthday,entry_date,job,salary,resume) values(2,'小李子','1980-09-09','1980-09-09','bbb',1000,'bbbbbbbb');插入失败后的解决方案show variables like 'chara%';set character_set_client=gb2312;显示失败后的解决方案set character_set_results=gb2312;将所有员工薪水修改为5000元。
update employee set salary=5000;将姓名为’aaa’的员工薪水修改为3000元。
update employee set salary=3000 where username='aaa';将姓名为’aaa’的员工薪水修改为4000元,job改为cccupdate employee set salary=4000,job='ccc' where username='aaa';将aaa的薪水在原有基础上增加1000元。
update employee set salary=salary+1000 where username='aaa';删除表中名称为’zs’的记录。
delete from employee where username='小李子';删除表中所有记录。
delete from employee;使用truncate删除表中记录。
truncate table employee;查询表中所有学生的信息。
select id,name,chinese,english,math from student;select * from student;查询表中所有学生的姓名和对应的英语成绩。
select name,english from student;过滤表中重复数据。
select distinct english from student;在所有学生的英语分数上加10分特长分。
select name,english+10 from student;统计每个学生的总分。
select name,(english+chinese+math) from student;使用别名表示学生分数。
select name as 姓名,(english+chinese+math) as 总分 from student; select name 姓名,(english+chinese+math) 总分 from student;查询姓名为王五的学生成绩select * from student where name='王五';查询英语成绩大于90分的同学select * from student where english>90;查询总分大于200分的所有同学select * from student where (english+chinese+math)>200;查询英语分数在 80-90之间的同学。
select * from student where english>80 and english<90;select * from student where english between 80 and 90;查询数学分数为89,90,91的同学。
select * from student where math=80 or math=90 or math=91; select * from student where math in(80,90,91);查询所有姓李的学生成绩。
select * from student where name like '李%';对数学成绩排序后输出。
select name,math from student order by math;对总分排序后输出,然后再按从高到低的顺序输出select name from student order by (math+english+chinese) desc;对姓李的学生成绩排序输出select name 姓名,(math+english+chinese) 总分 from student where name like '李%' order by (math+english+chinese) desc;统计一个班级共有多少学生?select count(*) from student;select count(name) from student;统计数学成绩大于90的学生有多少个?select count(*) from student where math>90;统计总分大于250的人数有多少?select count(*) from student where (math+english+chinese)>250;统计一个班级数学总成绩?select sum(math) from student;统计一个班级语文、英语、数学各科的总成绩select sum(math),sum(chinese),sum(english) from student;统计一个班级语文、英语、数学的成绩总和select sum(chinese+math+english) from student;统计一个班级语文成绩平均分select sum(chinese)/count(chinese) from student;求一个班级数学平均分?select avg(math) from student;求一个班级总分平均分select avg(chinese+english+math) from student;求班级最高分和最低分select max(chinese+english+math),min(chinese+english+math) from student;对订单表中商品归类后,显示每一类商品的总价select product from orders group by product;select product,sum(price) from orders group by product;查询购买了几类商品,并且每类总价大于100的商品select product from orders group by product having sum(price)>100;定义带有主键约束的表create table test1(id int primary key,name varchar(20),password varchar(20));定义一个主键自动增长的表create table test2(id int primary key auto_increment,name varchar(20),password varchar(20));create table test3(id int primary key auto_increment,name varchar(20) unique);create table test4(id int primary key auto_increment,name varchar(20) unique not null);//什么是外键约束create table husband(id int primary key,name varchar(20));create table wife(id int primary key,name varchar(20),husband_id int,constraint husband_id_FK foreign key(husband_id) references husband(id)//一对多或多对一create table department()create table employee()//多对多create table teacher(id int primary key,name varchar(20),salary double);create table student(id int primary key,name varchar(20));create table teacher_student(teacher_id int,student_id int,primary key(teacher_id,student_id),constraint teacher_id_FK foreign key(teacher_id) references teacher(id), constraint student_id_FK foreign key(student_id) references student(id) );//一对一create table personid int primary key,name varchar(20));create table idcard(id int primary key,address varchar(40),constraint id_FK foreign key(id) references person(id) );。