MySql基础练习题100道(1-50)

一、基础:

1、在命令行中启动MySql:

解:net start mysql

2、在命令行中关闭MySql:

解:net stop mysql

3、使用运行连接MySql数据库:

解:mysql -uroot -p

再在命令行中输入:mysql密码

4、使用命令在命令行中查看所有的数据库:

解:show databases;(注:命令后必须跟上英文分号)

5、使用命令在命令行中进入某个数据库:

解:use 需要进入的数据库;(注:命令后必须跟上英文分号)

6、使用命令在命令行中查看指定数据库中的所有表:

解:show tables;(注:命令后必须跟上英文分号)

7、使用命令在命令行中创建一个名为demo1的数据库:

解:create database demo1;(注:命令后必须跟上英文分号)

8、使用命令删除名为demo1的数据库:

解:drop database demo1;(注:命令后必须跟上英文分号)

9、使用命令创建一个学生信息表(t_student)列为(id、name、age、email),id为主键且自增:

解:CREATE TABLE t_student(

id BIGINT PRIMARY KEY AUTO_INCREMENT,

name VARCHAR(30),

age INT,

email VARCHAR(30)

)(注:每列需要英文逗号隔开,最后一列不需要)

10、使用命令删除t_student表:

解:DROP TABLE t_student

11、使用命令创建一个名为order表,列:id(主键且自增)、name、age:

解:CREATE TABLE `order`(

id  BIGINT PRIMARY KEY AUTO_INCREMENT,

name VARCHAR(30),

age INT

)(注:每列需要英文逗号隔开,最后一列不需要。表名不能使用关键字,如果要使用需要反引号括起来)

12、使用命令删除order表:

解:DROP TABLE `order`(注:表名不能使用关键字,如果要使用需要反引号括起来)

二、增加:

建表语句:

CREATE TABLE t_student(
       id BIGINT PRIMARY KEY AUTO_INCREMENT,
       name VARCHAR(30),
       age INT,
       email VARCHAR(30)
       )

1、使用语句插入一条学生信息到t_student表(张三、18、10000@qq.com):

解:INSERT INTO t_student(name,age,email)VALUES('张三',18,'10000@qq.com')

2、使用语句插入部分学生信息到t_student表(周七、22):

解:INSERT INTO t_student(name,age)VALUE('周七',22)

3、使用语句插入多条学生信息到t_student表(赵六、18、40000@qq.com)(李四、19、20000@qq.com)(王五、20、30000@qq.com):

解:INSERT INTO t_student(name,age,email)

VALUES ('李四',19,'20000@qq.com'),('赵六',18,'40000@qq.com'),('王五',20,'30000@qq.com')

4、插入查询出来的学生姓名:

解:INSERT INTO t_student (name) SELECT name FROM t_student

三、删除和更改:

1、删除id为6的学生:

解:DELETE FROM t_student WHERE id=6

2、修改id为7的学生的姓名为赵匡胤:

解:UPDATE t_student SET name='赵匡胤' WHERE id=7

3、修改id为3的学生,名字为张三丰,年龄140,邮箱为zhangsanf@:

解:UPDATE t_student SET name='张三丰',age=140,email='zhangsanf@'

4、删除所有的学生信息:

解:DELETE FROM t_student

四、查询:

建表语句:

