数据库学生表

article/2025/11/10 11:36:06

文章目录

    • 学生表
      • 建立学生表:
        • 建表过程中出现的错误:
      • 插入数据
    • 课程表
      • 建立课程表:
      • 插入数据
    • 选课表
      • 建立选课表
      • 插入数据
        • 建表过程中出现的错误:
  • 修改基本表
      • 增加属性列:
      • 修改数据类型:
      • 增加约束条件:
      • 删除属性列:
  • 删除基本表
  • 索引的创建
  • 删除索引

学生表

建立学生表:

create table t_Student(
Sno char(12) not null primary key ,
Sname varchar(20) not null unique,
Ssex char(2) default “男”,
Sage int(2),
Sdept char(15)
)charset=“utf8”;

image-20210510152707931

建表过程中出现的错误:

  1. mysql> create table t_Student(Sno char(12) not null primary key ,Sname varchar(20) not null unique,Ssex char(2) default ‘m’,Sage int(2),Sdept char(15));
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘??m??,Sage int(2),Sdept char(15))’ at line 1

    语法错误,将default后面的单引号变成双引号即可。

  2. mysql> create table t_Student(Sno char(12) not null primary key ,Sname varchar(20) not null unique,Ssex char(2) default “男”,Sage int(2),Sdept char(15));
    ERROR 1067 (42000): Invalid default value for ‘Ssex’

    在后面加上charset=‘utf8’即可 ,具体原因不知,应该是无法识别中文字符。

  3. mysql> create table t_Student(Sno char(12) not null primary key ,Sname varchar(20) not null unique,Ssex char(2) default “男”,Sage int(2),Sdept char(15))charset=‘utf8’;
    ERROR 1300 (HY000): Invalid utf8 character string:’\xA1\xAEutf8\xA1\xAF’

    解决方法如下,输入set names gbk 即可

  4. mysql> set names gbk;
    Query OK, 0 rows affected (0.00 sec)

  5. mysql> create table t_Student(Sno char(12) not null primary key ,Sname varchar(20) not null unique,Ssex char(2) default “男”,Sage int(2),Sdept char(15))charset=‘utf8’;
    ERROR 1115 (42000): Unknown character set: ‘‘utf8’’

    同样,utf8的单引号变成双引号即可。

插入数据

  • 可一条一条数据输入,但效率较慢。
  1. insert into t_Student(Sno,Sname,Ssex,Sage,Sdept) values(“0804601”,”lily”,”man”,12,”jk”);
  2. insert into t_Student(Sno,Sname,Ssex,Sage,Sdept) values(“0804602”,”mary”,”weman”,17,”jk19”);
  3. insert into t_Student(Sno,Sname,Ssex,Sage,Sdept) values(“0804603”,”bob”,”man”,18,”jk18”);
  4. insert into t_Student(Sno,Sname,Ssex,Sage,Sdept) values(“0804604”,”hani”,”man”,10,”jk”);
  5. insert into t_Student(Sno,Sname,Ssex,Sage,Sdept) values(“0804605”,”job”,”man”,13,”jk”);
  • 一次插入多条数据。

insert into t_Student(Sno,Sname,Ssex,Sage,Sdept)

values(“0804601”,”lily”,”男”,12,”jk”),(“0804602”,”mary”,”女”,17,”jk19”),

(“0804603”,”bob”,”男”,18,”jk18”),(“0804604”,”hani”,”男”,10,”jk”),

(“0804605”,”job”,”男”,13,”jk”);

image-20210510162255521

课程表

建立课程表:

create table t_Course(
Cno char(15) primary key,
Cname char(20),
Pre_Cno char(15),
Credits int(1)
);

image-20210510154349472

插入数据

insert into t_Course(Cno,Cname,Pre_Cno,Credits)
values(“101”,”sjk”,null,3),(“102”,”jw”,”101”,2),
(“103”,”java”,”102”,4),(“104”,”web”,”103”,3),
(“105”,”mks”,”104”,3);

image-20210510155008187

选课表

建立选课表

create table t_SC(
Sno char(12),
Cno char(15),
Grade int(3),
primary key(Sno,Cno),
constraint FK_Sno foreign key (Sno) references t_student (Sno)
);

image-20210510161809856

补充:关于添加和删除FK的语句:

  1. 添加:
    alert table 表名 add constraint FK_ID foreign key(外键字段名) references 外表表名(主键字段名)
  2. 删除:
    alter table 表名 drop foreign key 外键名;

