循环渐进学习mysql(1)

create database menagerie;
show databases;
use menagerie;
show tables;
create table pet (name varchar(20),owner varchar(20),sepcies varchar(20),sex char(1),birth date,death date);
describe pet;
INSERT INTO pet
     VALUES (‘Puffball‘,‘Diane‘,‘hamster‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘cat‘,‘dd‘,‘hamster‘,‘d‘,‘1949-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘jon‘,‘Diane‘,‘hamster‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘dog‘,‘de‘,‘cc‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘cat‘,‘ge‘,‘hamster‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘bird‘,‘Diane‘,‘hamster‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘niao‘,‘Diane‘,‘hamster‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘wangba‘,‘gh‘,‘de‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘zhu‘,‘Diane‘,‘hamster‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘peg‘,‘Diane‘,‘hamster‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘houzi‘,‘Diane‘,‘hamster‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘file‘,‘Diane‘,‘hamster‘,‘u‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘she‘,‘Diane‘,‘gg‘,‘f‘,‘1999-03-30‘,NULL);
INSERT INTO pet
     VALUES (‘ji‘,‘oo‘,‘kk‘,‘f‘,‘1999-03-30‘,NULL);
select * from pet order by name desc;

/**SELECT what_to_select
FROM which_table
WHERE conditions_to_satisfy;
what_to_select指出你想要看到的内容,可以是列的一个表,或*表示“所有的列”。which_table指出你想要从其检索数据的表。
WHERE子句是可选项,如果选择该项,conditions_to_satisfy指定行必须满足的检索条件。

**/
UPDATE pet SET birth = ‘1959-08-31‘ WHERE name = ‘wangba‘;

select * from pet where name=‘cat‘;
select * from pet where name=‘cat‘ and owner=‘ge‘;
SELECT owner FROM pet;            --  这个地方的要加一个owner字段      
select  name,owner,sex from pet  where name=‘she‘ or owner=‘gh‘;
SELECT * FROM pet
     ORDER BY  birth DESC;

/***
MySQL提供了几个函数,可以用来计算日期,例如,计算年龄或提取日期部分。

要想确定每个宠物有多大,可以计算当前日期的年和出生日期之间的差。如果当前日期的日历年比出生日期早,
则减去一年。以下查询显示了每个宠物的出生日期、当前日期和年龄数值的年数字。

*****/
 SELECT name, birth, CURDATE(),
    (YEAR(CURDATE())-YEAR(birth)),
    (RIGHT(CURDATE(),5)<RIGHT(birth,5))
     AS age
    FROM pet;

/***
此处,YEAR()提取日期的年部分,RIGHT()提取日期的MM-DD (日历年)部分的最右面5个字符。比较MM-DD值的表达式
部分的值一般为1或0,如果CURDATE()的年比birth的年早,则年份应减去1。整个表达式有些难懂,使用alias (age)
来使输出的列标记更有意义。尽管查询可行,如果以某个顺序排列行,则能更容易地浏览结果。添加ORDER BY name子
句按照名字对输出进行排序则能够实现。

****/
SELECT name, birth, CURDATE(),
     (YEAR(CURDATE())-YEAR(birth)),
     (RIGHT(CURDATE(),5)<RIGHT(birth,5))
    AS age
    FROM pet ORDER BY name;

/**
为了按age而非name排序输出,只要再使用一个ORDER BY子句:

**/
SELECT name, birth, CURDATE(),
     (YEAR(CURDATE())-YEAR(birth))
     - (RIGHT(CURDATE(),5)<RIGHT(birth,5))
     AS age
     FROM pet ORDER BY age;

/***
可以使用一个类似的查询来确定已经死亡动物的死亡年龄。你通过检查death值是否是NULL来确定是哪些动物,然后,对于那些非NULL值的动物,
需要计算出death和birth值之间的差:

**/
 SELECT name, birth, death,
    (YEAR(death)-YEAR(birth)) - (RIGHT(death,5)<RIGHT(birth,5))
     AS age
    FROM pet WHERE death IS NOT NULL ORDER BY age;

SELECT name, birth, MONTH(birth) FROM pet;      -- 查看生日

