全站资源开放下载,感谢广大网友的支持
链接失效请移步职业司平台
非盈利平台

非盈利平台

只为分享一些优质内容

Java帮帮-微信公众号

Java帮帮-微信公众号

将分享做到极致

微信小程序

微信小程序

更方便的阅读

职业司微信公众号

职业司微信公众号

实时动态通知

安卓APP

安卓APP

我们从此不分开

程序员生活志-公众号

程序员生活志-公众号

程序员生活学习圈,互联网八卦黑料

支付宝赞助-Java帮帮社区
微信赞助-Java帮帮社区

msyql数据库[云图智联]

5
发表时间:2020-07-03 10:44

免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/

1.数据库的基本介绍

1.1数据库介绍

1.1.1生活中的数据?

大家在生活中随处可见可收集的非常多的信息,比如说手机上的短信、报纸上的新闻、硬盘中的文件等等,这些信息我们都可以统称为数据,那么数据一般存放在哪里呢?大家会发现数据都必须要存放在“载体”上,那么我们也会根据不同的数据选择不同的载体。

1.1.2什么是数据库?

数据库是数据的仓库。与普通的“数据仓库”不同的是,数据库依据“数据结构”来组织数据,因为“数据结构”,所以我们看到的数据是比较“条理化”的(比如不会跟以前的普通文件存储式存储成一个文件那么不条理化,我们的数据库分成一个个库,分成一个个表,分成一条条记录,这些记录是多么分明),

例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那的人事管理就可以达到极高的水平。

1.1.3数据库能够做什么?

存数据库是计算机应用系统中的一种专门管理数据资源的系统。

  ⑴ 实现数据共享

  数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

  ⑵ 减少数据的冗余度

  同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

  ⑶ 数据的独立性

  数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。

  ⑷ 数据实现集中控制

  文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

  ⑸ 数据一致性和可维护性,以确保数据的安全性和可靠性

  主要包括:安全性控制、完整性控制、并发控制,使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。

  ⑹ 故障恢复

1.1.4常见的数据库

1.MySQL数据库

MySql 短小精悍,像 access 一样的文件型数据库,但比 access强百倍,是真正多用户多任务的数据库系统其从 Linux上移植过来的,安全性非常好,不过大部分操作是在 dos 下进行,虽然也有第三方开发的图形界面但并不好用。MySQL 是跨多平台的数据库管理软件,可运行于 LINUX、NT、UNIX 等系统,可支持命令和图形化管理,对于一般的数据库足以应付了,占用系统资源较少,速度较快,而且是开源的、免费的。

  由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。

2.Oracle数据库

Oracle Database又名Oracle RDBMS或简称Oracle。是甲骨文公司的一款关系数据库管理系统,Oracle优越的性能使得其成为大型应用和超大型系统的首选数据库,提供了基于角色的权限管理模式。通过角色管理,大大加强了数据库的安全性,同时,也为DBA提供了更加方便、快捷的管理用户和权限的途径。可良好地支持大数据存储格式,如图形、音频、视频、动画等媒体格式。提供了良好的分布式管理功能,用户可以很轻松地实现多数据库的协调工作。数据库应用于企业应用需要进行购买使用。

3.sqlServer数据库

是基于服务器端的中型的数据库, 可以适合大容量数据的应用, 在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的 SQL 语言对数据库进行管理,所以如果是标准 SQL 语言,两者基本上都可以通用的。 Microsoft SQL Server 还有更多的扩展,可以用存储过程,数据库大小无极限限制。


2.1 数据库的概念

2.1.1数据库(Data Base)

数据库(Data Base,简称DB)是长期存储在计算机内、有组织的、可共享的、统一管理的相关数据的集合。例如:我们可以把每一个客观存在的,可以被描述的事务都可以称为数据库的实体数据。

每一个数据库都是由若干个数据表组成,每一个表与表之间建立相应的关系及操作的对象,数据库中的每一列我们可以称为每一个字段,描述着当前表数据的基本数据信息,每一行表示着我们的每一条数据记录。

数据库的功能:组织、存储和管理数据。

2.1.2数据库管理系统(Data Base Management System)

