代码

mysql> CREATE TABLE shop (
-> article INT(4) UNSIGNED ZEROFILL DEFAULT '' 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);

使用max()计算最大值

mysql> SELECT MAX(article) as article FROM shop;

查询某列最大值所在的行

# 显示price这一列最大值对应的行
mysql> SELECT article, dealer, price
-> FROM shop
-> WHERE price=(SELECT MAX(price) FROM shop);
mysql> SELECT article, dealer, price
-> FROM shop
-> ORDER BY price DESC
-> LIMIT 1;

按组显示列的最大值

mysql> SELECT article, MAX(price) AS price
-> FROM shop
-> GROUP BY article;

通过使用用户变量找出价格最高或者最低的物品

mysql> select @min_price:=MIN(price),@max_price:=MAX(price) from shop;
+------------------------+------------------------+
| @min_price:=MIN(price) | @max_price:=MAX(price) |
+------------------------+------------------------+
| 1.25 | 19.95 |
+------------------------+------------------------+
mysql> select @min_price:=MIN(price),@max_price:=MAX(price) from shop;
+------------------------+------------------------+
| @min_price:=MIN(price) | @max_price:=MAX(price) |
+------------------------+------------------------+
| 1.25 | 19.95 |
+------------------------+------------------------+

使用两个关键字进行搜索

充分利用 OR 连接两个关键字(AND也是一样的道理)


# 这里面的test_table可以是任何一个表,关键词也是类似
SELECT field1_index, field2_index FROM test_table
WHERE field1_index = '' OR field2_index = ''

还可以使用UNION将表里面的两个关键字一起使用进行搜索

SELECT field1_index, field2_index
FROM test_table WHERE field1_index = ''
UNION
SELECT field1_index, field2_index
FROM test_table WHERE field2_index = '';

UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。

使用AUTO_INCREMENT语句
CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
); INSERT INTO animals (name) VALUES
('dog'),('cat'),('penguin'),
('lax'),('whale'),('ostrich'); SELECT * FROM animals;

自动升序编号

或者可以

AUTO_INCREMENT 默认从 1 开始递增,如果你想自定义开始的数字,可以在创建表的时候指定,如:

CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
)AUTO_INCREMENT = 1000

或者表已经创建好了 直接指定修改下  ALTER TABLE tbl_name AUTO_INCREMENT = 100001;

创建表得时候也可以指定得

CREATE TABLE animals (
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
)AUTO_INCREMENT=100001;

尝试建立一个图书馆数据库,任由发挥,但必须包含基本信息:图书信息,借书人的信息,出版社信息。并运用这一节课学到的索引知识对数据库进行索引。

create database Library;
use Library; create table publish(
pub_id int primary key,
pub_name varchar(50)
); create table books(
book_id int primary key,
book_name varchar(50) not null,
book_pub int not null,
foreign key(book_pub) references publish(pub_id)
); create table reader(
reader_id int primary key,
reader_name varchar(50)
);

mysql_study_5的更多相关文章

随机推荐

  1. 10_ for 练习 _ is Prime Number ?

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. Java课程课后作业190309之连续最大子数组

    老师在课堂是提出了这个问题,并且提出了时间复杂度是O(n)的要求,一开始我自己思想简单,在逻辑上出现了十分粗心的错误,后来同学们也在课堂上比较激烈地讨论了一番,也只是将时间复杂度降到了O(n*n),在 ...

  3. TCP三次握手四次挥手最通俗理解

    工作过程TCP标志位:TCP共有6个标志位,分别是: SYN(synchronous),建立联机.ACK(acknowledgement),确认.PSH(push),传输.FIN(finish),结束 ...

  4. js java 给定一个目标值,在一棵树中找是否有两个节点的值之和等于目标值

    在leetCode看到一题目 Given a Binary Search Tree and a target number, return true if there exist two elemen ...

  5. Linux下进程和端口常用操作

    https://blog.csdn.net/s573626822/article/details/80680456

  6. pycharm 激活方法

    方法一: 服务器激活 pycharm 安装: https://www.cnblogs.com/pyyu/articles/9210171.html 方法二: 密钥激活 pycharm 获取激活码 (密 ...

  7. 虚拟机中linux系统的安装教程

    虚拟机是什么? 虚拟机(Virtual Machine)是指一种特殊的软件,可以在计算机和用户之间创建一种环境,用户可以用这个软件所创建的环境来操作.虚拟机就像像真实机器一样运行程序,满足用户的需求. ...

  8. Java学习--抽象类和接口

    https://www.cnblogs.com/dolphin0520/p/3811437.html 抽象类 先了解一下[抽象方法]—一种特殊的方法,只有声明,没有具体的实现  abstract vo ...

  9. HDU 2544最短路 【dijkstra 链式前向星+优先队列优化】

    最开始学最短路的时候只会用map二维数组存图,那个时候还不知道这就是矩阵存图,也不懂得效率怎么样 经过几个月的历练再回头看最短路的题, 发现图可以用链式前向星来存, 链式前向星的效率是比较高的.对于查 ...

  10. .Net Core知识点

    1:const,readonly,和get访问器,三者都可在自己的生命域里赋值,但是编译器也是可以在构造函数里进行初始化赋值的 2:Debugger.IsAttached 属性 http://msdn ...