代码

  1. mysql> CREATE TABLE shop (
  2. -> article INT(4) UNSIGNED ZEROFILL DEFAULT '' NOT NULL,
  3. -> dealer CHAR(20) DEFAULT '' NOT NULL,
  4. -> price DOUBLE(16,2) DEFAULT '0.00' NOT NULL,
  5. -> PRIMARY KEY(article, dealer));
  6. # 插入数据
  7. mysql> INSERT INTO shop VALUES
  8. -> (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
  9. -> (3,'C',1.69),(3,'D',1.25),(4,'D',19.95);

使用max()计算最大值

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

查询某列最大值所在的行

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

按组显示列的最大值

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

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

  1. mysql> select @min_price:=MIN(price),@max_price:=MAX(price) from shop;
  2. +------------------------+------------------------+
  3. | @min_price:=MIN(price) | @max_price:=MAX(price) |
  4. +------------------------+------------------------+
  5. | 1.25 | 19.95 |
  6. +------------------------+------------------------+
  1. mysql> select @min_price:=MIN(price),@max_price:=MAX(price) from shop;
  2. +------------------------+------------------------+
  3. | @min_price:=MIN(price) | @max_price:=MAX(price) |
  4. +------------------------+------------------------+
  5. | 1.25 | 19.95 |
  6. +------------------------+------------------------+

使用两个关键字进行搜索

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

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

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

  1. SELECT field1_index, field2_index
  2. FROM test_table WHERE field1_index = ''
  3. UNION
  4. SELECT field1_index, field2_index
  5. FROM test_table WHERE field2_index = '';

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

使用AUTO_INCREMENT语句
  1. CREATE TABLE animals (
  2. id MEDIUMINT NOT NULL AUTO_INCREMENT,
  3. name CHAR(30) NOT NULL,
  4. PRIMARY KEY (id)
  5. );
  6.  
  7. INSERT INTO animals (name) VALUES
  8. ('dog'),('cat'),('penguin'),
  9. ('lax'),('whale'),('ostrich');
  10.  
  11. SELECT * FROM animals;

自动升序编号

或者可以

  1. AUTO_INCREMENT 默认从 1 开始递增,如果你想自定义开始的数字,可以在创建表的时候指定,如:
  2.  
  3. CREATE TABLE animals (
  4. id MEDIUMINT NOT NULL AUTO_INCREMENT,
  5. name CHAR(30) NOT NULL,
  6. PRIMARY KEY (id)
  7. )AUTO_INCREMENT = 1000

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

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

  1. CREATE TABLE animals (
  2. id MEDIUMINT NOT NULL AUTO_INCREMENT,
  3. name CHAR(30) NOT NULL,
  4. PRIMARY KEY (id)
  5. )AUTO_INCREMENT=100001;

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

  1. create database Library;
  2. use Library;
  3.  
  4. create table publish(
  5. pub_id int primary key,
  6. pub_name varchar(50)
  7. );
  8.  
  9. create table books(
  10. book_id int primary key,
  11. book_name varchar(50) not null,
  12. book_pub int not null,
  13. foreign key(book_pub) references publish(pub_id)
  14. );
  15.  
  16. create table reader(
  17. reader_id int primary key,
  18. reader_name varchar(50)
  19. );

mysql_study_5的更多相关文章

随机推荐

  1. ElasticSearch 一

    一:elasticSearch的目录结构的分类 /bin 运行ElasticSearch实例和管理插件呢的一些脚本 /config 配置文件 路径,包含elasticsearch.yml /data ...

  2. 基于贝叶斯算法实现简单的分类(java)

    参考文章:https://blog.csdn.net/qq_32690999/article/details/78737393 项目代码目录结构 模拟训练的数据集 核心代码 Bayes.java pa ...

  3. 2019.3.22 JMeter基础操作

    1.添加线程组:testplan—添加—线程(用户)Threads(Users) 线程属性值:线程数(虚拟用户数).Rump-up(准备时长:设置所有线程全部启动时间).循环次数(每个线程重复发送请求 ...

  4. js四则运算

    这个bug是js固有的,浮点数精度不准,你可以用下面方法来解决,思路是先放大,求和.差.积等运算后再缩小. 如: //加法函数,用来得到精确的加法结果 //说明:javascript的加法结果会有误差 ...

  5. 《Redis 使用规范》

    一:Redis 概述 - Redis 是内存级别的数据库,在一台普通电脑上,Redis 3.X 便可以读取 10 万个键值对(现在的Redis官方版本已经更新到了5.X,性能会更好). 二:关于Red ...

  6. net-tools与iproute2

    net-tools与iproute2 我们知道redhat系列发行版7x版本中最小化安装是没有net-tools工具包的,默认使用iproute2工具包,最直观的感受是ifconfig命令被ip命令所 ...

  7. python NLTK安装

    stanford nltk在python中如何安装使用一直都很神秘,看了一些帖子感觉讳莫如深.研究了几天,参考<nlp汉语自然语言处理原理与实践>,发现方法如下: 1.安装JAVA 8+环 ...

  8. 意外的php之学习笔记

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gc_gongchao/article/details/37312039     什么是php? ph ...

  9. 使用LVM进行分区扩展的记录

    场景:在磁盘分区空间不够的情况下,要扩展分区空间 因为使用的是虚拟机,所以可以对原有的硬盘上进行扩展,而不需要新增一个硬盘 1.扩展磁盘并使用fdisk工具进行分区 虚拟机关机后对磁盘进行扩展,扩展到 ...

  10. 安全相关及HttpClient

    1,Spring Security入门示例 Spring Security Annotation Configuration Example – HelloWorld 2,程序模块Get请求,获取响应 ...