0
点赞
收藏
分享

微信扫一扫

关系型数据库(oracle)、非关系型数据库

小北的爹 2022-03-30 阅读 54
sql

关系型数据库(oracle)、非关系型数据库

关系型的数据的关系是什么意思?

​ 关系是指的关系运算。虽然看起来是一张表,但是表之间是有关系运算的,所以是关系型。

​ 1.理论基础:关系代数 - 关系运算 - 集合运算/关系运算/谓词逻辑()

​ 交集、并集、差集、笛卡尔积

​ 投影。选择、别名、连接、或与非

​ 2.具体表象:用二维表(行列)保存数据

​ ~行:记录 - 元组

​ -列:属性

​ 3.编程语言:SQL(structured query language) - 结构化查询语言

​ ~DDL:数据定义语言 ~ create/drop(删除)/alter(修改)

​ ~DML:数据操作语言:insert/delete/update

​ ☆~DQL:数据查询语言: select

​ ~数据控制语言:grant/revoke

​ 4.MySQL命令行工具

​ ~显示所有数据库:show databases;

​ ~创建数据库:create database school default charset utf8mb4;创建名为school的数据库

​ ~删除数据库:drop database if exists school;删除school数据库如果它存在的话

​ ~修改数据库:alter database ``

​ ~使用数据库:use 数据库名;

​ ~x修改二维表:

​ ~添加列:alter table tb_student add column stu_tel varchar(20) not null;

​ alter table tb_student add column stu_addr varchar(200) defacult ’ ';

​ ~删除列:

​ alter table tb_student drop column stu_addr;

​ ~修改列:

​ alter table tb_student modify column stu_sex char(1) default ‘M’; 改变列的值类型

​ alter table tb_student change column stu_sex stu_gender char(1) not null default ‘M’; 改变列的名字

​ ~添加约束条件:

​ alter table tb_student add constraint uk_student_tel unique (stu_tel); 要求stu_tel为不重复

​ alter table tb_student add constraint ck_student_birth check (stu_birth >= ‘1990-1-1’);

​ ~删除约束条件:alter table tb_student drop constraint uk_student_tel; 去掉stu_tel 要求为不重复的约束条件

5.MySQL数据类型:

​ ~查看数据类型: ? data types;

​ ~整数: int/integer ±2的31次方范围 bigint ±2的63次方范围 smallint 2的7次方 /tinyint ----修饰:unsigned 无符号整数,取消了前面的符号位

​ int:-231 到 231 -1

​ int unsigned: 0-2**32 -1 只表示0和大于0的整数

​ ~小数:float/double 但是不好用 ----> decimal用这个 decimal(6,2) 一共六位,小数点后两位

​ ~日期和时间: data/time/datetime

​ ~字符串: varchar

​ ~json(重要): 保存json数据或对象

​ ~二进制:blob —>binary large object 不推荐使用

6.图形化(GUI)的客户端工具
~MySQL workbench 官方的,免费

​ ~Navicat for MySQL

作业:

创建学院(编号、名称、介绍)

创建老师表(工号、姓名、性别、职称、生日)

创建课程表(名称、学分)

思考与预习:

​ 学生、老师属于学院,如何实现这个关系?

​ 老师和课程、学生和课程的关系,如何实现? 提示:外键

​ 如何向表中插入数据?然后给学院表添加3个学院,学生表添加5个学生

举报

相关推荐

0 条评论