MySQL常用查询

78 阅读1分钟

一、启动mysql

sudo service mysql start;
mysql -u root;

二、创建表

CREATE DATABAE test;
USE test;
#创建表
CREATE TABLE shop(
    article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
    dealer VARCHAR(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);

三、函数

  3.1 寻找列的最大值

使用MAX() 求article的最大值:

SELECT MAX(article) as articleMax FROM shop;

求某列最大值所在的行:

#显示price最大值的行
SELECT * FROM shop WHERE price = (SELECT MAX(price) FROM shop);

另一种方法:将按照price排序, 让后使用MySQL中的limit子句来获取第一行即最大行:

#按照价格降序排序
SELECT * FROM shop ORDER BY price DESC;
#使用limit 获取指定行
SELECT * FROM shop ORDER BY price DESC LIMIT 1;

注:如果有多项物品的价格都是19.95(最贵的物品不止一个),那么LIMIT的显示结果也只会显示其中一个

3.2 分组 group by

SELECT article, MAX(price) as max FROM shop 
GROUP BY article;