一步一步学MySQL----8 简单数据查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013003827/article/details/63684998

8.1 查询所有字段数据

现有数据表student,如下:

mysql> create table student(
-> s_id int primary key,
-> s_name varchar(20),
-> s_sex char(2),
-> s_age int
-> );

Query OK, 0 rows affected (0.08 sec)
这里写图片描述

现在要查询该表中所有字段的数据信息,有如下两种方法:

方法1:全字段输入

mysql> select s_id, s_name, s_sex, s_age from student; //说明:包含了student表的全部字段

这里写图片描述

方法2:“*”的使用

mysql> select * from student;

这里写图片描述

8.2 查询指定字段数据

说明:只要在select后面输入要查询的字段即可。、

例如我们只需要了解学生的姓名和年龄,那么,就可以如下:

mysql> select s_name, s_age from student; //说明:只查询学生姓名和年龄
这里写图片描述

8.3 避免重复数据查询

语法:

select distinct field1, field2, field3, …… from table_name;

例如:现有一张student表,如下:

mysql> select * from student;

这里写图片描述

现在,我们给这张表增加一个score(分数)字段,如下:

mysql> alter table student add score int;

Query OK, 5 rows affected (0.43 sec)
Records: 5 Duplicates: 0 Warnings: 0

这里写图片描述

接下来为每个学生修改各自的分数,如下:

mysql> update student set score=88 where s_name=’LiQiang’;

Query OK, 1 row affected (0.11 sec)
Rows matched: 1 Changed: 1 Warnings: 0


mysql> update student set score=90 where s_name=’GaoQing’;

Query OK, 1 row affected (0.15 sec)
Rows matched: 1 Changed: 1 Warnings: 0


mysql> update student set score=89 where s_name=’liuZhuang’;

Query OK, 1 row affected (0.07 sec)
Rows matched: 1 Changed: 1 Warnings: 0


mysql> update student set score=95 where s_name=’WangMeng’;

Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0


mysql> update student set score=90 where s_name=’WuHao’;

Query OK, 1 row affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0

这里写图片描述

这样,我们看到学生GaoQing和WuHao的分数是一样的,都是90分,此时,我们来查询一下表中学生的分数

mysql> select score from student; //查询分数

这里写图片描述

mysql> select distinct score from student;//去重查询分数

这里写图片描述

8.4 实现数学四则运算数据查询

MySQL支持+、-、*、/、%关系运算符

语法:

Select field1 [as] otherfield1, field2 [as] otherfield2, …… fieldn [as] otherfieldn from table_name;

例如:创建一个数据库company,在其中新建一张数据表employee,如下:

(1)创建数据库

mysql> create database company;

这里写图片描述

(2)选择数据库company

mysql> use company;

(3)新建数据表employee

mysql> create table employee(
-> empno int(11),
-> ename varchar(20),
-> job varchar(60),
-> Hiredate date,
-> salary double(10,2),
-> depno int(11)

Query OK, 0 rows affected (0.16 sec)
这里写图片描述

(4)向employee表中插入数据

mysql> insert into employee(empno, ename, job, Hiredate, salary, depno) values(1001, ‘Smith’, ‘Clerk’, ‘2012-09-20’, 3500.00, 12);

Query OK, 1 row affected (0.12 sec)


mysql> insert into employee(empno, ename, job, Hiredate, salary, depno) values(1002, ‘Allen’, ‘Salesman’, ‘2012-12-06’, 3000.00, 14);

Query OK, 1 row affected (0.16 sec)


mysql> insert into employee(empno, ename, job, Hiredate, salary, depno) values(1003, ‘Mard’, ‘Salesman’, ‘2013-01-15’, 2800.00, 14);

Query OK, 1 row affected (0.06 sec)


mysql> insert into employee(empno, ename, job, Hiredate, salary, depno) values(1004, ‘Jones’, ‘Manager’, ‘2012-05-08’, 7500.00, 10);

Query OK, 1 row affected (0.05 sec)


mysql> insert into employee(empno, ename, job, Hiredate, salary, depno) values(1005, ‘Scott’, ‘HR’, ‘2012-03-28’, 1800.00, 12);

Query OK, 1 row affected (0.17 sec)


mysql> insert into employee(empno, ename, job, Hiredate, salary, depno) values(1006, ‘James’, ‘Product’, ‘2014-10-12’, 4000.00, 12);

Query OK, 1 row affected (0.06 sec)


mysql> insert into employee(empno, ename, job, Hiredate, salary, depno) values(1007, ‘King’, ‘Developer’, ‘2013-06-10’, 4500.00, 12);

Query OK, 1 row affected (0.09 sec)


mysql> insert into employee(empno, ename, job, Hiredate, salary, depno) values(1008, ‘Ford’, ‘Developer’, ‘2014-08-04’, 5000.00, 12);

Query OK, 1 row affected (0.08 sec)

(5)查看employee表数据

mysql> select * from employee;

这里写图片描述

下面我们来实现一下四则运算:

我们从employee表中看到每个员工的月薪,如果我们要知道每个员工的年薪怎么办?如下:

mysql> select ename, salary*12 from employee;

这里写图片描述

通过这种查询,执行结果一眼就可以看到每个员工的年薪了。

或者:

mysql> select ename, salary*12 as yearsalary from employee; //这种更加直观

这里写图片描述

8.5 设置显示格式数据查询

在MySQL中执行简单数据查询时,有时需要设置显示格式,以方便用户浏览所查询到的数据。

例如:在上一小节中,要查询员工的年薪,以固定格式(ename员工的年薪为:salary)显示查询到的数据。

我们可以如下执行:

mysql> select concat(ename, ‘员工的年薪为:’, salary*12)yearsalary from employee;

猜你喜欢

转载自blog.csdn.net/u013003827/article/details/63684998