快速学会数据库基础及应用

一、什么是数据库

        数据库是一个系统化的、存储数据的集合,用于高效地管理、存取、更新和处理信息。它可以被视为一个电子化的数据仓库,允许用户以结构化的方式组织和存储数据。

1.1 数据库的主要特点

        1.结构化存储

        数据库通常以表的形式组织数据,每个表由行(记录)和列(字段)组成。这样的结构使得数据易于理解和访问。

        2.数据管理

        数据库管理系统(DBMS)是用于创建和管理数据库的软件。常见的数据库管理系统包括 MySQL、PostgreSQL、Oracle 和 Microsoft SQL Server 等。

        3.数据完整性

        数据库通常有约束条件(如主键、外键、唯一性等)来确保数据的准确性和一致性。

        4.多用户访问

        数据库支持多个用户同时访问和操作数据,并提供事务处理机制来保证数据的一致性和完整性。

        5.数据安全

        数据库可以通过权限控制来保护数据,确保只有授权用户才能访问或修改特定的数据。

1.2 数据库系统的组成 

1. 数据库管理系统(DBMS)

  • 定义:数据库管理系统是用于创建、管理和操作数据库的软件。它提供了一系列功能,包括数据存储、数据检索、数据更新和数据安全。
  • 功能
    • 数据定义:创建和修改数据库的结构(如表、索引、视图等)。
    • 数据操控:提供数据的插入、查询、更新和删除功能。
    • 数据控制:管理用户权限,确保数据安全。

2. 数据库

  • 定义:数据库是存储和组织数据的集合。它由多个表组成,表内数据按行和列的方式排列。
  • 组成
    • 表:数据的基本单位,包含行和列。
    • 行:记录,表示一条完整的数据项。
    • 列:字段,表示数据的一个属性。

3. 数据模型

  • 定义:数据模型定义了数据的结构和关系。它描述了数据的逻辑结构和操作。
  • 类型
    • 关系模型:使用表格结构来表示数据和关系。
    • 非关系模型:如文档模型、键值模型等,用于存储更灵活的数据结构。

4. 查询处理器

  • 定义:查询处理器负责解析、优化和执行用户提交的查询(SQL语句)。
  • 功能
    • 解析:将SQL语句转换为内部表示。
    • 优化:优化查询执行计划,以提高执行效率。
    • 执行:实际执行查询并返回结果。

5. 存储管理

  • 定义:存储管理负责数据在物理存储介质上的组织和管理。
  • 功能
    • 数据文件管理:处理数据的存储位置和文件结构。
    • 缓存管理:通过内存缓存提高数据访问速度。
    • 数据备份和恢复:提供数据备份和恢复机制,确保数据安全。

6. 事务管理

  • 定义:事务管理确保数据库操作的完整性和一致性。
  • 功能
    • 事务控制:支持原子性、一致性、隔离性和持久性(ACID)特性。
    • 错误处理:处理系统故障和错误,确保数据不受损失。

7. 安全管理

  • 定义:安全管理负责保护数据库中的数据不被未授权访问。
  • 功能
    • 用户身份验证:确保只有授权用户才能访问数据库。
    • 权限控制:定义用户对数据库对象的访问权限。

8. 用户界面

  • 定义:用户界面是用户与数据库系统交互的媒介,通常包括图形用户界面(GUI)和命令行界面(CLI)。
  • 功能
    • 提供用户输入查询、查看结果和管理数据库的工具。

 二、MYSQL

         MySQL 是一种开源的关系数据库管理系统(RDBMS),由 Oracle 公司维护。它广泛应用于 web 开发和数据存储,因为其性能、可靠性和易用性。

2.1 MYSQL的特点

  • 开源:MySQL 是开源软件,用户可以自由使用和修改其源代码。
  • 关系型数据库:使用表格结构(行和列)来存储数据,支持 SQL(结构化查询语言)进行数据操作。
  • 高性能:MySQL 提供高效的查询处理和数据存储,适合处理大量数据和高并发的用户请求。
  • 可扩展性:可以通过分区和集群等技术来扩展数据库,以满足不断增长的存储需求。
  • 多平台支持:可以在多种操作系统上运行,包括 Windows、Linux 和 macOS。
  • 数据安全性:提供多种安全机制,包括用户权限管理、数据加密等。

 2.2 打开MYSQL

方法一:直接打开root用户

 

MYSQL安装完成后会出现上图所示程序,打开并输入之前所设的密码

若最后结果如上图,则说明MYSQL安装成功。 

方法二:命令行打开root用户

使用命令提示符 WIN+R----->输入cmd

然后输入命令:mysql -u root -p(密码)

方法三:连接指定地址数据库服务

命令:mysql -h 127.0.0.1 -u root -p(密码)

 方法四:直接打开MySQL中的数据库

命令:mysql -D数据库名 -h主机名 -u用户名 -p密码

 2.3 MYSQL常见命令

1.查看当前所有的数据库

show databases;