数据库管理系统(Data Base Management System,简称DBMS)是位于用户应用程序与操作系统之间的一层数据管理软件,是数据库系统的核心组成部分。为用户或应用程序提供访问数据库的方法:包括数据库的建立、查询、更新以及各种数据控制。

数据库管理系统是为了科学地组织和存储数据、高效地获取和维护数据。

2.1.3 MySQL运行机制

(1)最上层:

最上层是一些客户端和连接服务,包含本地的sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信,主要完成一些类似于连接处理、授权认证及相关的安全方案,

在该层上引用了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于ssl的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。

(2)第二层:

第二层架构主要完成大多数的核心服务功能。如sql接口,并完成缓存的查询。sql的分析和优化 以及部分内置函数的执行。

所有跨存储引擎的功能也在这一层实现,如过程,函数等。在该层,服务器会解析查询并创建相应的内部解析树,并对其完成相应的优化如确定查询表的顺序,是否利用索引等。

最后生成相应的执行操作。如select语句,服务器还会查询内部的缓存。如果缓存空间足够大,这样就解决大量读操作的环境中能够很好的提升系统的性能。

(3)存储引擎层:

存储引擎真正的负责MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信,不同的存储引擎具有的功能不同,这样可以根据自己的实际需进行选取。

(4)数据存储层:

主要是将数据存储在运行于裸设备的文件系统之上,并完成于存储引擎的交互。

2.2 Windows上如何安装MySQL

1、获取MySQL,可以从官网上直接下载 https://dev.mysql.com/downloads/mysql/

2、下载完成之后,找到下载的路径,解压即可!

2 安装教程

(1)配置环境变量

变量名:MYSQL_HOME

变量值:C:\software

(2)生成data文件

以管理员身份运行cmd

进入C:\software\mysql-8.0.19-winx64.zip\mysql-8.0.19-winx64\bin下

执行命令:mysqld --initialize-insecure --user=mysql 在C:\software\mysql-8.0.19-winx64.zip\mysql-8.0.19-winx64下和bin同级目录生成data目录

3) 安装MySQL

继续执行命令:mysqld -install

(4)启动服务

继续执行命令:net start MySQL

(5)登录MySQL

登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)

mysql -u root -p

(6)查询用户密码

查询用户密码命令:mysql> select host,user,authentication_string from mysql.user;

(7)设置(或修改)root用户密码

mysql> use mysql

提别注意:下面这个修改密码的方式不正确,可能是因为版本问题。最近解决了。

mysql> update mysql.user set authentication_string=("123456") where user="root";

Query OK, 1 row affected, 1 warning (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 1

解决方案如下:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

mysql> flush privileges;

#作用:相当于保存,执行此命令后,设置才生效,若不执行,还是之前的密码不变

Query OK, 0 rows affected (0.01 sec)

(8)退出

mysql> quit

Bye

(9)再次登录

2.3 mysql文件结构

主要文件夹

  • bin目录:用于放置一些可执行文件,如mysql.exe、mysqld.exe、mysqlshow.exe.等。

  • data目录:用于放置一些日志文件以及数据库。

  • include目录:用于放置一些头文件,如mysql.h、mysqld_ername.h等。

  • lib目录:用于放置一些列的库文件。

  • share目录:用于存放字符集、语言等信息。

  • 关于ini文件的介绍如下:

my.ini:是MySQL数据库中使用的配置文件。

my-huge.ini:适合超大型数据库的配置文件。

my-large.ini:适合大型数据库的配置文件。

my-medium.ini:适合中型数据库的配置文件。

my-small.ini:适合小型数据库的配置文件。

my-template.ini:是配置文件的模板,MySQL配置向导将该配置文件中选择项写入到my.ini文件。

2.4 结构化语言

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

常见的几种语言分类如下:


2.5 SQL中的运算符

1)算术运算符

一种符号,它是用来进行列间或者变量之间的比较和数学运算,一般包括算术运算符、赋值运算符、比较运算符、逻辑运算符

2)赋值运算符

3)逻辑运算符

4)比较运算符

2.6 SQL中的数据类型

