实验9 进阶篇-MySQL常用查询
一、简介
1. 内容:通过一个经销商数据库实例学习并实践多种在数据库中查找记录的方法。
2. 知识点:表查询操作。
二、步骤
1. 启动并连接MySQL。
创建切换数据库。
创建表并插入数据。
mysql> CREATE TABLE shop (
-> article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
-> dealer CHAR(20) DEFAULT '' NOT NULL,
-> price DOUBLE(16,2) DEFAULT '0.00' NOT NULL,
-> PRIMARY KEY(article, dealer));
插入数据
mysql> INSERT INTO shop VALUES
-> (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
-> (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
2.寻找列最大值:SELECT MAX(article) as article FROM shop;
查询某列最大值所在行
(1) SELECT article, dealer, price
FROM shop
WHERE price=(SELECT MAX(price) FROM shop);
(2) SELECT article, dealer, price
FROM shop
ORDER BY price DESC
LIMIT 1;
3. 按组显示列的最大值 SELECT article, MAX(price) AS price
FROM shop
GROUP BY article;
4. 使用用户变量: SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;
SELECT * FROM shop WHERE price=@min_price OR price=@max_price;
5. 使用外键:……
6. 使用两个关键字进行搜索
(1) SELECT field1_index, field2_index
FROM test_table
WHERE field1_index = '1' OR field2_index = '1'
(2) SELECT field1_index, field2_index
FROM test_table WHERE field1_index = '1'
UNION
SELECT field1_index, field2_index
FROM test_table WHERE field2_index = '1';
7. 计算每月的访问量: SELECT year,month,BIT_COUNT(BIT_OR(1<
GROUP BY year,month;
8. 使用AUTO_INCREMENT语句: CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);
更改起始值不为1,ep: ALTER TABLE tbl AUTO_INCREMENT = 100;
三、小结
该实验主要涉及了常见的查询,不一定多难,但是常用,而且自己独立写不一定能马上写出来,所以有必要好好消化一下。
四、习题