IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 学习MySQL-第二章 -> 正文阅读

[大数据]学习MySQL-第二章

目录

7,导入提前准备好的数据

怎么将sql文件中的数据导入呢?

8,关于导入的这几张表

怎么查看表中的数据呢?

9,不看表中的数据,只看表的结构,有一个命令:

desc 表名;

describe(描述)缩写为:desc

10,简单查询

10.1查询一个字段?

补充:

10.2查询多个字段?

10.3查询所有字段?

10.4给查询的列起别名?

10.5,计算员工年薪?sal*12


下面需要用到的sql文件

链接:百度网盘 请输入提取码
提取码:6666

7,导入提前准备好的数据

怎么将sql文件中的数据导入呢

mysql-> source E:\mysqldocument\bjpowernode.sql;//导入bjpowernode这个sql文件

后面这个路径是我们sql文件所在的路径

注意:路径中不能有中文!还有就是用这个命令之前要执行一个命令

也就是mysql-> use XXX;

这个是使用某个数据库的命令,我们在导入sql文件前要先使用一个数据库

我们的sql就会导入到use的数据库当中

8,关于导入的这几张表

我们导入的这个sql文件中有几个表

mysql> show tables;//展示表

+----------------------+

| Tables_in_test? ? |

+----------------------+

| dept? ? ? ? ? ? ? ? ? ? |

| emp? ? ? ? ? ? ? ? ? ? |

| salgrade ????????????|

+----------------------+

dept是部门表

emp是员工表

salgrade是工资等级表

怎么查看表中的数据呢?

select * from 表名; //统一执行这个SQL语句

mysql-> select * from emp;//从emp表查询所有数据

 mysql-> select * from dept;//从dept表查询所有数据

?mysql-> select * from salgrade;//从salgrade表查询所有字段

9,不看表中的数据,只看表的结构,有一个命令:

desc 表名;

describe(描述)缩写为:desc

mysql-> desc dept;//查看dept表的结构

+-------------+-----------------+-------+------+-----------+---------+

| Field? ? ? ? | Type? ? ? ? ? ? ?| Null? ?| Key | Default? | Extra? |

+-------------+-----------------+-------+------+-----------+---------+

| DEPTNO | int? ? ? ? ? ? ? ? ?| NO? ?| PRI | NULL? ? ?|? ? ? ? ? ? |部门编号

| DNAME? ?| varchar(14) ?| YES ?|? ? ? ? | NULL? ? ?|? ? ? ? ? ?|部门名字

| LOC? ? ? ? ?| varchar(13) ?| YES ?|? ? ? ? | NULL? ? ?|? ? ? ? ? ?|地理位置

+-------------+-----------------+-------+------+------------+--------+

mysql-> desc emp;//查看emp表的结构

+----------------+-------------------+---------+------+-----------+-----------+

| Field? ? ? ? ? ? | Type? ? ? ? ? ? ? ? | Null? ? | Key | Default? | Extra? ? ?|

+----------------+--------------------+--------+------+-----------+-----------+

| EMPNO? ? ? | int? ? ? ? ? ? ? ? ? ? ?| NO? ? | PRI | NULL? ? ?|? ? ? ? ? ? ? |员工编号

| ENAME? ? ? | varchar(10)? ? ? ?| YES ?|? ? ? ? | NULL? ? ?|? ? ? ? ? ? ? |员工姓名

| JOB? ? ? ? ? ? | varchar(9)? ? ? ? ?| YES ?|? ? ? ? | NULL? ? ?|? ? ? ? ? ? ? |工作岗位

| MGR? ? ? ? ? ?| int? ? ? ? ? ? ? ? ? ? ?| YES ?|? ? ? ? | NULL? ? ?|? ? ? ? ? ? ? |上级编号

| HIREDATE | date? ? ? ? ? ? ? ? ? | YES ?|? ? ? ? | NULL? ? ?|? ? ? ? ? ? ? |入职日期

| SAL? ? ? ? ? ? | double(7,2)? ? ? ?| YES ?|? ? ? ? | NULL? ? ?|? ? ? ? ? ? ? |工资

| COMM? ? ? ?| double(7,2)? ? ? ?| YES ?|? ? ? ? | NULL? ? ?|? ? ? ? ? ? ? |补助

| DEPTNO? ? | int? ? ? ? ? ? ? ? ? ? ?| YES ?|? ? ? ? | NULL? ? ?|? ? ? ? ? ? ? |部门编号

+---------------+-------------------+---------+------+------------+-----------+

mysql-> desc salgrade;//查看salgrade表的结构

+-----------+--------+---------+---------+-----------+--------+

| Field? ? ? | Type? | Null? ? ?| Key? ? ?| Default | Extra? |

+-----------+--------+---------+---------+-----------+--------+

