描述事物的符号记录,可以使数字,也可以是文字,图形、图像等,数据有多种形式,它们都可以经过数字化存入计算机,数据的含义成为数据的语义
存储数据的仓库,是长期存放计算机内、有组织、可共享的大量数据的集合,数据库中的数据是按照一定数据模型组织的,描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享,即数据库有永久存储、有知识和可共享的三个基本特点。
数据库管理系统又称DBMS(Database Management System ),顾名思义,位于用户和操作系统之间的一层数据管理软件。数据库管理系统主要有以下功能:
- 数据定义功能:提供数据定义语言(DDL),让用户方便地对数据库中数据对象进行定义
- 数据组织、存储和管理:要提高存储空间利用率和存储效率
- 数据操纵功能:提供数据操纵语言(DML),实现对数据库基本操作,如增删改查
- 数据库的建立和维护功能:统一管理控制,以保证安全、完整、多用户并发使用。
- 其他功能:与网络中中的其他软件系统通信功能,异构数据库之间的互访和互操作功能。
常听说的数据库管理系统有MySQL、Oracle、SQLite、Access、MS SQL Server等,他们均是软件,它们属于关系型数据库。他们都有两个主要功能:
- 将数据保存到文件或内存
- 接受client特定的命令,然后对文件进行相应的操作
指的是计算机系统中引入数据库后的系统,一般有数据库、数据库管理系统、应用系统、数据库管理员(DBA)构成,常简称为数据库。
- 数据库管理系统由来
我们思考几个问题,在网络编程中我们的远端Client的用户产生的数据,我们要存放到什么地方,比较数据保存在本地硬盘,来分析,下面是分析过程:
数据存放位置 在本地管理数据 在远端管理数据 功能实现 1、创建本地目录、存放文件
2、有多个目录,用来归类存放不同类型的数据文件
3、不同用户有不同的权限,用户可以访问,修改自己的数据
1、用户只要有socketClient客户端,就可以访问远端拿到数据
2、远端存放数据的位置有socket服务端接受数据,并保存数据。
3、不同用户可以在远端服务器通过socket执行命令(来操作保存数据文件)
4、不能 用户有不同的权限,对文件
是对现实世界数据特征的抽象,是对现实世界的模拟,是数据库系统的核心和基础。数据模型应满足三方面需求:1.真是模拟现实世界;2.容易为人理解;3.便于在计算机上实现。数据模型按应用目的分为两类:
- 第一类是概念模型:按用户观点对数据和信息建模,主要用于数据库设计,也称信息模型。
- 第二类是逻辑模型和物理模型:逻辑模型是按计算机观点对数据建模,主要包括层次模型、网络模型、关系模型、面向对象模型、对象关系模型;物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法。
数据模型通常由数据结构、数据操作和完整性约束三部分组成,是严格定义的一组概念的集合,精确的描述了系统的静态特写、动态特性和完整性约束条件。
用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力的工具,也是设计人员与用户之间进行交流的语言。信息世界涉及的概念主要有:
- 实体(Entity):客观存在并可相互区别的事物成为实体。可以是人、事、物,也可以是抽象的概念和联系。
- 属性(Attribute):实体所具有的某一特性。一个实体可以又若干个属性来刻画。
- 码(Key):唯一标识实体的属性集。
- 域(Domain):域是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
- 实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质。用实体名和属性名集合来抽象和刻画同类实体,称为实体型。
- 实体集(Entity Set):同一类型实体的集合。
- 联系(Relationship):实体内部和实体之间的联系。实体之间的联系有一对一,一对多、多对多三种。
指建立在关系模型基础上的,而关系模型本质上就是若干个存储数据的二维表。
MySQL是一个关系型数据库管理系统,目前属于Oracle旗下,MySQL最流行的关系型数据库管理系统(又称RDBMS,Relational Database Management System),想要使用MySQL数据库我们需要以下步骤:
- 安装mysql服务端
- 安装mysql客户端
- 客户端连接服务端
- 客户端发送命令给服务端,服务端根据指令执行对数据的相应操作。
windows下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
- 安装
我们下载的是zip版本,解压之后,就可以了,即可。
MySQL目录解释:
- 服务配置
- 初始化mysql数据库,生成data目录
- 启动MySQL服务端
对比三种方法:
1、方法一:在命令行开启服务,关闭命令窗口,服务停止,并且每次需要进入到bin目录下执行命令
2、方法二:不需要进入bin目录下执行命令,但是关闭命令窗口,服务也停止
3、方法三:不需要进入并bin目录下执行命令,并且关闭命令窗口,服务仍然在执行。
总结:
最佳方式是结合方法二和方法三,
将bin目录添加到path路径下,然后注册mysqld为windows服务。
- 启动MySQl客户端
我们下载的软件中,包含了mysql服务端程序,也包含了客户端程序,统一放到了bin目录下,如果我们已经将bin添加到path路径下的话,我们执行下面的命令去连接数据库:
- 安装
这里我们介绍CentOS7以上系统,默认自带yum包管理工具。
- 配置
3、client端连接远程数据库(Mysql数据库)
- 使用命令行工具
- 使用一些数据库连接软件
windows:phpMyAdmin、Navicat 、DBeaver
- 一些库支持
python语言版本:pymysql、MySQLsb、mysqlclient
- 什么是SQL?
MySQL、Oracle等软件可以接受命令,并作出相应的操作,由于命令中可以包含删除文件、获取文件内容等众多操作,对于编写的命令就是SQL语句。SQL是结构化语言的缩写,用来专门与数据库进行通信的语言。
- 显示数据库
默认root用户有四张表:
information_schema :提供了访问数据库元数据的方式。(元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有时用于表述该信息的其他术语包括“数据词典”和“系统目录”。)
mysql :mysql的核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息
performance_schema :主要用于收集数据库服务器性能参数。主要用于收集数据库服务器性能参数。
sys:Sys库所有的数据源来自:performance_schema。目标是把performance_schema的把复杂度降低 - 创建数据库:
- 数据表简单操作
- 创建用户
- 删除用户
- 修改用户
- 修改密码
注意事项:
1、用户权限相关数据保存在mysql数据库的user表中,在root用户下可以对其直接进行操作,但是不建议这样做。
2、当用户创建之后,用户只能登陆到mysql,但是不能干任何事情,需要我们去授权之后才可以。
- 查看用户权限
- 授予某用户什么权限
- 取消某用户权限
- 立刻刷新数据到内存,使权限更改立刻生效
all privileges 除grant外的所有权限
5、其他
- 目标数据库的格式怎么写?
#数据库中所有的表
#指定数据库中的某张表
#所有的数据库中所有的表
- 用户名格式怎么写?
#用户只能在该ip下才能访问
#用户只能在168网段下进行访问
#用户可以在任意ip下进行访问。
- 修改用户密码的几种方式
- 补充:
- 目标数据库的格式怎么写?
- 创建表
参数说明:
1、是否可以为空,用null来表示
not null ---不可以为空值
null ----可以为空值
2、设置默认值
创建列的时候可以指定默认值
3、设置某列为自增列
如果某列为自增列,插入数据时无需设置此列,默认自增(一个表中只能有一个自增列)
或者
注意:1、自增列,必须是索引,或者是主键
2、对于自增可以设置步长和起始值
4、主键,是一种特殊的索引,不允许有空值,如果主键使用单个列,则它的值必须是唯一的,如果是多列,则其组合必须唯一
5、外键,一个特殊的索引,为该列设置选项(只能是另一个列表的某个值)
- 删除表
- 查看表字段
- 清空表
- 修改表
- 基本数据类型
MySQL的基本数据类型有数值、时间和字符串
- 数值
- 时间
- 字符串
- 枚举类型
- 二进制类型
- 集合类型
- 其他
- mysql支持的Engine引擎都有那些,以及他们的差别?
- 数据库中的原子操作
- 增
- 删
- 改
- 查
- 其他
总结以及一些注意事项:
1、对于查询操作
2、分页操作,主要当数据量过大的时候,如果一次返回的数据过多,会导致服务器宕机,分页操作主要是限制一次返回的数据量。
- 导出整个数据库
- 导出一个表
- 导出一个数据库结构,在原有基础上加-d选项
- 导入数据库
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sqlbc/40265.html