CREATE TABLE `product` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`productName` varchar(50) DEFAULT NULL,
`dir_id` bigint(20) DEFAULT NULL,
`salePrice` double(10,2) DEFAULT NULL,
`supplier` varchar(50) DEFAULT NULL,
`brand` varchar(50) DEFAULT NULL,
`cutoff` double(2,2) DEFAULT NULL,
`costPrice` double(10,2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;

插入信息:

INSERT INTO `product` VALUES ('1', '罗技M90', '3', '90.00', '罗技', '罗技', '0.50', '35.00');
INSERT INTO `product` VALUES ('2', '罗技M100', '3', '49.00', '罗技', '罗技', '0.90', '33.00');
INSERT INTO `product` VALUES ('3', '罗技M115', '3', '99.00', '罗技', '罗技', '0.60', '38.00');
INSERT INTO `product` VALUES ('4', '罗技M125', '3', '80.00', '罗技', '罗技', '0.90', '39.00');
INSERT INTO `product` VALUES ('5', '罗技木星轨迹球', '3', '182.00', '罗技', '罗技', '0.80', '80.00');
INSERT INTO `product` VALUES ('6', '罗技火星轨迹球', '3', '349.00', '罗技', '罗技', '0.87', '290.00');
INSERT INTO `product` VALUES ('7', '罗技G9X', '3', '680.00', '罗技', '罗技', '0.70', '470.00');
INSERT INTO `product` VALUES ('8', '罗技M215', '2', '89.00', '罗技', '罗技', '0.79', '30.00');
INSERT INTO `product` VALUES ('9', '罗技M305', '2', '119.00', '罗技', '罗技', '0.82', '48.00');
INSERT INTO `product` VALUES ('10', '罗技M310', '2', '135.00', '罗技', '罗技', '0.92', '69.80');
INSERT INTO `product` VALUES ('11', '罗技M505', '2', '148.00', '罗技', '罗技', '0.92', '72.00');
INSERT INTO `product` VALUES ('12', '罗技M555', '2', '275.00', '罗技', '罗技', '0.88', '140.00');
INSERT INTO `product` VALUES ('13', '罗技M905', '2', '458.00', '罗技', '罗技', '0.88', '270.00');
INSERT INTO `product` VALUES ('14', '罗技MX1100', '2', '550.00', '罗技', '罗技', '0.76', '300.00');
INSERT INTO `product` VALUES ('15', '罗技M950', '2', '678.00', '罗技', '罗技', '0.78', '320.00');
INSERT INTO `product` VALUES ('16', '罗技MX Air', '2', '1299.00', '罗技', '罗技', '0.72', '400.00');
INSERT INTO `product` VALUES ('17', '罗技G1', '4', '155.00', '罗技', '罗技', '0.80', '49.00');
INSERT INTO `product` VALUES ('18', '罗技G3', '4', '229.00', '罗技', '罗技', '0.77', '96.00');
INSERT INTO `product` VALUES ('19', '罗技G500', '4', '399.00', '罗技', '罗技', '0.88', '130.00');
INSERT INTO `product` VALUES ('20', '罗技G700', '4', '699.00', '罗技', '罗技', '0.79', '278.00');
INSERT INTO `product` VALUES ('21', '光盘', null, '10.00', '罗技', '罗技', '0.80', '2.00');

1、查询所有货品信息:

解:SELECT * FROM product

2、查询所有货品的id、productName、salePrice:

解:SELECT id,productName,salePrice FROM product

3、查询商品的分类编号:

解:SELECT dir_id FROM product

4、查询所有商品的id、名称、批发价(salePrice*cutoff):

解:SELECT id,productName,salePrice*cutoff FROM product

5、查询所有货品的id、名称、和各进50个的的成本价(costPrice):

解:SELECT id,productName,costPrice*50 FROM product

6、查询所有货品的id、名称、各进50个,并且每个运费1元的成本:

解:SELECT id,productName,(costPrice+1)*50 FROM product

7、查询所有货品的id、名称、各进50个,并且每个运费1元的成本(别名allPrice):

解:SELECT id,productName,(costPrice+1)*50 AS allPrice FROM product

8、查询商品的分类编号(去除重复):

解:SELECT DISTINCTdir_id FROM product

9、查询货品零售价salePrice)119的所有商品信息:

解:SELECT * FROM product WHERE salePrice=119

10、查询货品名为罗技G9X的所有货品信息:

解:SELECT * FROM product productName='罗技G9X'

11、查询货品名不为罗技G9X的所有商品信息:

解:SELECT * FROM product WHERE productName!='罗技G9X'

12、查询分类编号不等于2的所有货品信息:

解:SELECT * FROM product WHERE dir_id!=2

13、查询货品名称、零售价(salePrice)小于等于200的货品:

解:SELECT productName,salePrice FROM product  WHERE salePrice<=200

14、查询id、货品名称、批发价(salePrice*cutoff)大于350的货品:

解:SELECT id,productName,salePrice*cutoff FROM product WHERE salePrice*cutoff>=350

15、查询id、商品名称 零售价(salePrice)在300-400之间的货品:

解:SELECT id,productName,salePrice FROM product WHERE salePrice>=300 AND salePrice<=400

16、查询id、商品名称 分类为2和4的所有商品:

解:SELECT id,productName dir_id FROM product WHERE dir_id=2 OR dir_id=4

17、查询id、商品名称、分类编号、salePrice、costPrice的货品零售价大于等于250或者成本大于等于200的商品:

解:SELECT id,productName,dir_id,salePrice,costPrice FROM product WHERE salePrice>=250 OR costPrice>=200

18、查询id、货品名称,批发价在300-400之间的货品,使用区间查询:

解:SELECT id,productName,salePrice FROM product WHERE salePrice BETWEEN 300 AND 400

19、查询id、货品名称,批发价不在300-400之间的货品;使用区间查询:

解:SELECT id,productName,salePrice FROM product WHERE salePrice NOT BETWEEN 300 AND 400

20、查询id、货品名称,分类编号为2,4的所有商品,使用IN:

解:SELECT id,productName,dir_id FROM product WHERE dir_id IN(2,4)

21、查询id、货品名称,分类编号不为2,4的所有商品,使用IN:

解:SELECT id,productName,dir_id FROM product WHERE dir_id NOT IN(2,4)

22、查询分类编号为空的所有商品信息:

解:SELECT id,productName,dir_id FROM product WHERE dir_id IS NULL

23、查询id、货品名称,货品名称匹配'罗技M9_'的商品信息:

解:SELECT id,productName FROM product WHERE productName LIKE '罗技M9_'

24、查询id、货品名称、分类编号,零售价大于等于80并且货品名称匹配'%罗技M1_ _':

解:SELECT id,productName,dir_id,salePrice FROM product WHERE salePrice>=80 AND productName LIKE '%罗技M1__'

 

 

 

 

 

 

 


版权声明:本文为weixin_45664854原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。