odoo新加一条数据时某个字段为空不创建_MySQL数据库 - 使用GUI操作MySQL

本文介绍了如何在MySQL数据库中处理数据,包括创建数据库、表,理解主键和外键的概念,以及如何添加、删除和修改数据。特别讨论了在Odoo中新增数据时遇到字段为空的情况,并解释了外键如何实现级联更新和删除。此外,还提出了一个关于HR数据库中EMP和Dept表的上机练习。
摘要由CSDN通过智能技术生成

1、关系型数据库的典型概念

数据库 databse:数据的仓库

c263884a87a123cf909252de842672a6.png
表 table:数据是保存在表内,保存在一个表内的数据,应该具有相同的数据格式 行:行用于记录数据 记录:行内的数据 列:列用于规定数据格式 字段:数据的某个列
92526139f0ce6a1a23bc596e92b334c3.png

SQL:用来管理数据的语言。结构化查询语言(SQL,Structured Query Language)

da4619a2e42dd00b50a4d1692c38c2ef.png

主键:唯一地标识表中的某一条记录,不能空,不能重复

2、登录数据库

403069cbe27e0c1457ccfab2f3ab258d.png

*连接本地数据库时需要启动服务

6c4492f92d051492889533585a73057b.png

3、创建数据库

63a1f1fd338f997d3ef029f2fe7751c3.png
4bb9bd31739571804c2cf93de1bc4988.png

4、创建表

060b07eb2f2b0a3a98acea3eecf035d8.png
6290b37e726f409938fa9616b0afbb9e.png

列的类型:

4694e92e8d7033d5350010909d367233.png

数字类型

整数: tinyint、smallint、mediumint、int、bigint浮点数: float、double、real、decimal日期和时间: date、time、datetime、timestamp、year 字符串类型字符串: char、varchar文本: tinytext、text、mediumtext、longtext

二进制(可用来存储图片、音乐等): tinyblob、blob、mediumblob、longblob

列的约束:

4a31cfb24bfd28cda8aaea597cbc7e1d.png

5、管理数据

5.1、添加数据

双击新建好的表名,打开表,就可以添加数据了。

fce87f96c885c5d653dc932689f5a896.png

5.2、删除数据

d1faf939fb545dc2c87457f5a5af12aa.png

5.3、修改表结构

如果想向现有的表中添加一列,则可以修改表结构:

98bf8d5348d6304c9ec6217c79c8f637.png

5.4、外键

3355cad66d45d5ff26cc3f64b79c6308.png

上面这个学生表是有些问题的:

a)、不便于修改,比如教室换成了305教室,则每个学员都要修改

b)、数据冗余,大量的重复数据

将表拆分成两个,分解后问题解决,如下图所示:

ca516dc2392ee992c9b4514f5aef3dd8.png

这里的班级编号就是外键,可以空,但不为空时他的值一定在要引用表中存在。如果学生表中的编号是主键这里就不应该重复,外键则可以重复也允许为空。

添加外键:

班级表:

f61ae59479289c83b1c9dfc011efabee.png

学生表:

f65fcfaaab97f88b2fc5970d01329b83.png

添加外键:

e5c29dc16c52d11c06540313f4b41755.png

删除与更新时可以实现级联更新与删除,当更新设置为CASCADE时主键变化引用主键的表也会一起变化,当删除设置为CASCADE时删除主键表,引用的记录都将被删除。

4.5.5、唯一键

唯一键,也称(唯一约束),和主键的区别是可以为有多个唯一键并且值可以为NULL,但NULL也不能重复,也就是说只能有一行的值为NULL。它会隐式的创建唯一索引。

设置方法:索引 --> 添加索引 --> 栏位名 添加你想设置唯一约束的列 --> 索引类型选择 Unique

26aed1ba35a4d98e80615859d195f1fd.png

6、上机练习

1、请创建一个新的数据库叫HR,在HR数据库中添加EMP表,EMP表的表结构如下所示

EMP表,员工信息

c70849a4d3c3ad624ac31781303c20e0.png

Dept,部门表

8ade4ffbc9f080f78f8d72bb892b6f42.png

2、根据上面的表结构完成表的创建,表名为emp

3、在表中添加5条以上的数据

4、完成下列查询要求

4.1查询所有员工信息4.2查询所有工资介于2000-5000间的员工姓名、职位与工资4.3查询所有姓“张”的员工4.4 按工资降序查询出2014年到2015年间入职的员工4.5、将工资普遍上调20%4.6、将工资低于3000元的员工奖金修改为工资的2.8倍4.7、删除编号为5或者姓“王”的员工
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值