美文网首页
坚持打卡学习第三天——mysql中文文档学习二

坚持打卡学习第三天——mysql中文文档学习二

作者: 去追星星 | 来源:发表于2021-12-18 18:29 被阅读0次

获得数据库和表信息

1.查看当前选择的数据库:SELECT DATABASE();

(SHOW DATABASES;服务器当前有哪些数据库)

2.查看当前数据库包含哪些表:SHOW TABLES;

3.查看表的索引信息:SHOW INDEX FROM pet;

批处理模式下使用mysql

暂时跳过

常用查询

练习使用数据

注:UNSIGNED (只针对整型,无符号,即为非负),ZEROFILL(补零操作,当插入的数值比定义的属性长度小的时候,会在数值前面进行补零,如下article int(4)当插入2时,插入到表中的是0002)

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)

);

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);

1.查询列的最大值

SELECT MAX(article) from shop;

2.查询列最大值的行信息

方法一:

SELECT * FROM shop WHERE article = (SELECT MAX(article) FROM shop);

方法二:

article按照降序排列,取第一行(LIMIT 1)

SELECT * FROM shop ORDER BY article DESC LIMIT 1;

3.分组(GROUP BY)查询列的最大值

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

4.某字段组间最大值的行(每一组的最大值)

SELECT article, dealer, price

FROM  shop s1

WHERE  price=(

SELECT MAX(s2.price)

FROM shop s2

WHERE s1.article = s2.article);

5.使用用户变量

查询价格最高或最低的物品

方法一:

SELECT * FROM shop WHERE price = @min_price or price = @max_price;

方法二:

SELECT @min_price:=MIN(price),@max_price:=MAX(price) FROM shop;

6.使用外键

7.根据两个键来查询

方法一:

SELECT * FROM shop WHERE price = '3.45' or article = '0002';

更加有效的方式:

注:UNION(用于合并两个或多个 SELECT 语句的结果集),UNION ALL(默认地,UNION 操作符选取不同的值。允许重复的值,使用 UNION ALL)

SELECT * FROM shop WHERE price = '3.45'

UNION

SELECT * FROM shop WHERE article = '0002';

8.根据天计算访问量:

练习数据

CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL,day INT(2) UNSIGNED ZEROFILL);

INSERT INTO t1 VALUES(2000,1,1),(2000,1,20),(2000,1,30),(2000,2,2),(2000,2,23),(2000,2,23);

注:bit_or:二进制数按位或,bit_and:二进制数按位与,bit_count:二进制1的个数

位运算笔记

SELECT year,month,BIT_COUNT(BIT_OR(1<<day)) AS days FROM t1 GROUP BY year,month;

9.AUTO_INCREMENT的使用

其会在新记录插入表中生成一个唯一的数字

可以通过AUTO_INCREMENT属性为新的行产生唯一的标识

可以定义AUTO_INCREMENT主键

可以通过LAST_INSERT_ID()函数查询刚刚最新的AUTO_INCREMENT值

相关文章

网友评论

      本文标题:坚持打卡学习第三天——mysql中文文档学习二

      本文链接:https://www.haomeiwen.com/subject/guqgfrtx.html