使用select database; 查看当前打开的数据库【没打开显示NULL】

2.打开指定的库

use 库名

3.创建数据库

create database 数据库名;

4.查看当前数据库信息

status 或者   \s

修改数据库的字符集 alter database hqyj character set gbk;

5.删除数据库

drop database 数据库名;

6.查看服务器的版本

select version();

7、退出数据库

exit(0) 或者    quit   或者    \q

 2.4 SQL语言

各国有各国语言,在数据库的王国也有专门的语言。SQL(Structured Query Language)结构化查询语言 ,是访问和处理数据库的标准的计算机语言。

 2.5 SQL常见命令

show databases; 查看所有的数据库

select database(); 查看当前使用的数据库

use 库名; 打开指定 的库

show tables ; 显示库中的所有表

create table 表名( 字段名 字段类型, 字段名 字段类型 ); 创建表

desc 表名; 查看指定表的结构

select * from 表名;显示表中的所有数据

2.6MYSQL语法规范

1.不区分大小写,但建议关键字大写,表名、列名小写

2.每条命令最好用分号结尾

3.每条命令根据需要,可以进行缩进 或换行

4.注释ctrl+/ 单行注释:#注释文字

单行注释:-- 注释文字

多行注释:/* 注释文字 */

2.7MYSQL数据类型

 分为数值类型字符串类型时间日期类型

2.8MYSQL约束条件 

 三、navicat连接数据库

此时左侧就能看到你所连接的数据库

 一些基本操作如下图

 

 

 

四、MYSQL运用

4.1操作数据表

4.1.1查看数据表

语法格式:SHOW TABLES;

 

4.1.2创建数据表

注意:要先进入数据库才可创建数据表

语法格式:

CREATE TABLE table_name(

column1(字段名1) datatype(数据类型)[contrai(约束条件)],

column2(字段名2) datatype(数据类型)[contrai (约束条件)],

.....

columnn(字段名n) datatype(数据类型)[contrai(约束条件)], PRIMARY KEY(one or more columns)

)[character set 字符集];

字符集不设置的话是默认设置

 

4.1.3查看表的创建语句

语法格式:

SHOW CREATE TABLE 表名;

 

4.1.4查看表结构

语法格式:

DESC 表名 ;

 

4.1.5修改表名

语法格式:

RENAME TABLE 原表名 TO 新表名;

【注意:有时出错是因为没有获得修改权限,可以使用下面修改方式:

ALTER TABLE 原表名 RENAME TO 新表名; 】

 

4.1.6增加数据表字段

语法格式:

ALTER TABLE 表名

ADD 列名 类型 [约束条件];

 

4.1.7修改数据表字段

 语法格式:

ALTER TABLE 表名

CHANGE 原字段名 新字段名 类型 [约束];

注意:如果原字段名和新字段名一样的,表示不改字段名,只改字段的类型和约束,此时和modify作用一样

 

ALTER TABLE 表名

MODIFY 列名 类型 [约束];

 

 

4.1.8 删除数据表字段

语法格式:

ALTER TABLE 表名

DROP 字段名;

 

 

4.1.9删除数据表 

语法格式:

drop table 表名;

 

 

 4.2数据表范式

数据库中使用数据表范式的主要目的是为了减少数据冗余、提高数据的一致性和完整性,并简化数据的维护操作。‌通过范式设计,可以将数据分解到不同的表中,使得每份数据只在一个地方存储,从而大大减少了数据冗余‌。

范式设计的作用主要体现在以下几个方面:

  1. ‌减少数据冗余‌:在数据库设计中,数据冗余意味着在数据库中存储了重复的数据,这不仅占用更多的存储空间,还增加了维护的复杂性。范式设计通过将数据分解到不同的表中,确保每个数据只存储一次,从而减少了存储空间的浪费和维护的复杂性‌。
  2. ‌避免插入异常‌:如果数据库设计不合理,可能会遇到无法插入数据的情况。例如,一个存储学生和课程信息的表,如果一个新学生还没有选课,就无法添加这个学生的信息。范式设计通过将相关数据分开存储,可以避免这种插入异常‌。
  3. ‌避免更新异常‌:不合理的设计可能会导致更新数据的困难。例如,如果需要修改一门课程的信息,可能需要在多个地方进行修改。范式设计通过将相关数据分开存储,可以简化更新操作‌。
  4. ‌避免删除异常‌:不合理的设计可能会导致删除数据的困难。例如,如果需要删除一门课程,可能会意外删除相关的学生信息。范式设计通过将相关数据分开存储,可以避免这种删除异常‌。

数据库范式的具体内容如下:

  1. ‌第一范式(1NF)‌:确保数据表中每个字段的值具有原子性,即不可再拆分的最小数据单元‌。
  2. ‌第二范式(2NF)‌:在第一范式的基础上,确保非主属性完全依赖于码‌。
  3. ‌第三范式(3NF)‌:在第二范式的基础上,确保非主属性不依赖于其他非主属性‌。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值