数据库学习(二)—— Navicat使用&数据库数据类型

2023-05-16

目录

一、navicat连接服务端

总体步骤

1.1 客户端与服务端连接

1.1.1连接

1.2 数据库操作

1.3 数据表操作

 1.4 数据操作-增删改查

二、 数据类型与约束

2.1 概念

 2.2 常用数据类型

2.2.1 整型

 2.2.2 小数

2.2.3字符串

2.2.4 日期时间

 2.2.5 其他类型

2.2.6 小技巧:

2.3约束

2.3.1 主键

 2.3.2非空

2.3.3 惟一

2.3.4 默认值

 2.3.5 外键

三、数据库的备份与约束

3.1 备份

 3.2 恢复


  

一、navicat连接服务端

总体步骤

连接服务器:输入ip,端口,用户名,密码

数据库操作

  •         创建         字符即用utf8
  •         编辑         不能改名字
  •         删除

数据表

  •         创建
  •         设计表

                        添加字段

                        修改字段

                        删除字段

  •         表可以重命名

       

数据操作:

  •         添加
  •         删除
  •         修改
  •         查询

                

1.1 客户端与服务端连接

1.1.1连接

① 选择mysql

②  填写连接信息

        目前服务端与客户端都在同一台电脑不需要写IP,直接localhost,在实际中,服务端是装在服务器上,那个服务器就有IP,此时,填的就是这个IP,连接哪个服务器填谁的IP

第一步:新建连接

 第二步:设置navicat与数据库服务器连接的相关参数

第三步:确保连接成功!

 显示连接成功!证明连接服务端成功了,再点确定

第四步:若发现服务端是按的,可手动开启连接

第五步:已连接上后,可以看见数据库中的仓库

1.2 数据库操作

① 创建数据库

 

创建数据库还可以编辑,起的字符集或规则,但名字不能改

② 创建成功后打开数据库

1.3 数据表操作

① 新建表

任何一个文件都有表头,即字段,一个表中,至少要有一个字段(字段名一般英文),如图:

 

 设置数据表数据, 如图:

②设计表:将表头 打开。

 

 1.4 数据操作-增删改查

 增加

若要 删除:小三角指向的那个删除

 

 

 编辑

注意:

 一个数据库系统可以有很多个仓库,

一个仓库里面有很多表,

一个表有很多记录(一行一行里面的记录),

一行里面有很多字段

  • 用什么数据库指得是——数据库系统MySQL
  • 网站用的哪个数据库——  则指数据库仓库名字

二、 数据类型与约束

2.1 概念

数据类型与约束
        为了更加准确的存储数据,保证数据的正确有效,需要合理的使用数据类型和约来来限制数据的存储。

说明

        存储数据时,需要注意存储的类型,如表格中的血量,只能存数字(整数),使用数字类型限制。

        会有数据类型约束,约束着数据不能随便写,如图中,昵称约束:不能超过几个字,不能重复,手机号:要符合手机号码规则等

 
2.2 常用数据类型

2.2.1 整型

  • 整数: int,有符号范围〔-2147483648~2147483647),无符号范围(0 ~4294967295) ,占4个字节 = 32位

 注意点1:int类型的长度没有效果

  • 设置age的为,整型,长度为一。如下图可以发现int不受长度限制

注意点2:int类型关于有无符号的设置(默认为有符号),以及范围

若数字超过int(有符号)的范围,则无法保存(下图为有符号类型)

 

下图是无符号 int :

 

 2.2.2 小数

  • 小数: decimal,如decimaM5,2)表示共存5位数,小数占2位。整数占3位

说明: 

①设置小数类型的字段长度5,小数点3

 设置成功

 

②若设置超过范围的 虽然可以保存成功,但刷新后?

 

刷新后,以四舍五入保存 

 

 ③ 若不要小数点,就直接5位数(设置字段长度为5)可以保存?

如图,无法保存成功,

 原因:在设计表中,虽然长度是5,但小数点3位,不仅限制了小数位,还限制了整数位不能超过2

2.2.3字符串

  • 字符串: varchar,范围(0~65533),如varchar(⑶)表示最多存3个字符,一个中文或一个字母都占一个字符

字符串当成普通文本即可,但不能进行整型或小数的计算

 字符串长度意义:

 

 超过设置的长度会报错,如图:

 

2.2.4 日期时间

  • 日期时间: datetime,范围(10O0-01-01 00:00:00 ~ 9999-12-3123:59:.59),如'2020-01-01 12:29:59'

 

 

 购物时间,登入时间等。

 2.2.5 其他类型

其他类型注意下范围即可。

2.2.6 小技巧:

若遇到其他类型可以打开mysql client,寻求帮助。