| GRADE | int? ? ? | YES? ? |? ? ? ? ? ? | NULL? ? |? ? ? ? ? ?|工资等级

| LOSAL ?| int? ? ? | YES? ? |? ? ? ? ? ? ?| NULL? ?|? ? ? ? ? ? |最低工资

| HISAL? ?| int? ? ? | YES? ? |? ? ? ? ? ? ?| NULL ??|? ? ? ? ? ? |最高工资

+-----------+--------+---------+----------+----------+---------+

10,简单查询

10.1查询一个字段?

????????select 字段名 from 表名;

其中要注意

????????select和from都是关键字

????????字段名和表名都是标识符

强调:

????????对于SQL语句来说,是通用的

????????所有的SQL语句以”;”结尾

????????另外SQL语句不区分大小写,都行

例如:查询部门名字?? ? ? ? ? ? ? ? ? ? ? ?

mysql> select DNAME from dept;//查询dept表中的dname字段

+----------------------+

| DNAME? ? ? ? ? ? ? |

+----------------------+

| ACCOUNTING? ?|

| RESEARCH? ? ? ?|

| SALES? ? ? ? ? ? ? ?|

| OPERATIONS ??|

+---------------------+

补充:

我们知道select DNAME是查询DNAME这个字段,那select ?‘DNAME’是什么结果

mysql> select 'DNAME' as result from dept;//select后面直接跟”字面量/字面值”

+--------------+

| result? ? ? ? |

+--------------+

| DNAME? ? |

| DNAME? ? |

| DNAME? ? |

| DNAME? ? |

+--------------+

as用来起别名,后面会说

这个命令返回了dept表对应行数的字面值的一列

这个没法解释,记住就行了。如果select后面跟的是字面量/字面值的时候

会借助后面表的结构的行数返回对应的一列,这个没什么原因,就是这个样

mysql> select 1000 from dept;//1000也是被当做一个字面量/字面值

+--------+

| 1000? |

+--------+

| 1000? |

| 1000? |

| 1000? |

| 1000? |

+--------+

结论:select后面可以跟某个表的字段名(可以等同看做变量名)

也可以跟字面量/字面值(数据)

10.2查询多个字段?

????????使用逗号’,’隔开

例如:查询部门编号和部门名?

mysql> select DEPTNO,DNAME from dept;//查询dept表中的deptno和dname字段

+------------+------------------------+

| DEPTNO | DNAME? ? ? ? ? ? ? ?|

+-------------+-----------------------+

| ????10? ? ? ? | ACCOUNTING? ? |

| ????20? ? ? ? | RESEARCH? ? ? ? |

| ????30? ? ? ? | SALES? ? ? ? ? ? ? ? |

| ????40? ? ? ? | OPERATIONS? ? |

+-------------+-----------------------+

10.3查询所有字段?

????????第一种方式:可以把所有字段都写上

????????select a,b,c,d,e,f.... from 表名;

????????第二种方式:可以使用*

????????select * from 表名;

mysql> select * from dept;//查询dept表中所有字段

+-------------+--------------------+-----------------+

| DEPTNO | DNAME? ? ? ? ? ?| LOC? ? ? ? ? ? ? |

+------------+---------------------+-----------------+

| ????10? ? ? ?| ACCOUNTING | NEW YORK |

| ????20? ? ? ?| RESEARCH? ? ?| DALLAS? ? ? ?|

| ????30? ? ? ?| SALES? ? ? ? ? ? ? | CHICAGO? ?|

| ????40? ? ? ?| OPERATIONS? | BOSTON? ? ?|

+------------+-------------------+-------------------+

这种方式的缺点:

  1. 效率低
  2. 可读性差

在实际开发中不建议,自己玩没问题

你可以在DOS命令窗口中想快速的看一看全表数据可以采取这种方式

实际开发中还是建议把*写成字段的形式

10.4给查询的列起别名?

mysql> select dname as deptname from dept;//给dept表中dname字段起一个deptname的别名

+-----------+---------------------+

| deptno? ?| deptname? ? ? ? ?|

+-----------+---------------------+

| ????10? ? ? | ACCOUNTING |

| ????20? ? ? | RESEARCH? ? ?|

| ????30? ? ? | SALES? ? ? ? ? ? ? |

| ????40? ? ? | OPERATIONS? |

+------------+--------------------+

使用as关键字起别名

注意:只是将显示的查询结果列名显示为deptname,原表列名还是叫:dname

记住:select语句是永远不会进行修改操作的(因为只负责查询)

as关键字可以省略吗?可以的,用空格代替

mysql> select dname deptname from dept;//用空格给detp表中的dname字段起一个deptname的别名

假设起别名的时候,别名里面有空格,怎么办?

mysql> select deptno,dname dept?name from dept;

DBMS看到这样的语句,进行SQL语句的编译,不符合语法,编译报错

怎么解决?

