数据库相关操作

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 数据库相关操作

数据

  1. 1.对现实事物属性特征的描述,都是数据
  2. 2.计算机中数据的体现形式为文本,图片,表格,视频,音频等,都是以二进进制形式进行存储

 

数据库

  1. 1.数据的仓库
  2. 2.以特定的数据组织格式进行管理数据
  3. 3.读取速度快,容量大,方便对数据进行管理

 

DBMS

DBMSDatabase Management System 数据库管理系统,简称DBMS ,是用来管理数据的专用软件。

 

DBS

DBSDatabase System 数据库系统,由几部分组成,如下:

  1. 1.DBDatabase  数据库,真正用来存储数据的部分
  2. 2.DBMS   DatabaseManagement System   数据库管理系统,用来操作数据库的部分
  3. 3.Client    数据库客户端,用来连接数据库,发起请求操作
  4. 4.DBS = DB + DBMS + Client

 

常用数据库管理软件

  1. 1.MySQL 中小_型数据库,_跨平台,开源,免费,应用_范围广
  2. 2.Oracle 大型数据库,跨平台,稳定,安全,收费
  3. 3.MS SQLServer MS 针对 NT系统开发的数据库,只能运行在_ NT 系统上
  4. 4.Sqlite 微型数据库,一般用在移动端开发
  5. 关系型数据库

RDBMS Relational Database Management System 关系数据库管理系统

 

关系表构成

  1. 1.行,表示一条数据,也称为记录
  2. 2.列 ,表示一个属性,也称为字段
  3. 3.域 , 表示一个字段的取值范围
  4. 4.表 , 行和列构成了表

 

SQL

  1. 1.SQLStructured Query Language 结构化查询语言
  2. 2.SQL 的主要功能是和数据库建立连接,提供增删改查的操作。
  3. 3.ANSI(美国国家标准协会)规定,SQL被作为关系型数据库管理系统的标准语言。

 

SQL语言分类

  1. 1.DDL DataDefinition Language 数据定义语言,主要提供数据库,数据表的创建操作。
  2. 2.DML DataManipulation Language 数据操作语言,主要提供数据表中数据的插入,更新,删除操作
  3. 3.DQL DataQuery Language 数据查询语言,主要_提供对数据表中数据的查询操作。
  4. 4.DCL DataControl Language数据控制语言,主要用来设置或更改数据库用户或角色权限的语句。

⁃                  

数据查询过程

  1. 1.客户端发生请求
  2. 2.服务器接收请求
  3. 3.服务器将请求发给DBMS查询数据
  4. 4.DBMS 将查询结果返回给服务器
  5. 5.服务器将结果返回给客户端
  6. 6.客户端接收使用数据

 

Ubuntu安装MySQL服务器命令

sudo apt-get install mysql-server

MySQL服务管理

  1. 查看服务器是否开启     ps aux | grep mysql
  2. 启动服务        sudo service mysql start
  3. 停止服务        sudo service mysql stop
  4. 重启服务        sudo service mysql restart
  5. 查看服务状态sudo service mysql status

 

MySQL 常用客户端

  1. 图形化客户端      Navicat, PHPAdmin, MySQLYog, MySQL Browser
  2. 终端               windows - cmd,mac - 终端, linux - terminal

 

连接数据库

  1. 数据库IP地址
  2. 数据库服务端口号
  3. 数据库用户名
  4. 数据库用户密码

 

数据库中默认自带的数据库

  1. infomation_schema   保存其它数据库的信息
  2. perfromance_schema 保存数据库的优化信息
  3. sys infomation_schema +perfromance_schema
  4. mysql   保存数据库用户信息

 

 

数据库 CRUD 操作


C Create创建

RRead/Retrieve 查询

U Update修改

D Delete删除

 

创建数据库

create database 数据库名;

create database 数据库名 charset 字符集;

 

显示数据库创建信息

show create database 数据库名;

 

修改数据库字符集

alter database 数据库名 charset=字符集;

 

显示所有数据库

show databases;

 

切换、使用数据库

use 数据库名

 

显示当前选择数据库

select database();

 

删除数据库

drop database 数据库名;

 

 

显示所有的数据表

show tables;

 

创建数据表

create table 表名( 字段名 字段类型,[字段名 字段类型]…);

 

显示表创建信息

show create table 表名;

 

添加字段

alter table 表名 add 字段名 字段类型;

 

删除字段

alter table 表名 drop 字段名;

 

修改字段类型

alter table 表名 modify 字段名 字段类型;

 

修改字段名

alter table 表名 change 旧字段名  新字段名 字段类型;

 

删除数据表

drop table 表名

 

数据类型

整型

  1. 1.tinyint        1 字节
  2. 2.smallint     2 字节
  3. 3.mediumint3 字节
  4. i4.nteger       4 字节
  5. 5.bigint         8 字节
  6. 浮点类型
  1. float  (长度,小数位数)        7位有效位
  2. double(长度,小数位数)15位有效位
  3. decimal(长度,小数位数)    28位有效位


