美文网首页
MySQL简介及安装

MySQL简介及安装

作者: 扶光_ | 来源:发表于2023-10-14 20:58 被阅读0次

一,JAVAweb

就是用java的技术来开发网站

流程

二,数据库

2.1 安装

  • 第一步 下载mysql数据库(https://dev.mysql.com/downloads/mysql/)
  • 第二步 环境变量配置
    把mysql的安装目录复制好


    环境变量

    然后编辑path 新建一个MYSQL下的bin目录


    image.png
  • 第三步 新建配置文件

[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

将上述文本创建名为my.ini文本文件放在mysql安装目录中

配置文件
  • 第四步 初始化mysql
    在命令黑窗口 执行mysqld --initialize-insecure命令,初始化mysql此时安装目录下会生成一个data文件夹

  • 第五步 注册mysql服务
    在黑窗口使用mysqld -install,回车
    将mysql注册到自己计算机内成为一个服务

  • 第六步 启动与关闭mysql服务
    net start mysql
    net stop mysql

    启动mysql
    此时你的计算机就可以称为mysql服务器,也就是安装了mysql服务的机器
    安装了某一种服务器软件的计算机,就称为服务器
  • 第七步 修改默认密码
    mysqladmin -u root password 1234

  • 第八步 登录与退出
    mysql -uroot -p1234登录
    exit退出
    如果你要操作别人电脑上的数据库就可以使用
    mysql -u用户名 -p密码 -h要连接的mysql服务器的ip地址(默认127.0.0.1) -P端口号(默认3306)
    需要对方的主机地址和端口号

2.2 卸载

  • 第一步需要暂停mysql服务 ,黑窗口输入net stop mysql
  • 第二步 mysqld -remove mysql
  • 第三步 删除对应环境变量

2.3 mysql数据模型

它是一个关系型数据库 也就是二维表组成的数据库。
如果不是表结构组成的数据库那就是非关系型数据库

  • 优点:
    格式一致,易于维护
    存储磁盘中安全
    使用通用sql语言,可用复杂查询

mysql创建的数据库就是磁盘中的文件夹

2.4 SQL的通用语法

sql语句可以以单行或多行书写,以;结尾。且不区分大小写,关键字建议大写
单行注释--
多行注释`/**/

各种

DDL(数据定义语言)

操作数据库的
1.查询
show databases
2.创建
create databases 数据库名称
3.删除
drop database 数据库名;
drop database if exists 数据库名;如果存在则删除
操作表的
1.创建表

create table 表名(
字段名1 数据类型1,
字段名2 数据类型2,
    );
创建表
2.查询表
show tables查询一共有哪些表
desc 表名查询表结构 如字段
3.修改表
alter table 表名 rename to 新表名 //修改表名
alter table 表名 add 列名 数据类型 //添加一列
alter table 表名 drop 列名//删除一列
alter table 表名 modify 列名 数据类型//修改列
alter table 表名 modify 列名 新列名 数据类型

4.删除表
drop table 表名
drop table if exists 表名 如果存在删除

DML(数据操纵语言)

对表中数据进行增删改查操作
1.增加数据
insert into 表名(列名1,列名2) values(值1,值2); 指定列添加数据
insert into 表名 values(值);//给全部列添加数据
INSERT INTO user values(2,'李四'),(3,'王五');//批量添加多列数据
2.修改数据
update 表名 set 列名=值1,列名=值2 where条件
如将张三性别改为女
update user sex='女' where name = '张三';
3.删除数据
delete from 表名 where 条件

DQL(数据库查询语言)

对表中数据进行查询


语法

1.基础查询
select 字段名 from 表名;//查询多个字段
select * from 表名;//查询所有数据
select distinct 字段列表 from 表名;//去除重复记录
as 起别名 可以省略as
2.条件查询
select 字段列表 from 表名 where 条件列表;

符号 功能
> 大于
< 小于
>= 大于等于
<= 小于等于
= 等于
<>或!= 不等于
between and 范围内(包括)
in 多选一
like 模糊查询 _代表一个字符 % 代表多个字符
is null 是null
is not null 不是null
and或&& 并且
or或两个竖线 或者
not或! 非 不是

3.排序查询
select 字段列表 from 表名 order by 排序字段名1 方式,排序字段名2 方式;
如有多个排序条件,当第一个条件值为相同时,执行第二个默认升序 desc 降序
查询学生信息,按照数学降序排序,如数学成绩一样安装英语升序排序
select * from student order by math desc,english asc;

4.分组查询
如一张学生表中都有男同学和女同学 ,那么我想查询男同学的平均分和女同学的平均分是多少.这是就需要分成两组 一男一女
在此之前需要先学习聚合函数,以便计算求和,平均分等
聚合函数(将一列作为整体纵向计算)

函数名 功能
count(列名) 统计数量
max(列名) 最大值
min(列名) 最小值
sum(列名) 求和
avg(列名) 平均值

select 聚合函数(列名)from 表名;

语法select 字段列表 from 表名 where 分组前条件限定 group by 分组字段名 having 分组后条件过滤
where和having的区别:
1 执行时机不同,where是分组前判断,不满足则不参与分组.having是对分组之后的结果进行过滤
2where不能对聚合函数进行判断,having可以

例 查询男同学和女同学各自数学的平均分,以及各自人数,分数低于70分的不参与,分组之后大于两个人
select sex,avg(math),count(sno) from student where scoure< 70 group by sex having count(*)>2;
执行顺序 where>聚合函数>having

5 分页查询


分组查询

为了提高用户体验
语法
select 字段名 from 表名 limit 起始索引,显示条目;
起始索引等于(当前页数-1 * 显示条目)
oracle使用rownumber
SQL server分页查询使用top

2.5 约束

对表中数据进行一些限制.作用于表中列上的规则,限制表中加入的数据

  • 非空约束 NOT NULL
  • 唯一约束 UNIQUE
  • 主键约束 PRIMARY KEY ANTO_INCREMENT(自动增长)
  • 默认约束 DEFAULT
  • 检查约束 CHECK
  • 外键约束 FOREIGN KEY(是用来让两个表数据进行连接,保证数据的一致性和完整性)


    外键

    在emp员工表添加外键dep_id关联dept的主键id
    constrain fk_emp_dept foreign key (dep_id)reference dept(id)
    删除外键
    alter table emp drop foreign key fk_emp_dept
    建完表后添加外键
    alter table emp add fk_emp_dept foreign key(dep_id) reference dept(id )

2.6 数据的设计

数据用什么表保存,表和表之间的关系。
软件研发步骤
需求分析(产品经理设计产品原型) ->设计(架构师和工程师 包括软件结构设计 数据库设计 接口设计 过程设计) 编码(开发工程师) 测试(测试工程师) 安装部署(运维工程师)
数据库设计概念:
建立数据库中表结构以及表和表之间的关系
数据库设计步骤
1 需求分析(根据产品原型分析)
数据是什么,数据有哪些属性,数据和属性的关系
2 逻辑分析(通过ER(实体关系)图进行逻辑建模)

ER图
实体用方块表示 属性用椭圆表示,实体就是数据库中的每一个表而属性就是表中的字段
3 物理设计(逻辑设计转换为物理设计)
4 维护设计(对新的需求进行建表,表优化)
  • 一对多(多对一)
    如:部门和员工


    一对多
  • 多对多
    如:商品和订单


    多对多
  • 一对一
    用户和用户信息


    一对一

2.7 多表查询

业务系统中有很多表 ,多张表之间查询数据。
笛卡尔积:就是有A和B两个集合,取所有的组合情况就是笛卡尔积
如a有2个数据,b有3个 那么所有组合情况就是有2*3=6种情况

多表查询
因为孙悟空这个人不能又是研发部又是市场部的.所有我们需要条件进行筛选,在这基础上消除一些无效数据
所以要写成
SELECT * from emp,dept WHERE emp.dep_id = dept.did;
所以这也是连接查询(内连接),属于多表查询的一种
  • 连接查询

    • 内连接 相当于查询A和B集合的交集
      内连接
      SELECT emp.name,dept.name from emp,dept WHERE emp.dep_id = dept.did
      另一种内连接写法
      select * from emp inner join dept on emp.dep_id = dept.did
    • 外连接
      分为左外连接和右外连接
      select * from emp left join dept on emp.dep_id = dept.did
      左外连接相当于查询a表全部数据和交集部分
      左外连接
  • 子查询
    一个连接分为两步走
    查询高于张三工资的员工信息
    1.查询张三的工资
    select salary from emp where name = '张三';//答案为5000
    2.查询高于5000的工资
    select * from emp where salary > 5000;
    3所以说这个5000 就可以替换成第一个查询语句去查询
    `select * from emp where salary > (select salary from emp where name = '张三');

多个条件可以放在in中去查询


image.png

多表查询的时候 你要了解他们的ER图 关系 ,比如一对多就需要连接查询


对象模型

2.8 事务

就是一组数据库操作命令,事务当成一个整体来提交要么同时成功要么同时失败
好比如银行系统的转账操作,首先先查询自己的余额够不够,然后转账给自己的账户扣除掉钱,同时对方的账户增加了钱,这一系列操作可以称为一个事务。

但如果在执行对方账户增加钱的时候出错了,所以就没有加钱。
预防方法:转账之前开启事务,出现异常回滚事务,成功之后提交事务
BEGIN开启
ROLLBACK回滚
COMMIT 提交
只要开启事务,所有的操作都是临时的,只有commit命令输入之后才是持久化存储。

事务的四大特征

  • 原子性 最小单位 同时成功同时失败
  • 一致性 数据保持一致状态
  • 隔离性 多个事务操作的可见性
  • 持久性 提交之后,数据库的改变时永久性的
    set @@autocommit = 0;设置手动提交 1是自动提交
    mysql默认自动提交
    oracle需要手动提交

图形化工具 Navicat

Navicat官网

图形化

相关文章

  • 数据库安装

    一,数据库简介 二,yum源安装mysql 三,源码安装mysql 四,mysql自带连接命令及更改密码 五,my...

  • MySQL简介及安装

    一、MySQL简介及安装升级 1、什么是数据 数据(data)是数据库中存储的基本对象。数字只是一种最简单的数据,...

  • mysql简介及安装

    [TOC] 数据库介绍 关系型数据库: MySQL Oracle MSSQL PostgreSQL非关系型数据库...

  • MySQL简介及安装

    MySQL简介 MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司。 MySQL是一个开源的关系型...

  • MySQL-lesson01-简介及安装

    MySQL-lesson01-简介及安装 第一章 MySQL 大纲介绍 1、官方定义的MySQL DBA工作内容 ...

  • 中级DBA就业指导锦囊

    MySQL1.1 MySQL 简介及安装,升级1.1.1 数据库产品类型1.1.2 MySQL 企业主流版本1.1...

  • [mysql]mysql简介及安装01

    01 数据库简介 mysql小型关系型数据库管理系统。LAMP互联网架构中的m就是指mysql。现在属于甲骨文公...

  • MySQL基础之数据类型与表的管理

    MySQL数据库简介及安装 mysql.com 官网下载 数据库系统(Database System DBS)包括...

  • MySQL--简介及安装

    如果您对数据库感兴趣,可以添加DBA解决方案QQ群:855439640 第一章MySQL大纲介绍 1,官方定义的M...

  • mysql 常用命令

    MySQL安装及基本命令 Windows dos 下安装及启动mysql命令注册mysql服务mysqld -in...

网友评论

      本文标题:MySQL简介及安装

      本文链接:https://www.haomeiwen.com/subject/ntlabdtx.html