一.部分需要学会的操作(以举例形式列出):
insert into tmp15 values('This is good',50);
/*向tmp15插入note 为 “This is good”,price为50的元素*/
注:需要严格对应字段和元素属性的位置
select * from tmp15
/*查询tmp15中所有元素(不是字段,而是赋值的元素)*/
select price>50 from tmp15;
/*返回price>50的值*/
select greatest(30,price) from tmp15;
select least(30,price) from tmp15;
/*返回30和price中最大的数和最小的数*/
select max(price) `最大值` from tmp15 where price between 30 and 70;
/*查询price中元素位于30-70之间的最大值*/
select * from tmp15 where price in(10,20,50,35);
/*查询price元素是否有在(10,20,50,35)这个列表里*/
二.实操环节 :
1.首先创建表tmp15,其中包含VARCHAR类型的字段note和INT类型的字段price。然后,使用运算符对表tmp15中不同的字段进行运算,使用逻辑操作符对数据进行逻辑操作,使用位操作符对数据进行位操作。步骤如下:
①创建表tmp15
②向表中插入一条记录,note值为“This is good”,price值为50
③对表tmp15中的整型数值字段price进行算术运算
④对表tmp15中的整型数值字段price进行比较运算
⑤判断price值是否落在30~80区间,返回与70和30相比最大的值,判断price是否为IN列表(10,20,50,35)中的某个值
⑥对tmp15中的字符串数值字段note进行比较运算,判断表tmp15中note字段是否为空;使用LIKE判断是否以字母‘t’开头;使用REGEXP判断是否以字母‘y’结尾;判断是否包含字母‘g’或者‘m’
⑦将price字段值与NULL、0进行逻辑运算
⑧将price字段值与2、4进行按位与、按位或操作,并对price字段进行按位取反
⑨将price字段值分别左移和右移两位
2.使用各种函数操作数据,掌握各种函数的作用和使用方法。步骤如下:
①使用数学函数RAND()生成3个10以内的随机整数
②使用SIN()、COS()、TAN()、COT()函数计算三角函数值,并将计算结果转换成整数值
③创建表,并使用字符串和日期函数对字符值进行操作
④使用CASE进行条件判断,如果m_birth小于2000年就显示“old”,如果m_birth大于2000年就显示“young”
1.1
create database test2;
create table tmp(note varchar(20),
-> price int);
/*本来要做tmp15,打错了,后面改了*/
1.2-1.4
insert into tmp15 values('This is good',50);
select * from tmp15;
select price+15 from tmp15;
select price*10 from tmp15;
select price>15 from tmp15;
select price<=15 from tmp15;
/*插入元素,先显示表中元素的状态,然后进行了一些加法,乘法,算术比较的操作,全由select完成*/
1.5
select price>=30&price<=80 from tmp15;
select greatest(price,70) from tmp15;
select greatest(30,price) from tmp15;
select max(price) `最大值` from tmp15 where price between 30 and 70;
select * from tmp15 where price in(10,20,50,35);
1.6 为了方便接下来的一些运算并使结果更明显,此处随意插入了几个元素。
insert into tmp15 values('Hello',15);
insert into tmp15 values('hpy',80);
insert into tmp15 values('g2 sports',55);
insert into tmp15 values('mathorcup win',5);
select * from tmp15;
/*此上一共添加四个元素*/
select note from tmp15 where note is not null;
select note from tmp15 where note is null;
select note from tmp15 where note like 'a%';
select 'qielsy' regexp 'y$';
select 'yrrw' regexp 'y$';
1.7
select price&&NULL,price||NULL,price&&0,price||0 from tmp15;
1.8
select price&2,price&4,price|2,price|4 from tmp15;
select ~price from tmp15;
1.9
select price<<2,price>>2 from tmp15;
2.1
select floor(rand()*10), floor(rand()*10), floor(rand()*10);
/*floor为向下取整*/
/*rand生成随机0-1小数*/
2.2
select sin(100),cos(50),tan(30);
select ceiling(tan(30)),floor(cot(10));
/*ceiling为上取整*/
2.3
insert into date values('20000815');
insert into date values('hello date');
select mid(time,1,3) from date;
select concat(time) from date;
select upper(time) from date;
select curdate(),curtime();
2.4
create table timing(id int(10),m_birth datetime);
insert into timing values(101,'1999-01-02');
insert into timing values(102,'1999-01-08');
insert into timing values(103,'2009-01-27');
insert into timing values(104,'2019-11-15');
select id,
-> case
-> when m_birth>='20000101' then 'young'
-> else 'old'
-> end
-> from timing;