插入数据

insert into t_SC(Sno,Cno,Grade) values(“0804601”,”101”,99),(“0804602”,”102”,98),(“0804603”,”103”,97),(“0804604”,”104”,96),(“0804605”,”105”,95);

image-20210510162700786

建表过程中出现的错误:

mysql> insert into t_SC(Sno,Cno,Grade) values(“08064601”,“101”,99),(“08064602”,“102”,98),(“08064603”,“103”,97),(“08064604”,“104”,96),(“08064605”,“105”,95);
ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (studentmanage.t_sc, CONSTRAINT FK_Sno FOREIGN KEY (Sno) REFERENCES t_student (Sno))

由于Sno属性与t_student表中的Sno不匹配,所以报错。

修改基本表

增加属性列:

  • 向基本表Student中增加“入学时间”属性列,其属性名为RegisterDate,数据类型为DATETIME型。

alter table t_Student add SRegisterDate datetime;
image-20210510163551057

修改数据类型:

  • 将Sage(年龄)的数据类型改为SMALLINT型。
    alter table t_Student alter column Sage smallint(2);

增加约束条件:

  • 增加所在系sdept必须取唯一值的约束条件。
    alter table t_student add constraint unique(Sdept);
    image-20210510172936614
    由于Sdept里存在重复,所以报错。

    alter table t_student add constraint unique(Sage);

    image-20210510173203956
    查看数据发现,Sage没有重复,则实验一把,语句并没有出错。
    现通过Navicat将数据改为如下图所示:

    image-20210510173511722
    运行无错:

    image-20210510173607765
    删除Sage的unique约束:alter table t_student drop index Sage;

删除属性列:

  • 删除属性列RegisterDate.

    alter table t_student drop column SRegisterDate;
    image-20210510174505536

删除基本表

  • 创建一个test表,分别有列tno,tname。

    create table t_test (
    tno int,
    tname char(12)
    );

    image-20210510174731984

  • 删除test表。

    drop table if exists t_test;
    image-20210510175353478

索引的创建

  • 为学生选课数据库中的Student,Course,Sc三个表建立索引。其中Student表按“姓名”升序建唯一索引 C1,Course表按“课程名”降序建唯一索引C2,Sc表按“学号”升序和“课程号”升序建唯一索引C3。

    create unique index C1 on t_student(Sname);

    image-20210510180746722

    create unique index c2 on t_course(Cname) desc;
    由于使用MySQL5.7版本,依旧升序排列。

    create index c3 on t_sc(Sno,Cno);

  • 在基本表Student的Sname(姓名)和Sno(学号)列上建立一个聚簇索引c4,而且Student中的物理记录将按照Sname值和Sno值的升序存放。
    create index c4 on t_student(Sname,Sno);

    image-20210510182459457

删除索引

  • 删除以上所建索引C1、C2、C3。
    drop index c1 on t_student;
    drop index C2 on t_course;

    alter table t_sc drop index C3;

image-20210510182724764

C2未建立,也就不存在删除啦 。。。。。


http://chatgpt.dhexx.cn/article/gouWHgqO.shtml

相关文章

LDA理解

LDA 过程: 希拉里邮件lda建模:

LDA步骤

自己学习备忘用。节选自(1条消息) LDA原理小结_Sual-CSDN博客_lda原理

NLP: LDA主题模型