mysql> select dname ‘dept?name’ from dept;//把别名用单引号括起来

mysql> select dname “dept?name”?from dept;//或者把别名用双引号括起来
//注意:sql最好使用单引号,双引号不规范

+----------------------+

| dept name? ? ? ? ? |

+----------------------+

| ACCOUNTING? ?|

| RESEARCH? ? ? ?|

| SALES? ? ? ? ? ? ? ? |

| OPERATIONS? ?|

+----------------------+

注意:在所有的数据库当中,字符串统一使用单引号括起来

单引号是标准,双引号在oracle数据库中用不了,但是在mysql中可以使用

再次强调:数据库中的字符串都是采用单引号括起来,这是标准的

双引号不标准

10.5,计算员工年薪?sal*12

mysql> select ENAME,SAL from emp;//查询emp表中的ename和sal字段

+--------------+---------------+

| ENAME? ? ?| SAL? ? ? ? ? ?|

+--------------+---------------+

| SMITH? ? ? | ?800.00? ? ? |

| ALLEN? ? ? | 1600.00? ? ?|

| WARD? ? ? | 1250.00? ? ?|

| JONES? ? ?| 2975.00? ? ?|

| MARTIN? ?| 1250.00? ? ?|

| BLAKE? ? ?| 2850.00? ? ?|

| CLARK? ? ?| 2450.00? ? |

| SCOTT? ? ?| 3000.00? ? |

| KING? ? ? ? | 5000.00? ? |

| TURNER? | 1500.00? ? |

| ADAMS? ? | 1100.00? ? ?|

| JAMES? ? | ?950.00? ? ? |

| FORD? ? ? | 3000.00? ? ?|

| MILLER? ?| 1300.00? ? ?|

+-------------+---------------+

mysql> select ENAME,SAL*12 from emp;//结论:字段可以使用使用数学表达式!

+--------------+-----------------+

| ENAME? ? | SAL*12? ? ? ? ?|

+--------------+-----------------+

| SMITH? ? ? | ?9600.00? ? ? ?|

| ALLEN? ? ? | 19200.00? ? ? |

| WARD? ? ? | 15000.00? ? ? |

| JONES? ? ?| 35700.00? ? ? |

| MARTIN? ?| 15000.00? ? ? |

| BLAKE? ? ?| 34200.00? ? ? |

| CLARK? ? | 29400.00? ? ? |

| SCOTT? ? | 36000.00? ? ? |

| KING? ? ? ?| 60000.00? ? ? |

| TURNER | 18000.00? ? ? |

| ADAMS? ?| 13200.00? ? ? |

| JAMES? ? | 11400.00? ? ?|

| FORD? ? ?| 36000.00? ? ? |

| MILLER? | 15600.00? ? ? |

+------------+-----------------+

mysql> select ENAME,SAL*12 as yearsal from emp;//给SAL*12起别名

+--------------+----------------+

| ENAME? ? | yearsal? ? ? ? ?|

+--------------+----------------+

| SMITH? ? ? | ?9600.00? ? ? |

| ALLEN? ? ? | 19200.00? ? ?|

| WARD? ? ? | 15000.00? ? ?|

| JONES? ? ?| 35700.00? ? ?|

| MARTIN? ?| 15000.00? ? ?|

| BLAKE? ? ?| 34200.00? ? ?|

| CLARK? ? | 29400.00? ? ?|

| SCOTT? ? | 36000.00? ? ?|

| KING? ? ? ?| 60000.00? ? ?|

| TURNER | 18000.00? ? ?|

| ADAMS? ?| 13200.00? ? ?|

| JAMES? ? | 11400.00? ? ?|

| FORD? ? ?| 36000.00? ? ?|

| MILLER? | 15600.00? ? ?|

+------------+-------------------+

mysql> select ENAME,SAL*12 as '年薪' from emp;//别名是中文,用单引号括起来

+--------------+------------------+

| ENAME? ? | 年薪? ? ? ? ? ? ? ?|

+-------------+-------------------+

| SMITH? ? ?| ?9600.00? ? ? ? |

| ALLEN? ? ?| 19200.00? ? ? ?|

| WARD? ? ?| 15000.00? ? ? ?|

| JONES? ? | 35700.00? ? ? ?|

| MARTIN? | 15000.00? ? ? ?|

| BLAKE? ? | 34200.00? ? ? ?|

| CLARK? ? | 29400.00? ? ? |

| SCOTT? ? | 36000.00? ? ? |

| KING? ? ? ?| 60000.00? ? ? |

| TURNER | 18000.00? ? ? |

| ADAMS? ?| 13200.00? ? ? |

| JAMES? ? | 11400.00? ? ? |

| FORD? ? ?| 36000.00? ? ? ?|

| MILLER? | 15600.00? ? ? ?|

+------------+-------------------+

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:18:22  更:2022-09-04 01:19:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:05:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码