字符串类型

  1. char(长度)         0-255字节       定长字符串
  2. varchar(长度)    0-65535字节        变长字符串


枚举类型

  1. enum(枚举值1,枚举值2…)


时间类型

  1. 1.DATEYYYY-MM-DD    日期值
  2. 2.TIMEHH:MM:SS     时间值
  3. 3.DATETIME  YYYY-MM-DD HH:MM:SS    日期时间值
  4. 4.YEARYYYY年份值
  5. 5.TIMESTAMP        时间戳    1970-01-01 00:00:00 到现在的秒数

 

查询所有数据

select * from 表名;

 

插入数据

insert into 表名 [(字段名列表,…)] values(值,…);

 

修改数据

update 表名 set 字段= [条件_]

 

删除数据

1.truncate表名;         ——不经事务,删除不可恢复

2.deletefrom 表名 [条件];       ——可以用在事务操作中,在事务中没有提交时,可撤消。

 

数据完整性

  1. 1.域完整性
  2. 2.实体完整性
  3. 3.参考完整性

 

数据库约束

主键约束

保证数据唯一性,一般设置ID字段,一个表中只能有一个主键字段

create table 表名(字段名 字段类型 primary key);

自动增长约束

 让数值类型字段自动增长,需要配合主键使用

 create table 表名(字段名 字段类型 auto_incrementprimary key);

唯一性约束

保证数据的唯一性,不会出现重复数据

 create table 表名(字段名 字段类型 unique);

非空约束

字段的内容不允许为空

create table 表名(字段名 字段类型 not null);

默认值约束

字段没有给定值时,使用的默认填充值

create table 表名(字段名 字段类型 default 值);

外键约束

为两表建立引用参考关系

create table 表名(字段名 字段类型… , foreign key(外键字段名) references 关联表名(关联字段名);

检查约束

检查约束在MySQL中无效,但其它数据库中有效

create table 表名(字段名 字段类型 check(值范围条件));

 

添加删除约束

主键约束  

1.添加  

altertable 表名 addconstraint 约束名 primarykey(字段名)

2.删除

altertable 表名 dropprimary key

外键约束

1.添加

altertable 表名 addconstraint 外键约束名 foreignkey(外键字段名)references 关联表(关联字段名)

2.删除

altertable 表名 dropforeign key 外键名;

   

数据库导入导出


导出

mysqldump–uroot –p(注意不要输入密码) 要导出的数据库名要导出的数据表 ... > 目标文件.sql

导入

mysql-uroot -p 数据库名 < 要导入的文件.sql

 

 

数据表设计思想


  1. 1.需求分析:根据用户的需求,分析出需要记录的数据
  2. 2.需求设计:根据分析出的数据,设计E-R模型图
  3. 3.详细设计:将E-R模型图转换成数据表
  4. 4. 三大范式:使用数据库三大范式的设计思想对数据表进行审核

 

ER模型图


Entity-Relationship,实体关系图组成元素:

  1. 1.矩形      表示实体
  2. 2.椭圆形  表示属性
  3. 3.菱形      表示关系

 

三大范式


设计数据库时的参考理论,这里只是简单理解思想,并不是准确理论概念


第一范式: 每一列都具有原子性,也就是不能再分割   

第二范式 : 每个表只描述一件事情 

第三范式 : 表中不能存在冗余字段 


 每一范式的实现都必须要在前一范式的实现基础上

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
XML Java 数据库连接
【MyBatis】MyBatis操作数据库(一)
【MyBatis】MyBatis操作数据库(一)
67 1
|
7月前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错合集之cdc postgres数据库,当表行记录修改后报错,该如何修改
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
SQL 监控 关系型数据库
实时计算 Flink版操作报错合集之在设置监控PostgreSQL数据库时,将wal_level设置为logical,出现一些表更新和删除操作报错,怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
关系型数据库 Java 数据库
实时计算 Flink版操作报错合集之flinksql采PG数据库时报错,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
关系型数据库 MySQL 数据库
实时计算 Flink版操作报错合集之在处理PostgreSQL数据库遇到报错。该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
消息中间件 关系型数据库 数据库
实时计算 Flink版操作报错合集之在使用RDS数据库作为源端,遇到只能同步21个任务,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
SQL 数据库 Python
Django框架数据库ORM查询操作(6)
【7月更文挑战第6天】```markdown Django ORM常用数据库操作:1) 查询所有数据2) 根据ID查询 3) 精确查询 4) 分页排序
116 1
|
8月前
|
Java Devops API
阿里云云效操作报错合集之云效页面提示数据库保存不进去,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
8月前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之odps数据库T1有几百行的数据,为什么出来只有5行的数据
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
7月前
|
存储 监控 安全
安全规范问题之跟数据库交互涉及的敏感数据操作需要有哪些措施
安全规范问题之跟数据库交互涉及的敏感数据操作需要有哪些措施

热门文章

最新文章