前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库|数据库入门(二)

数据库|数据库入门(二)

作者头像
算法与编程之美
发布2019-12-17 15:13:39
2.4K0
发布2019-12-17 15:13:39
举报

问题描述

数据库是我们前后端不可缺少的东西,数据库中最多的就是数据,当我们初次插入数据时,在一个表中的数据相对较少时我们可以一行一行的插入,但当我们遇到有逻辑关联的数据时,我们插入就会报错,我们该怎么插入呢?

解决方案

在某个数据库的一张course表中,有cno、cname、cpno、ccredit四个属性列,分别为课程号,课程名,先行课号和成绩,先给大家解释一下什么是先行课就例如我们很多课为基础课,我们必须要先学完基础课才能学习在此课程基础之上的课程。

对于这种有依赖的数据该怎么插入呢?我们最常用的插入语句就是insert语句,但这个语句如果在大批量的数据时这个语句就可能就不是很方便,我们就会用批量插入的方法:

insert into s values('s1','精益','天津'),('s2','万胜','北京'),('s3','东方','北京'),('s4','丰泰隆','上海'),('s5','康健','南京')

这是一种批量插入的方法,这种方法会相对便捷一点,但当将这种方法应用到这种具有逻辑性的表中时,就会发现这个语句会报错。

insert into course values('1','数据库','5',4),('2','数学','',2),('3','信息系统','',4),('4','操作系统','6',3),('5','数据结构','7',4),('6','数据处理','',2),('7','PASCAL语言','6',4)

图2.1 结果

对于这种相对较少的数据我们可以依照逻辑性一条一条的插入,但我们也要依据这张表中的逻辑性插入数据,这样对于数据较多时就会较麻烦。

insert into course values('1','数据库','5',4);insert into course(cno,cname,ccredit) values('2','数学',2);insert into course(cno,cname,ccredit) values('3','信息系统',4);insert into course values('4','操作系统','6',3);insert into course values('5','数据结构','7',4);insert into course(cno,cname,ccredit) values('6','数据处理',2);insert into course values('7','PASCAL语言','6',4);

我们还可以利用另一种方法插入这些数据,就是insert语句中的select语句,这样我们就能批量插入啦。

insert into courseselect '6','python',null,'周老师','5'select '3','大学英语',null,'贺老师','4'select '2','信息安全','1','马老师','4'select '1','数据库','4','刘老师','5'select '4','概率论','5','王老师','5'select '5','高等数学',null,'张老师','6'

结语

在不同的SQL sever版本中会存在命令不兼容的情况,所以在不同的版本中可能会出现报错的情况,本次命令在SQL sever 2008中运行。

END

实习编辑 | 王楠岚

责 编 | 桂 军

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档