目录
1、什么是数据库?什么是数据库管理系统?什么是SQL?他们之间的关系是什么?
1.2 数据库管理系统(DatabaseManagement,DBMS)
5、在windows操作系统当中,启动和关闭mysql的命令是什么?
6、MySQL安装,服务启动,怎么使客户端登陆mysql数据库?
7.2 查看mysql中有哪些数据库 show databases;
7.4 创建数据库 create database 数据库名;
7.6 查看mysql数据库的版本号 select version();
7.7 查看当前使用的是哪个数据库 select database();
10、导入一下提前准备好的数据 source 路径(不能包含中文)
13.6 计算员工年薪sal * 12:字段可以使用数学表达式
14.7 between … and …. 两个值之间, 等同于 >= and <=
14.8 is null 为 null(is not null 不为空)
14.11 in 包含,相当于多个 or (not in 不在这个范围中)
17.4 substr 取子串(substr( 被截取的字符串, 起始下标,截取的长度))
17.11 case..when..then..when..then..else..end
17.14 ifnull 可以将 null 转换成一个具体值
19.2 将之前的关键字全部组合在一起,来看一下他们的执行顺序
19.6 使用having可以对分完组之后的数据进一步过滤。
1、什么是数据库?什么是数据库管理系统?什么是SQL?他们之间的关系是什么?
1.1 数据库(DataBase,DB)
按照一定格式存储数据的一些文件的组合。顾名思义:存储数据的仓库,实际上就是一堆文件,这些文件中存储了具有特定格式的数据。
1.2 数据库管理系统(DatabaseManagement,DBMS)
数据库管理系统是专门用来管理数据库中数据的,数据库管理系统可以对数据库当中的数据进行增删改查。
1.3 SQL 结构化查询语言
程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS负责执行SQL语句,最终来完成数据库中数据的增删改查操作。
1.4 三者之间的关系
DBMS-->执行-->SQL-->操作-->DB
2、安装数据库管理系统MySQL
3、MySQL数据库如何卸载
第一步:双击安装包进行卸载删除。
第二步:删除目录:
把C:\ProgramData下面的MySQL目录干掉。
把C:\Program Files (x86)下面的MySQL目录干掉。
具体位置根据自己的安装位置查找
4、看一下计算机上的服务,MySQL的服务在哪里?
计算机-->右键-->管理-->服务和应用程序-->服务-->找mysql服务
MySQL的服务,默认是“启动”的状态,只有启动了mysql才能用。默认情况下是“自动”启动,自动启动表示下一次重启操作系统的时候?自动启动该服务。
可以在服务上点击右键:启动、重启服务、停止服务
还可以改变服务的默认配置:
服务上点击右键,属性,然后可以选择启动方式:
自动(延迟启动)、自动、手动、禁用
5、在windows操作系统当中,启动和关闭mysql的命令是什么?
语法:
net start 服务名称;
net stop 服务名称;
其它服务的启停都可以采用以上的命令。
6、MySQL安装,服务启动,怎么使客户端登陆mysql数据库?
使用bin目录下的mysql.exe命令来连接mysql数据库服务器
d: //转到D盘
cd D:\mysql-8.0.26-winx64\mysql-8.0.26-winx64\bin //进入bin文件
mysql -uroot -p111111 //后面的111111是我的密码
7、mysql常用命令
7.1 退出mysql exit
exit
7.2 查看mysql中有哪些数据库 show databases;
show databases;
7.3 怎么选择使用某个数据库 use 数据库名;
use powernode;
7.4 创建数据库 create database 数据库名;
create database power;
7.5 查看某个数据库下有哪些表 show tables;
show tables;
7.6 查看mysql数据库的版本号 select version();
select version();
7.7 查看当前使用的是哪个数据库 select database();
select database();
8、数据库当中最基本的单元是表:table
什么是表table?为什么用表来存储数据呢?
姓名 性别 年龄 (列:字段)
---------------------------
张三 男 20 ------->行(记录)
李四 女 21 ------->行(记录)
王五 男 22 ------->行(记录)
数据库当中是以表格的形式表示数据的。
任何一张表都有行和列:
行(row):被称为数据/记录。
列(column):被称为字段。姓名字段、性别字段、年龄字段。
每一个字段都有:字段名、数据类型、约束等属性。
字段名可以理解,是一个普通的名字,见名知意就行。
数据类型:字符串,数字,日期等,后期讲。
约束:约束也有很多,其中一个叫做唯一性约束,这种约束添加之后,该字段中的数据不能重复。
9、关于SQL语句的分类?
9.1 DQL:数据查询语言
凡是带有select关键字的都是查询语句
select...
9.2 DML:数据操作语言
凡是对表当中的数据进行增删改的都是DML
insert delete update
insert 增、delete 删、update 改
这个主要是操作表中的数据data。
9.3 DDL:数据定义语言
凡是带有create、drop、alter的都是DDL,DDL主要操作的是表的结构。不是表中的数据。
create:新建,等同于增
drop:删除
alter:修改
这个增删改和DML不同,这个主要是对表结构进行操作。
9.4 TCL:事务控制语言
事务提交:commit;
事务回滚:rollback;
9.5 DCL:数据控制语言。
例如:授权grant、撤销权限revoke....
10、导入一下提前准备好的数据 source 路径(不能包含中文)
source D:\pracite_mysql\mysqlpower\bjpowernode.sql
11、 看一下文件里有几个表
dept是部门表
emp是员工表
salgrade 是工资等级表
查看表中的数据:
select * from 表名; //统一执行这个SQL语句。
这个查看语句在Qt数据表中也学过
select * from emp;
列从左到右:
员工序号、员工名字、员工职位、上级领导编号、入职日期、工资、补助、部门编号
select * from dept;
DEPTNO 字段是外键,DEPTNO 的值来源于 dept 表的主键,起到了约束的作用
列从左到右:部门编号、部门名称、部门位置
select * from salgrade;
列从左到右:工资等级、最低工资、最高工资
12、不看表中的数据,只看表的结构 desc
有一个命令:
desc 表名; desc 是describe的缩写
desc dept;
行从上到下:部门编号、部门名字、地理位
行从上到下:员工编号、员工姓名、工作岗位、上级编号、入职日期、工资、补助、部门编号
desc salgrade;
行从上到下:工资等级、最低工资、最高工资
13、简单查询
13.1查询一个字段
select 字段名 from 表名;
其中要注意:
select和from都是关键字。字段名和表名都是标识符。
强调:
对于SQL语句来说,是通用的,所有的SQL语句以“;”结尾。另外SQL语句不区分大小写,都行。
13.2 查询部门名字
select dname from dept;
13.3 查询两个字段,或者多个字段使用逗号隔开“,”
查询部门编号和部门名:
select deptno,dname from dept;
查询所有字段:
第一种方式:可以把每个字段都写上
select a,b,c,d,e,f... from tablename;
第二种方式:可以使用*
select * from dept;
13.4 给查询的列起别名:使用as关键字起别名。
select deptno,dname as deptname from dept;
注意:只是将显示的查询结果列名显示为deptname,原表列名还是叫:dname
记住:select语句是永远都不会进行修改操作的,因为只负责查询
as关键字可以省略:
select deptno,dname deptname from dept;
13.5 假设起别名的时候,别名里面有空格,怎么办?
//select deptno,dname dept name from dept;
DBMS看到这样的语句,进行SQL语句的编译,不符合语法,编译报错。怎么解决?
select deptno,dname 'dept name' from dept; //加单引号
select deptno,dname "dept name" from dept; //加双引号
注意:在所有的数据库当中,字符串统一使用单引号括起来,单引号是标准,双引号在oracle数据库中用不了。但是在mysql中可以使用。
13.6 计算员工年薪sal * 12:字段可以使用数学表达式
select ename,sal from emp;
select ename,sal*12 from emp;
select ename,sal*12 as yearsal from emp;
select ename,sal*12 as '年薪' from emp;
14、条件查询
什么是条件查询?
不是将表中所有数据都查出来。是查询出来符合条件的。
语法格式:
select 字段1,字段2,字段3....