软件测试培训第14天

今天的课程是就Mysql数据库进行了更进一步的练习与讲解,通过自己创建数据表并且添加数据从而进行更复杂的查询练习,对数据库的内容也慢慢有了一些了解:

MySql数据类型
整型(int)小数(decimal(8,2))
字符串(varchar)
日期(data、datatime)

创建student、course、sc表的步骤:

create table student(  student_no varchar(20) primary key,  student_name varchar(20),  sex varchar(10),  birthday date,  department varchar(20) );

create table course(  course_no varchar(20) primary key,  course_name varchar(20),  previous_no varchar(20),  credit int );

create table sc(  student_no varchar(20),  course_no varchar(20),  grade decimal(8,2) );

查询的聚合函数:count(),max(),min(),sum(),avg()

查询学生总人数。

count(*) count(字段) count(distinct 字段)

select count(*) from student;

查询选修了课程的学生的人数。

select count(distinct student_no) from sc;

计算课程编号为“206”的学生的平均成绩

select avg(grade) from sc where course_no='206';

计算课程编号为“206”的学生的最高分。

select max(grade) from sc where course_no='206';

查询选修了2门课程以上的学生的学号(having)

select student_no,count(course_no) from sc group by student_no having count(course_no)>2;

==多表查询(笛卡尔积)

left join right join

查询雇员编号、雇员姓名、所在部门编号、部门名称

1.select t1.empno,t1.ename,t2.deptno,t2.dname
from emp t1 inner join dept t2 using(deptno);

2.select t1.empno,t1.ename,t2.deptno,t2.dname
from emp t1 left join dept t2 using(deptno);

3.select t1.empno,t1.ename,t2.deptno,t2.dname
from emp t1 right join dept t2 using(deptno);

SQL功能 动词
数据查询 select
数据定义 create,drop,alter
数据操纵 insert,update,delete
数据控制 grant,revoke

关系运算:>,=,<,>=,>=,!=(<>)
范围运算:between...and;
空判断:is null,is not null;
IN判断:in,not in,exists(复杂查询)
模糊查询:like,not like
逻辑运算 and与 or或 not非

显示所有数据库 show databases

创建数据库 create database emp_dept;

删除数据 drop database emp_dept;

使用数据库 use {databaseName};

查看所有的表 show tables;

查询(增删改查)
select * from emp;
select * from dept;

 

posted @ 2017-11-16 15:37  梦降  阅读(93)  评论(0编辑  收藏  举报