SELECT name, birth FROM pet WHERE MONTH(birth) = 3;   -- 查看生日在三月份的鸟名字和 生日日期

循环渐进学习mysql(1)

时间: 2024-10-09 08:55:46

循环渐进学习mysql(1)的相关文章

重新学习MySQL数据库4:Mysql索引实现原理

重新学习Mysql数据库4:Mysql索引实现原理 MySQL索引类型 (https://www.cnblogs.com/luyucheng/p/6289714.html) 一.简介 MySQL目前主要有以下几种索引类型: 1.普通索引 2.唯一索引 3.主键索引 4.组合索引 5.全文索引 二.语句 CREATE TABLE table_name[col_name data type][unique|fulltext][index|key][index_name](col_name[lengt

学习mysql的笔记:mysql十大基本入门语句

学习mysql数据库,从最简单的十条入门语句开始.刚开始学习mysql,老师让我们用cmd控制台输入语句,而不是选择用工具输入,这是为了我们能够先熟悉mysql语句. 首先要先进入mysql,语句为:mysql -hlocalhost -uroot -p  然后回车,输入密码. C:\Users\Administrator>mysql -hlocalhost -uroot -p Enter password: ****** 成功进入的话会出现 Welcome to the MySQL monit

tcl脚本学习九:for循环的学习

lesson9 :for循环的学习 for {puts "Start"; set i 0} {$i < 2} {incr i; puts "I after incr: $i"; } { puts "I inside first loop: $i" } //和c一样 有三个条件 ;# Because the test is evaluated before the body,;# this loop won't execute the bod

mysql学习--mysql必知必会1

?? 例如以下为mysql必知必会第九章開始: 正則表達式用于匹配特殊的字符集合.mysql通过where子句对正則表達式提供初步的支持. keywordregexp用来表示后面跟的东西作为正則表達式处理. (.)是正則表達式的一个符号,表示匹配随意一个字符: mysql> select prod_name -> from products -> where prod_name regexp '.000' -> order by prod_name; +--------------

【java开发】分支语句、循环语句学习

一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else if语句if (条件语句1){语句块;}else if(条件语句2);{语句块2;}...else if(条件语句n){语句块n;} 关于switch语句 switch( 表达式){        case 表达式值1: 语句块1; break; .... case 表达式N: 语句块N; brea

android软件开发之webView.addJavascriptInterface循环渐进【二】

说明 文章列表 android软件开发之webView.addJavascriptInterface循环渐进[一]: http://www.sollyu.com/android-software-development-webview-addjavascriptinterface-cycle-of-gradual-oneandroid软件开发之webView.addJavascriptInterface循环渐进[二]: http://www.sollyu.com/586 上一篇文章发布之后,得到

mysql学习--mysql必知必会

上图为数据库操作分类: 以下的操作参考(mysql必知必会) 创建数据库 执行脚本建表: mysql> create database mytest; Query OK, 1 row affected (0.07 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | mytest | | performan

推荐几本学习MySQL的好书

转载:http://mingxinglai.com/cn/2015/12/material-of-mysql/ 虽然我自己目前还不是大牛,不过正走在成为大牛的路上.我个人比较幸运,实习的时候在登博(何登成)手下实习,从登博那里学到不少东西,毕业以后,有幸投奔另一位MySQL大牛姜sir(姜承尧),目前还在姜sir手下工作,对目前的工作状态比较满意(我们组持续招人中),这两位都是技术实力强,却又非常好相处,非常平易近人的大牛,让我打内心欣赏.崇拜,真希望自己能够达早日到他们的水平.相信不是所有人都

2014年7月17日学习笔记--PHP的循环结构学习

今天重新开始学习PHP, 为了学习PHP买了书,但书是一本大部头的书,不好带一直没有好好学习,我决定把书拆了分章来看,这样也方便带 也可以很快完成任务. 今天在linux mint 17上安装了lnmp 环境 和brackets工具,来学PHP,小的例子用vim来完成的. 记录一下自己美化的九九乘法表 代码如下: <?php     for($i=1;$i<=9;$i++){         for($j=1;$j<=9;$j++){             if($i>=$j){