注意: 若知道表中类型:避免输入的数据不知所措瞎输入,可以轻易知道所谓范围界限,并将各种情况进行测试,考虑每个输入情况的界限值

2.3约束

        约束某一列每个字段必须写什么类型的数据,能不能填空/不重复数据,如申请账号时,手机号码必须要填,这就是一个约束,约束这一列必须要填。

2.3.1 主键

主键:字段值必须唯一,且不能为null,唯一标识符,一般字段名为id,int类型,无符号、字段递增

默认情况下,都有一个主键,顺序存储数据 

主楗(orimary key):物理上存储的顺序

如图,在表中可能存在数据相同的,可能数据库中存放的数据存在相同的情况,无法区分,就需要给其来一个标识符。

 就需要给其来一个唯一标识符。称其为编号,编号就是唯一标识某一行记录的,编号一般情况用主键,主键代表唯一,主键这个编号和事物本身无关系,不能代表事物的某一属性,仅仅用来标识这个记录的,无其他含义。

 例子:

㈠、若无设置id为主键时:

 如下图,可以发现id数据可以重复

㈡、 若设置id为主键

如下图, 若表中出现相同的数值则报错

 

主键的特点: 

  •  不能重复,必须唯一

问: 若存在上万条数据,就无法往前看其键名,对于主键本身就是标识,一般不手动设置值,可以让其自动递增,

 刷新表后可自行递增,如图:

  • 必须传入数据,不能为空

 2.3.2非空

非空(not null):此字段不允许填写空值

设置为非空,则该字段必须填值:

  • 原先的数值存在为空情况,导致设置设计表的时候,会报错,需要将该字段的数据改为非空,如图:

  •  因为设置了该字段不可为空,则在保存数据时,该字段数据为空,则会报错,如下图:

 

2.3.3 惟一

  • 惟一(unique]}:此字段的值不允许重复

2.3.4 默认值

在填字段值时可以给其设置一个默认值,不给其设置值就会给其设置默认值。

  • 默认值(default):当不填写此值时会使用默认值。如果填写时以填写为准

若默认值的数据没有加 ' ',则会报错,如下图:

 

 2.3.5 外键

连接多个表

  • 外键(!oreign kay):维护两个表之间的关联关系

三、数据库的备份与约束

3.1 备份

在操作数据库时,可以备份下,防止数据查找不到,特别是修改重要数据时

第一步:

鼠标右楗点击某个数据库,点击转储SQL文件->结构和数据

 结构:数据表设置的字段什么类型及有什么约束

 第二步:将文件另存为自定义的位置

 第三步:确定保存成功

 第四步:可以查看保存的 文件

 备份数据就是:怎么创建表,数据用sql语句存储

 3.2 恢复

先删除存在的自定义库,

 

第一步:自行创建数据库,且字符集要与删除的相同 

要恢复数据库,需要自行创建一个数据库,因为恢复数据库仅仅只是把数据库里面的数据恢复了,但仓库还需要自行创建。

注意:之前删除的数据库用什么字符集,现在创建新数据库也要用相同的字符集,否则无法恢复!!!

 

 第二步:鼠标右楗点击某个数据库,点击运行SQL文件

 

第三步:点击数据表,查看恢复数据 

注意:

写一些备份代码 / 恢复代码来进行备份和恢复数据

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据库学习(二)—— Navicat使用&数据库数据类型 的相关文章

  • 【日志工具】g3log_6_ROS1中g3log的安装&使用

    ROS1中g3log的安装 amp 使用 基于ros1 melodic版本进行封装使用 g3log库安装 git clone https span class token operator span span class token com
  • 对‘cv Mat Mat()’未定义的引用‘cv imread(cv String const&, int)’未定义的引用 ...的解决办法

    对 cv Mat Mat 未定义的引用 cv imread cv String const amp int 未定义的引用 的解决办法 视觉SLAM十四讲的ch5的部分代码 xff0c 运行时出现了大面积的报错 xff0c 说相应的函数没有定
  • 关于&&和||的优先级问题

    span class token macro property span class token directive keyword include span span class token string lt stdio h gt sp
  • Chrome安装Proxy SwitchyOmega插件&Ubuntu20.04安装Proxychains

    目录 1 Chrome浏览器1 1 安装Proxy SwitchyOmega插件1 2 安装Proxy SwitchyOmega插件 2 Ubuntu服务器2 1 安装2 2 配置2 3 测试2 4 异常处理 1 Chrome浏览器 1 1
  • cv::imread(cv::String const&, int)’未定义的引用

    在 Makefile文件的195 行 LIBRARIES 43 61 opencv core opencv highgui opencv imgproc 后面添加 xff1a opencv imgcodecs opencv videoio修
  • Intel Realsense D435i&L515 驱动安装

    Intel Realsense D435i amp L515 驱动安装 0 引言1 D435i amp L515固件更新1 1 D435i固件更新1 2 L515固件更新 2 Intel Realsense驱动安装3 ROS Wrapper
  • ROS速成之发送&接收消息

    人真的老了 xff0c 扔了个周末 xff0c 完全不记得干了什么 论纪录的重要性啊 xff0c 当时觉得明白的很 xff0c 你扔两天试试 xff1f 扔一年试试 xff1f 扔几年试试 xff1f 最近参加的各种项目脑疼眼乏 xff0c
  • 最简单的 DRM 应用 & drm设备不工作

    https zhuanlan zhihu com p 341895843 https zhuanlan zhihu com p 75321245 编写最简单的 DRM 应用 主程序 xff1a int main int argc char
  • Docker数据卷&&自定义Docker镜像

    目录 宿主机与容器之间的文件拷贝 引言 xff1a 利用MySQL镜像安装MySQL服务 从容器中拷贝文件到宿主机 从宿主机拷贝文件到容器 数据卷 数据卷容器 Dockerfile自定义镜像 自定义tomcat8 xff08 熟悉几乎所有的
  • linux中断&poll&selcet按键处理机制

    在上一篇linux按键中断处理中 xff0c 我们采用按键中断处理获取按键 xff0c 在read函数中阻塞读取 xff0c 当按键发生时 xff0c read自动解除阻塞 xff0c 实现应用层读取到相应的按键值 在上一节中如果没有按键到
  • linux中断&poll&selcet按键处理机制

    在上一篇linux按键中断处理中 xff0c 我们采用按键中断处理获取按键 xff0c 在read函数中阻塞读取 xff0c 当按键发生时 xff0c read自动解除阻塞 xff0c 实现应用层读取到相应的按键值 在上一节中如果没有按键到
  • ubuntu(15):对‘casadi::MX::MX(casadi::MX const&)’未定义的引用

    catkin build 编译报错 xff0c 找不到CASADI的头文件目录CASADI INCLUDE DIRS或者库文件也达不到CASADI LIBRARIES xff1b 对 casadi MX horzsplit casadi M
  • Mysql数据库迁移:善用Navicat工具,事半功倍

    数据库迁移 在说到数据库迁移方面 像很多开发工作一样 简单有简单的做法 复杂有复杂的做法 就看怎么做了 那么什么样子的数据库迁移方式才是最优的 在这里是没有准确的定义的 但是我这边分享一个比较简单而言的数据库迁移方案 一 迁移方案描述 例如
  • 【mysql】日常遇到的问题解决

    目录 MySQL 删除数据库报错 1010 Error dropping database can t rmdir ERR 1452 Cannot add or update a child row a foreign key constr
  • 关系数据库

    关系 关系 描述实现事物的一张二维表 外码 关系A中的一组非主属性 其与关系B的主属性对应 则称关系A这组属性为A的外码 关系A为参照关系 关系B为被参照关系 关系完整性 实体完整性 主属性不能取空值 主属性应具有唯一区分性 参照完整性 外
  • 用sql语句对数据库表中的数据进行增删改

    如何使用sql语句对mysql数据库中表的数据进行增删改 这里新创了一个school数据库 在下面创建一张名为student表 创建student表的sql语句代码如下 使用school数据库 use school 判断是否存在studen
  • DataGrip简单特性介绍和navicat作简单对比

    本文主要是面向学生或者初学者的 DataGrip 版本 2020 2 Navicat版本 Navicat for mysql V11 2 以下只是本人简单的使用感受 没有指标上 性能上 的测试 可能有很多点是自己摸索不到从而产生误会 请各位
  • Navicat系列软件在win10中崩溃/闪退解决办法

    Navicat系列软件在win10中崩溃 在执行query gt run selected 的时候crash 安装了navicat 11的版本 经常在下拉菜单执行的过程中碰到闪退的情况 找过很多版本的安装包 都是如此 操作系统 win10
  • MariaDB 不允许远程连接

    如屏幕截图所示 我已将帐户设置为允许远程连接 但如第二个屏幕截图所示 我仍然无法远程连接 我用于在虚拟机 Ubuntu 16 04 中进行测试 对我来说 我修复了更改文件的错误50 server cnf 我的服务器是Ubuntu 所以更改以
  • Navicat utf8 不适用于 mysql 数据库

    我目前正在尝试合并两个不同步的表达式引擎数据库之间的数据更改 为此我选择使用 navicat 该网站在模板中大量使用希腊字符集 当我在 phpmyadmin 中查看希腊语表字段数据时 我按预期看到了希腊语字符 当我将它们加载到 Navica

随机推荐