精华内容
下载资源
问答
  • 知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。 1、数据相关的一些概念 1.1 数据库里的数据是如何保存的? 数据库...

    知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。

     

    1、数据表相关的一些概念

     

    1.1 数据库里的数据是如何保存的?

            数据库到底是怎么存储数据的?比如要把学生信息存储到数据库里,能把学生塞进数据库吗?肯定是把学生的数据信息抽象出来,把一些重要信息以文字或数字的形式保存到数据库中去。

           具体是怎么保存的,有点类似于excel,是用一张二维表的形式来进行数据保存的。这里有两个名词需要注意,行(称之为记录),列(称之为字段)。表中一条记录表示现实中的一个实体(学生)。所以以后的重点就是围绕这个表来进行设计,设计他的列。这个就是存储数据的概念。

     

     

      展开全文
    • 数据库表中多对多关系怎么设计?

      千次阅读 2018-11-26 09:29:55
      (多对多关系) 马克-to-win:Teacher:两列id,name。...TeacherStudent(关系表):三:id,tid,sid create table TeacherStudent(id int not null,tid int not null,sid int not null); 2) teacher and stu...

      (多对多关系) 

      马克-to-win:Teacher表:两列id,name。
      Studnet表: 三列:id,name,age
      TeacherStudent表(关系表):三列:id,tid,sid

      create table TeacherStudent(id int not null,tid int not null,sid int not null);

      2) teacher and student:(一个老师可能有多个学生,一个学生可能有多个老师)

      qixy有两个学生:liyaohua and fuwenlong, huanglaosh老师有一个学生--->fuwenlong

      INSERT INTO TeacherStudent (id,tid,sid) VALUES(1,1,1);

      INSERT INTO TeacherStudent (id,tid,sid) VALUES(2,1,2);

      INSERT INTO TeacherStudent (id,tid,sid) VALUES(3,2,2);


      qixy的学生显示出来。

      select * from Teacher t,Student s,TeacherStudent ts where t.name='qixy' and t.id=ts.tid and s.id=ts.sid;

      +----+------+----+-----------+------+----+-----+-----+
      | id | name | id | name      | age  | id | tid | sid |
      +----+------+----+-----------+------+----+-----+-----+
      |  1 | qixy |  1 | liyaohua  |   25 |  1 |   1 |   1 |
      |  1 | qixy |  2 | fuwenlong |   26 |  2 |   1 |   2 |
      +----+------+----+-----------+------+----+-----+-----+

       

      huanglaosh的学生显示出来。

      select * from Teacher t,Student s,TeacherStudent ts where t.name='huanglaosh' and t.id=ts.tid and s.id=ts.sid;

      +----+------------+----+-----------+------+----+-----+-----+
      | id | name       | id | name      | age  | id | tid | sid |
      +----+------------+----+-----------+------+----+-----+-----+
      |  2 | huanglaosh |  2 | fuwenlong |   26 |  3 |   2 |   2 |
      +----+------------+----+-----------+------+----+-----+-----+

      fuwenlong的老师显示出来。

      select * from Teacher t,Student s,TeacherStudent ts where s.name='fuwenlong' and t.id=ts.tid and s.id=ts.sid;

      +----+------------+----+-----------+------+----+-----+-----+

      | id | name       | id | name      | age  | id | tid | sid |
      +----+------------+----+-----------+------+----+-----+-----+
      |  1 | qixy       |  2 | fuwenlong |   26 |  2 |   1 |   2 |
      |  2 | huanglaosh |  2 | fuwenlong |   26 |  3 |   2 |   2 |
      +----+------------+----+-----------+------+----+-----+-----+

      参考一下以下游动的同等写法:(未来springJdbc或mybatisxxxxx的某种技术中也许用的着,因为它严格限制单表游动)

      select name from Student where id in (select sid from TeacherStudent  where tid in (select id from Teacher where name='qixy')) ;

      结果:

      +-----------+
      | name      |
      +-----------+
      | liyaohua  |
      | fuwenlong |
      +-----------+

       

      更多请看下节:https://blog.csdn.net/qq_44591615/article/details/109205764

      展开全文
    • sql关系数据库表的创建

      千次阅读 2015-10-13 23:41:14
      学会sql数据库关系图 2012-08-14 0 个评论 收藏 我要投稿学会sql数据库关系图很久以前就知道微软的Petshop的很经典,昨天抽出时间去学习,开始还真的不适应,什么成员资格,还真的看不太懂,运行petshop想从登陆...

      学会sql数据库关系图
      2012-08-14 0 个评论 收藏 我要投稿

      学会sql数据库关系图

      很久以前就知道微软的Petshop的很经典,昨天抽出时间去学习,一开始还真的不适应,什么成员资格,还真的看不太懂,运行petshop想从登陆学起,但是用户名和密码都不知道,后来发现有更注册的页面,自己注册了一个页面,才发现还得从数据库出发。花了这么多时间最终还是回到了数据库,但是数据库中一张一张的表格找不到脚本,也不是自己设计的数据库,完全没有一点头绪,后来突然想起来sql有个数据库关系图,可以很快的适合数据库程序员很快的掌握数据库表之间的关系。于是开始了我的百度之旅,关于数据库的关系图的文章还真的很少,于是我开始根据petshop,然后建立数据库关系图,开始掌握数据库关系图。我点击MSPetShop4Services这个数据库,存放着用户的信息。但是原版的是没有数据库关系图。 www.2cto.com

        首先我们自己动手来新建一张数据库关系图吧,找到相应的数据库(图1),在第一行中有个数据库关系图,我们右击选择新建数据库关系图(N),如图2:

      这里写图片描述      (图1)
       这里写图片描述      (图2)
        这个时候会跳出一个添加表对话框,这里我们可以选择我们想要的表,如果想要全部选中,则这样操作,先鼠标点重第一个然后按住shift+鼠标点重最后一个,来完成操作。最后表格位子整理一下,然后ctrl+s保存一下,数据关系图的名字,那么数据库关系图基本建立好了。接下来就是分析了。
      这里写图片描述
         
      (添加表对话框图)  
        这里写图片描述                      (选中表对话框图)
      www.2cto.com

      这里写图片描述
        整个MSPetShop4Services数据库的关系图。整个这幅图,是不是看着一张一张的表格了解表之间的关系舒服多了,当然我们还是要看懂整个表的意思,首先最上面的是表名,下面的都是字段,有些字段左边有个钥匙,那是主键的意思。在表之间有个线连着就说明这两个表之间存在主键和外键的关系,其中一半都有钥匙的指的是主键,一个无穷大的符号表示的外键。但是不知道细心的朋友有没有发现一个问题,比如说aspnet_Paths和aspnet_PersonalizationAllUsers表之间的线的两端都是钥匙的,我也找了很久资料没有找到,于是自己写代码测试了,到底是什么意思。
      通过自己的代码了解图中线的含义:
      我自己定义是一个学生选课的关系图:
      sql脚本代码如下:

      CREATE TABLE Student
      (
      [Sid] INT NOT NULL PRIMARY KEY, –学生编号
      SNAme VARCHAR(10)   NOT NULL –学生姓名
      )

      CREATE TABLE Course(
      [Cid] INT NOT NULL PRIMARY KEY, –课程编号
      CName VARCHAR(10) NOT NULL –课程名
      )

      CREATE TABLE SC(
      [Sid] INT NOT NULL,
      [Cid] INT NOT NULL,
      Grade INT NOT NULL, –成绩
      FOREIGN KEY([SID]) REFERENCES Student2([Sid]),
      FOREIGN KEY([CID]) REFERENCES Course2([Cid])
      ) www.2cto.com

        出来的关系图如下:
      这里写图片描述

        这个数据图是我们知道的主键外键的关系,也是符合我们思维的。
        接着我在代码里面改了一行代码,图就变调了,代码如下:

      CREATE TABLE Student2
      (
      [Sid] INT NOT NULL PRIMARY KEY, –学生编号
      SNAme VARCHAR(10) NOT NULL –学生姓名
      )

      CREATE TABLE Course2(
      [Cid] INT NOT NULL PRIMARY KEY, –课程编号
      CName VARCHAR(10)      NOT NULL      –课程名
      )

      CREATE TABLE SC2(
      [Sid] INT NOT NULL PRIMARY KEY,
      [Cid] INT NOT NULL,
      Grade INT NOT NULL, –成绩
      FOREIGN KEY([SID]) REFERENCES Student2([Sid]),
      FOREIGN KEY([CID]) REFERENCES Course2([Cid])
      ) www.2cto.com
        对应的关系图如下:
      这里写图片描述

        我相信你们看到了吧,两个钥匙的线段。好了那我们应该了解了吧,我们可以得出这样的结论,如果一个表中是主键,而另一个表中却是普通的字段,那显示的效果是一个钥匙一个无穷大,钥匙指向主键,无穷大指向外键,但是当外键在另一张表中也作为主键,那此时无穷大也变为了钥匙。此时我们不能看线了。那要怎么分析主键和外键呢?别急往下看。这里介绍两个方法,第一个比较简答,我们把鼠标放到这个线上面,他会跳出一行提示,在前面的表名是主键,后面的是外键,最后的是关系的名字(这个是我自己看表得出的结论),还有一个方法,但是我们事先也要用这个方法,知道这个关系的名字,然后点击两个表中随便的哪一张表,右击选择关系,找到相应的关系名,然后选择右边的表和列规范,里面就写明了主外键的关系了。好了就写到这里了。
        总结:
        遇到难的我们先不要怕,从最基本的做起,也可以自己建立测试数据来验证遇到的新的知识。

      展开全文
    • 在创建表格后,在后期对数据库表的管理工作的维护、修改是重要工作,如增加一个新列,删除一列,修改某属性的数据类型等,本篇文章总结管理的基本操作。包括复制和删除,新增、修改、删除列。

      关系型数据库的数据通常都是以表的形式存储和展现,因此可以简单而粗暴地讲,一个关系就是一个表。在创建表格后,在后期对数据库表的管理工作中,表的维护、修改是重要工作,如增加一个新列,删除一列,修改某属性的数据类型等,本篇文章总结MySQL数据库表管理的基本操作。包括复制和删除表,新增、修改、删除列等。

      0 数据库表管理相关命令

      进行的操作命令
      只复制列构造CREATE TABLE 新表名 LIKE 旧表名;
      复制数据INSERT INTO 新表名 SELECT * FROM 旧表名;
      复制列构造+数据CREATE TABLE 新表名 SELECT * FROM 旧表名;
      删除表DROP TABLE 表名;
      修改列数据类型ALTER TBALE 表名 MODIFY 列名 新数据类型;
      新增列ALTER TABLE 表名 ADD 列名 数据类型[FITRST/AFTER COL];
      修改列位置ALTER TABLE 表名 MODIFY 列名 数据类型 AFTER col名;
      修改列名和数据类型>ALTER TABLE 表名 CHANGE 列名 新列名 类型;
      删除列ALTER TABLE 表名 DROP 列名;

      1 复制表 和删除表

      创建表格的命令大家都很熟悉,CREATE TABLE 表名 (列名1 数据类型 选项,...),但是在数据库管理过程中,如果要复制一张一模一样的表,重新创建表格、插入数据显然是麻烦且耗时耗力的一件事情。
      (1)只复制列构造(不复制记录数据)

      如我想要只复制表格customer的列构造并命名新表格为visitor,可以使用命令:

      >CREATE TABLE visitor LIKE customer;

      复制表列构造

      查看 表格visitor 可以看到它的构造和customer一模一样,而执行查询时,可以看到该表是一张空表。

      (2)复制数据到表

      通过上述操作命令,复制了一张列构造一样的表格,但是现在想要将数据复制到该表,可以通过执行命令:

      >INSERT INTO visitor SELECT * FROM customer;

      复制数据

      执行结束后查询表记录,可以看到customer的数据完全复制到visitor;

      (3)同时执行列构造和数据的复制
      想要复制包括列构造和数据完全一样的表,也可以一部到位:

      >CREATE TABLE customerH SELECT * FROM customer;

      复制表

      (4)删除表DROP TABLE
      删除表使用DROP 命令,删除是不可逆的,不能恢复:

      >DROP TABLE customerH;

      删除表

      通过SHOW TABLES查看数据库表名,可以看到通过DROP TABLE命令删除了表customerH;

      2 修改表列

      (1)修改表列数据类型MODIFY

      使用MODIFY修改数据类型:

      
      >ALTER TBALE 表名 MODIFY 列名 新数据类型;

      如将visitor 中nam由varchar(20)改为varchar(30)
      修改表列数据类型

      列的数据类型可以修改,但是一定要慎重,因为修改数据类型可能会导致数据出现错误,如原本是VARCHAR(100)修改为VARCHAR(50),原本50个字符以外的数据将丢失。

      (2)增加新列ADD

      • 增加一列年龄 ,数据类型int到表visitor,默认的位置是增加到表的最后:
      >ALTER TABLE visitor ADD old INT; 

      增加新列

      • 如果想要在表头增加列,可以通过ALTER TALE 表名 ADD 列名 数据类型 FIRST;
      >ALTER TABLE visitor ADD old INT FIRST;

      增加列到表头

      • 也可以在任意位置追加列,使用after来确认位置:
      >ALTER TBALE visitor ADD old INT AFTER nam;

      增加列到任意位置

      (3)修改列的位置

      上述命令可以在新增列时确定列的位置,如果列已经存在了,使用MODIFY 来修改列的位置:

      >ALTER TABLE visitor MODIFY old INT AFTER nam;

      修改列位置

      (4)修改列名和数据类型

      可以通过CHANGE 来修改表的列名和类型,

      >ALTER TABLE 表名 CHANGE 列名 新列名 类型;

      如将表visitor.birh修改为birthday ,数据类型为DATE;
      修改列名和类型

      (3)删除列
      删除列同样通过drop;

      
      >ALTER TABLE 表名 DROP 列名;

      删除列

      总结:凡是修改表中列的命令,都是ALTER TBALE EXPR col的形式,以ALTER TABLE 开头,以函数如 MODIFY ,CHANGE ,ADD结尾。

      展开全文
    • SQL关系数据库

      千次阅读 多人点赞 2012-07-19 07:38:38
       出现在master数据库和侮个用户自定义的数据库中,它对基表或者视图的和存储过程的侮个参数含有行记录。 3 系统Sysindexes  出现在master数据库和何个用户自定义的数据库中,它对
    • 例如,publishers 和 titles 之间具有对多关系个出版社出版很多书,但是本书名只能出自个出版社。 只有当个相关个主键或具有唯一约束时,才能创建对多关系。 多对多关系 在...
    • 在实现了利用python在数据库中进行增删改查等基本操作之后,更重要的是对数据库中的元组进行查询,本文的代码只是关键部分截取,完整增删改查操作请见链接:... 对于INFO 在Spyder查询表中所有信息 ...
    • 关系数据库与非关系数据库的区别

      万次阅读 2018-11-01 20:50:59
      当前主流的关系数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。 非关系数据库有 NoSql、Cloudant。 nosql和关系数据库比较? 优点: 1)成本:nosql数据库简单易部署,基本都是开源...
    • 一关系:定义:有两个,在第表中的某行只与第二个表中行相关,同时第二个表中的某行,也只与第表中行相关,我们称这两个一关系。例如:第张表:ID姓名国籍贡献1001王大锤...
    • 数据库中表关系(简明解释)

      千次阅读 2018-10-06 22:33:37
      例如,publishers 和 titles 之间具有对多关系个出版社出版很多书,但是本书名只能出自个出版社。 只有当个相关个主键或具有唯一约束时,才能创建对多关系。   多对多关系   在多对...
    • 关系型数据库与非关系数据库区别

      千次阅读 2019-02-22 10:57:57
      关系数据库最典型的数据结构是,由二维及其之间的联系所组成的个数据组织 优点: 1、易于维护:都是使用结构,格式一致; 2、使用方便:SQL语言通用,可用于复杂查询; 3、复杂操作:支持SQL,可用于个...
    • 数据库原理—关系数据库

      千次阅读 2020-09-05 19:58:37
      一、思维导图: 二、基本知识点: ...(3)笛卡尔积:可表示一张二维表中每一行一个元组,表中每一列一个域 2、关系的定义 (1)关系: D1******Dn中有关系的行形成的一个子集称为D1******Dn的一个关
    • 数据库中模式和基本关系

      千次阅读 多人点赞 2016-12-01 18:12:33
      模式与数据库数据库中关系: 1个数据库下,可以有多个模式。 1个模式下,可以有0个或多个 。 首先我来做个比喻,什么是User,什么是Database,什么是Schema,什么是Table,什么是,什么是行...
    • 数据库 - 关系数据库标准语言SQL

      千次阅读 2015-05-05 09:57:12
      SQL是个通用的、功能极强的关系数据库语言SQL特点1.综合统一 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体。 可以独立完成数据库生命周期的全部活动: 定义关系模式,插入...
    • 数据库通常分为层次式数据库、网络式数据库关系数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。  1.数据结构模型  (1)数据结构  所谓数据结构是指数据的组织形式或数据之间的联系。...
    • 数据库的基本关系(基本

      千次阅读 2019-02-24 22:19:06
      数据库中有三种关系,分别是:基本关系...列是同质的,即每一列中的分量都是同一类型的数据,来自同一个域 不同的列可以来自同一个域,一列又称之为属性,不同的属性要有不同的属性名 列的顺序无关紧要 行的顺序也...
    • 浅析关系数据库和NoSql非关系数据库

      千次阅读 2015-08-19 18:54:00
       支持关系模型的数据库系成之为关系数据库,是目前各类数据库使用最为广泛的数据库系统。关系数据库在经过二十几年的发展,已经变的功能强大,使用广泛,产品成熟的数据库系统,现在使用主流的数据库都为关系型...
    • 关系数据库与非关系数据库详细比较

      千次阅读 多人点赞 2018-11-12 11:06:02
      关系数据库与非关系数据库详细比较 ...3.非关系数据库中,我们查询条数据,结果出来个数组,关系数据库中,查询条数据结果是个对象。 区别 关系数据库 ...
    • 1.在visio新建数据库模型图  打开visio 2010,文件—>新建—>数据库...2.依次画数据库建立的、视图等 进入了画图状态,看到界面的左边,选中“实体”这个画图模型,按住鼠标左键不放,直接拖动到
    • 数据库之关系数据库的关系运算

      千次阅读 多人点赞 2020-03-25 11:59:13
      我们学习关系运算的机理,对我们理解数据库查询操作非常重要 所以我们进行关系操作时很大程度上需要明白关系操作以及关系之间的逻辑 在我们进行数据库查询操作时,如何规范的使用数据库语言,如何进行选择时能够消除...
    • redis非关系数据库详解

      万次阅读 2021-02-26 17:03:34
      不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,结构等等,redis严格上不是数据库,应该是种数据结构化存储方法的集合。 redis提供了堆操作方法【堆命令操作数据】,我们使用这些...
    • 关系数据库的集合构成,有唯一的名字。表中行代表了组值之间的种联系,因此就是这种联系的集合。在数学术语,元组(tuple)是组值得序列(或列表)。n个值之间得种联系可以在数学上用关于...
    • 数据库关系代数详解

      千次阅读 多人点赞 2021-02-26 16:35:55
      数据库关系代数 1. 关系代数的运算 1.1 传统的关系运算 传统的关系运算起源于数学的集合论,有下面几种: 笛卡尔积运算 差运算 交运算 并运算 1.2 专门的关系运算 选择 投影 连接 除运算 1.2.1 关系运算的基础...
    • 关系数据库和非关系数据库的区别

      千次阅读 多人点赞 2019-08-14 18:19:00
      目录 关系数据库 关系数据库关系模型的常用概念 优点 ...非关系数据库 ...非关系数据库: ...关系模型指的就是二维表格模型,而关系数据库就是由二维及其之间的联系所组成的个数据组织。...
    • 关系数据库与非关系数据库Nosql区别汇总

      千次阅读 多人点赞 2018-08-24 11:14:06
      目录 关系数据库与非关系数据库详细比较 关系数据库与非关系数据库优缺点对比 关于Nosql ...2.非关系数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过个对象自身的...
    • 1.什么是数据库: 存储电子文件的处所,用户可以对文件的数据增删改查等操作。 2.数据库的种类: 数据库根据其数据的存储方式可以分为关系型...这系列的行和被称为组成了数据库。 2)关系:可以理
    • 关系数据库——基础

      千次阅读 多人点赞 2019-10-21 16:51:34
      数据:数据库中存储的基本对象,描述个事物的符号记录,数据和其语义不可分开说 数据库(DB):是长期储存在计算机内、有组织的、可共享的大量数据的集合。 数据库管理系统:个管理数据的软件 主要功能: ...
    • 关系数据库关系数据模型关系是个数学概念。 当把关系的概念引入到数据库系统作为数据模型的数据结构时,既有所限定和也有所扩充。 关系的数学定义例: 课程={离散,C语言…..},学生={张三,李四…..} 笛卡儿积...
    • 数据库主从表关系,主外键关系

      千次阅读 2017-07-24 11:47:38
      数据库主从关系;主、外键关系和作用(转) 从数据库是主数据库的备份,当主数据库变化时从数据库要更新,这些数据库软件可以设计更新周期。这是提高信息安全的手段。主从数据库服务器不在个地理位置上,当...
    •  说到非关系数据库,就要简单的介绍一下关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,我们平常使用的数据库,像MySQL,Oracle,S...

    空空如也

    空空如也

    1 2 3 4 5 ... 20
    收藏数 412,575
    精华内容 165,030
    关键字:

    关系数据库表中的每一列