Essence本质:LDA模型主要包括主题分布θ和词语分布, 主题分布:各个主题在文档中出现的概率分布。词语分布:各个词语在某个主题下出现的概率分布。 pLSA模型中这两个分布是固定的,由期望最大化EM(Expectation Maximiz…

LDA算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、LDA是什么?二、公式推导三、PCA和LDA的区别总结 前言 线性判别分析(LDA)是一种有监督学习算法,同时经常被用…

自然语言处理7——LDA

文章目录 1. PLSA、共轭先验分布;LDA主题模型原理1.1 PLSA1.2 共轭先验分布1.2.1 共轭先验分布的参数确定1.2.2 常见的共轭先验分布 1.3 LDA主题模型原理 2. LDA应用场景3. LDA优缺点4. LDA 在sklearn中的参数学习5. 使用LDA生成主题特征,在之前特征的基…

matlab lda数据降维,LDA有标签数据降维

之前无标签数据降维PCA,那么像下图带有标签数据,如果用PCA降维将会投影到v轴上,这个投影方差最大,数据将变成不可分状态,LDA将把数据投影加上已有分类这个变量,将数据投影到u轴上 假设原数据分成n类,用矩阵Di表示i类数据,均值向量mi,将设将数据投影到向量w上后,均值分…

LDA模型,主题聚类模型

自然语言处理--LDA主题聚类模型 LDA模型算法简介: 算法 的输入是一个文档的集合D{d1, d2, d3, ... , dn},同时还需要聚类的类别数量m;然后会算法会将每一篇文档 di 在 所有Topic上的一个概率值p;这样每篇文档都会得到一个概率的集…

LDA主题模型笔记

Table of Contents 1、写在前面 2、数学知识 3、文本建模 4.LDA主题模型实战 1、写在前面 在机器学习领域,关于LDA有两种含义,一是线性判别分析(Linear Discriminant Analysis),是一种经典的降维学习方法&#xf…

LDA 主题模型

背景 我们生活中总是产生大量的文本,分析这些观察到的语料库是如何生成的就需要对文本进行建模。常见的文本建模方法包括:Unigram、PLSA、LDA 、词向量模型(CBOW、Skip-gram)等。LDA模型是一种主题模型(topic model&a…

lda php,LDA主题分析代码实现

主题文本分析: 首先读取txt文本,并删除stop_list中存放的停止词汇 f open(..\\LDA_test.txt) texts [[word for word in line.strip().lower().split() if word not in stop_list] for line in f] print(Text ) pprint(texts)  #输出格式处理好的文本…

详解 LDA

详解 LDA 详解 LDA基本概念什么是LDALDA 核心思想LDA 简单二分类实例 实现步骤(python)第一步 标准化处理第二步 计算每一类别特征的均值向量第三步 计算类间散布矩阵S(B)和类内散布矩阵S(W)第四步 计算矩阵S(W)^(-1)S(B)的特征值和对应的特征向量第五步…

LDA 指南

『本文转自:https://wdxtub.com/2017/05/03/lda-guide/』 LDA 作为文本分析中非常有用的算法,无论是在学术界还是工业界都已被广泛运用。本文是写给自己的 LDA 理解指南。 更新历史 2017.05.03: 完成初稿 关于 LDA 算法,网上的资料不胜枚举…

LDA

关于降维算法 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的低维向量表…

LDA详解

【几个问题待解决:1.LDA的先计算联合概率体现在哪里 2.对于theta 的采样的理解,下文中的theta1 ,theta2等其实是指theta向量中的第一个,第二个等,也就是不同文章的不同单词的主题,固定其他,分别…

LDA的通俗理解

1.PLSA模型 在讲解LDA模型之前,与LDA模型最为接近的便是下面要阐述的这个pLSA模型,给pLSA加上贝叶斯框架,便是LDA。 1.1什么是pLSA模型 我们假定一篇文档只由一个主题生成,可实际中,一篇文章往往有多个主题&#xff…

LDA模型详解

LDA是自然语言处理中非常常用的一个主题模型,全称是隐含狄利克雷分布(Latent Dirichlet Allocation),简称LDA。作用是将文档集中每篇文档的主题以概率分布的形式给出,然后通过分析分到同一主题下的文档抽取其实际的主题…

机器学习——LDA(线性判别分析)与人脸识别

忆如完整项目/代码详见github:https://github.com/yiru1225(转载标明出处 勿白嫖 star for projects thanks) 目录 系列文章目录 一、LDA的概念与原理 1.LDA简介 2.LDA算法模型 3.LDA的不足与优化 二、LDA运用于人脸识别 1.预处理 1…

线性判别分析(LDA)详解

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 目录 一、LDA简介 二、数学原理(以二分类为例子) 1、设定 2、每一类的均值和方差 3、目标函数 4、目标…

LDA算法——线性判别

目录 一、前言 二、什么是LDA? 三、LDA原理 1.二分类问题 2.多分类问题 3.几点说明 四、算法实现 一、前言 之前我们已经介绍过PCA算法,这是一种无监督的降维方法,可以将高维数据转化为低维数据处理。然而,PCA总是能适用吗&…

主题模型:LDA原理详解与应用

LDA算法简介: LDA是一种基于贝叶斯思想的无监督的聚类算法,广泛用于文本聚类,文本分析,文本关键词等场景。具体的,算法 的输入是一个文档的集合D{d1, d2, d3, ... , dn},同时还需要主题Topic的类别数量m&a…