MySQL支持所有标准SQL数值数据类型。大致可以分为三类:数值、日期/时间和字符串(字符)类型。

1)数值类型

2) 字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

3) 日期类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

TIMESTAMP类型有专有的自动更新特性,将在后面描述。

2.7 数据库的基本操作语法

1) 创建数据库

在使用数据库前,除了系统数据库以外,我们还需要自己创建属于用户的数据库,一般使用数据库创建语句进行创建。

语法:

mysql CREATE DATABASE 数据库名;

2) 查看数据库

如果需要查看MySQL已创建的数据库,可以在终端窗口输入命令:

语法:

mysql SHOW databases;

3 ) 使用数据库

在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。在 mysql> 提示窗口中可以很简单的选择特定的数据库。你可以使用SQL命令来选择指定的数据库。

语法:

mysql USE 数据库名;

4) 删除数据库

删除数据库是一个谨慎操作,有可能造成重要数据的丢失。如果确实需要删除已经存在的数据库,删除数据库的命令为:

语法:

mysql drop database <数据库名>

2.8 数据库的表操作

MySQL是一种关系型数据库,关系型数据库最重要的概念就是表,表具有固定的列数和任意的行数,在数学上称为“关系”二维表是同类实体的各种属性的集合,每个实体对应于表中的一行,在关系中称为元组,相当于通常的一条记录,表中的列属性,称为Field,相当于通常记录中的一个数据项,也叫做列、字段。 面向对象的类,类似于关系型数据库中表的概念 ORM思想:对象-关系映射

1) 创建数据表

语法:

创建数据表的注意事项:

1.多字段使用逗号分隔

2.保留字用撇号括起来

3.单行注释:#...... 多行注释:/……/

另外还需要注意的是,在创建表的同时有时会指定字段属性及字段约束,常见的字段属性及字段约束如下:

2) 查看数据表和表结构

1.查看数据表

语法

2.查看表结构

mysql DESCRIBE 表名; 或 DESC 表名;

3)删除数据表

在删除表之前,先使用IF EXISTS语句验证表是否存在。

语法:

mysql DROP TABLE [IF EXISTS] 表名;

2.9 数据库表结构操作

1) 修改表名

语法 :

mysql ALTER TABLE 旧表名 RENAME [TO] 新表名;

2)添加表字段

语法:

mysql ALTER TABLE 表名 ADD 字段名 数据类型 [属性];

3) 修改表字段

语法:

mysql ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];

4) 删除表字段

语法:

mysql ALTER TABLE 表名 DROP 字段名;

2.10 数据表中的主外键约束及概念

1)添加主键

  数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。主键主要是用于其他表的外键关联,以及本记录的修改与删除.

mysql ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY 表名(主键字段);

2) 添加外键

 外键表示了两个表之间的相联关系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。外键用于与另一张表的关联。是能确定另一张表记录的字段,保持数据的一致性、完整性。

mysql ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段) REFERENCES 关联表名(关联字段);

3.1 msyql帮助系统

在学习还是在实际工作中,我们都会经常遇到各种意想不到的困难,不能总是期望别人伸出援助之手来帮我们解决,如何才能及时解决学习 MySQL 时的疑惑呢?可以通过 MySQL 的系统帮助来解决遇到的问题。

在 MySQL 中,查看帮助的命令是 HELP,语法格式如下:

mysql HELP 查询内容

(想要了解更多的职场,职业规划方面的经验,文章第一时间发布于云图智联官网)

免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/


Java帮帮学习群生态

Java帮帮学习群生态

总有一款能帮到你

Java学习群

Java学习群

与大牛一起交流

大数据学习群

大数据学习群

在数据中成长

九点编程学习群

九点编程学习群

深夜九点学编程

python学习群

python学习群

人工智能,爬虫

测试学习群

测试学习群

感受测试的魅力

Java帮帮生态承诺

Java帮帮生态承诺

一直坚守,不负重望

初心
勤俭
诚信
正义
分享
友链交换:加帮主QQ2524138991 留言即可 24小时内答复  
业司
满吉教育资讯
会员登录
获取验证码
登录
登录
我的资料
留言
回到顶部