首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

数据库课程设计——学生宿舍信息管理系统

数据库关系图: 学生的个人信息:学号,姓名,性别,年龄,手机号码,专业,管理员号 student(stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe...3.6.1数据库表的定义 创建学生信息表: Create table student (stu_num varchar(15), Stu_name varchar(10), Stu_gender...拿学生信息表进行举例: Create index stu_index on student(stu_num); 当然可以通过数据库自动生成。...: 对数据的管理主要是由增删改查组成,以学生信息的管理为例, 增加: insert into student(stu_num,stu_name,stu_gender,stu_age,stu_tele,stu_spe...stu_num=’201677H0522′; 查询:值得注意的是查询的条件是数据行的状态值是1,也就是被标示未被删除。

3.6K40

MySQL 基础知识笔记 第03期:子查询和关联查询

作者简介 马听,多年 DBA 实战经验,对 MySQL、 Redis、ClickHouse 等数据库有一定了解,专栏《一线数据库工程师带你深入理解 MySQL》、《Redis 运维实战》作者。...1 数据准备 建表及数据准备,以便后面 SQL 练习: use yzl; /* 使⽤用yzl这个database */ drop table if exists student_info; /* 如果表...3 子查询 3.1 子句结果只匹配一条数据的情况 select * from student_info where stu_id = (select stu_id from student_score...where stu_score = 90); 3.2 子句结果匹配多行数据的情况 select * from student_info where stu_id in (select stu_id...from student_info a inner join student_score b on a.stu_id= b.stu_id; 可以看出,在内连接中,只有满足条件(两表 id 相等)的数据才会出现

43130

qsort 函数的使用及其模拟实现

width, int (__cdecl *compare )(const void *elem1, const void *elem2 ) ); # void* base:要排序数据的起始地址...,把指针类型定义为void*,让qsort函数可以接收任何类型数据的地址; # size_t num:要排序的元素个数; # size_t width:每个元素的大小; # __cdecl:函数调用约定...int (*compare)(const void *elem1, const void *elem2 )); # const void *elem1:用于比较的第一个数据; # const void...*elem2:用于比较的第二个数据; 排序函数的返回值 -返回值 -对应情况 = 0 两个数据相等 > 0 第一个数据大于第二个数据 < 0 第一个数据小于第二个数据 函数使用 我们以上面提到的 struct...函数的模拟实现 我们之前学习了冒泡排序,我们知道,冒泡排序只能排序整形的数据;今天我们就用快速排序的思想来对冒泡排序进行改造,让它能够达到和 qsort 函数同样的效果,可以排序任意类型的数据

68300

C++ 炼气期之结构体

随着计算机向着不同领域的延伸,数据的概念已经不仅局限于数值型数据,计算机需要处理大量的非数值类型数据。如在企业级程序的开发过程中所涉及到的工作流信息,几乎都是非数值型数据。...为了能抽象地描述这些非数值类型的数据,C++引入了复合数据类型的概念。 C++数据类型分基本(原生)数据类型和复合数据类型,结构体就是一种复合数据类型。...可认为复合数据类型是通过组合基本数据类型得到的一种新类型,新类型用来描述问题域中的特定数据。 本文所用到的分量一词指的是复合数据类型中的某一个子类型。 2....如下图,修改 stu数据,不可能影响到 stu1的数据。 2.3 动态声明 动态创建的结构体的特点:数据存储在堆中,结构体变量存储的是结构体在内存中的地址。...当某个结构体需要调用函数时,则需要把自己的地址传递给这个函数,以便让此函数知道处理的数据源头。 如上图示,如果 this中保存的是 stu的地址,,函数会处理 stu数据

71241

Mysql基础7-约束

一、约束的基本概念   1、概念:约束是作用于表中字段上的规则,用于限制储存在表中的数据   2、目的:保证数据库中的数据的正确性,有效性和完整性   3、分类 非空约束(not null):限制该字段的数据不能为...null 唯一约束(unique):保证该字段的所有数据都是唯一,不重复的 主键约束(primary key):主键是一行数据的唯一标识,要求非空且唯一 默认约束(default):保存数据时,如果未指定该字段的值...,则采用默认值 检查约束(check 8.0以后的新约束):保证字段满足某一个条件 外键约束(foreign key):用来让两张变的数据建立连接,保证数据的一致性和完整性 二、约束的案例实践   需求...四、外键约束展示   1、原始数据:student表结构及其数据 mysql> select * from student; +----+----------+------------+-------+...--------+------------+-------+ 6 rows in set (0.00 sec)     说明1:当删除数据的时候,子表中对应的外键数据也会变成了null 五、删除外键约束

25940

【MySQL】DQL语句

8,DQL 下面是黑马程序员展示试题库数据的页面 页面上展示的数据肯定是在数据库中的试题库表中进行存储,而我们需要将数据库中的数据查询出来并展示在页面给用户看。...查询地址信息 select address from stu; 执行上面语句结果如下: 从上面的结果我们可以看到有重复的数据,我们也可以使用 distinct 关键字去重重复数据。...* 表示所有字段数据,一行中也不可能所有的数据都为null,所以建议使用 count(*) select count(*) from stu; 查询数学成绩的最高分 select max(math...* from stu limit 0 , 3; 每页显示3条数据,查询第1页数据 select * from stu limit 0 , 3; 每页显示3条数据,查询第2页数据 select...* from stu limit 3 , 3; 每页显示3条数据,查询第3页数据 select * from stu limit 6 , 3; 从上面的练习推导出起始索引计算公式: 起始索引

14730

Java中的clone() 深拷贝 浅拷贝

上图展示了浅拷贝:对于非基本数据类型,clone过后,结果两个指针指向了同一块儿内存空间,所以仅仅是浅拷贝,这样的话如果对一个对象进行操作,另一个内容也会变,这显然是不合理的,应该每个对象分别保存自己的数据...= (Strdent) this.clone(); //和上一句话效果等价 cloning.courses = new Vector(); //关键点:非基本数据类型的空间需要自己新开辟一块儿...stu1.setId(1); stu1.setName("Tom"); stu1.setCourses(cs); Student stu2=stu1...Student cloning = (Student) super.clone(); cloning.courses = new Vector(); //关键点:非基本数据类型的空间需要自己新开辟一块儿...所以,要么自己给自己的深拷贝函数起一个名字,要么覆写本类的clone()方法,自己选一个就好,但两者的关键都在于——对于非基本数据类型,要重新new一块儿空间。

1.1K20

MySQL外键有什么作用

example1表,里面包含stu_id学号,course_id课程号,grade分数 example2表,里面包含id,stu_id学号,course_id课程号,然后建立外键 分别插入数据到两个表中...我们把example2中的stu_id和course_id称为example2表的外键,example1是父表,example2是字表,两个表形成关联,必须字表的数据删除后,才能删除父表中的对应数据 现在我们来删除...`)) 因为example2中的数据关联了example1的数据,这样是删不了的,达到了外键的作用; 然后我们来先删除example2表中的数据,再删除example1表中的数据 delete from...和course_id都是1, 再来修改example1表中的数据看看 update example1 set stu_id=3,course_id=3 where stu_id=1; 再来查看数据 mysql...和course_id都变成了3 我们在来删除example1表中的数据 delete from example1 where stu_id=3; 会发现可以删除,而且example2中的数据也没有了;

4.6K20

C语言结构体用法很多,坑也很多

本文主要说的是C语言中的结构体,结构体是C语言中重要的一部分内容,也是C语言中常用的一种数据结构。...一、关于结构体 在C语言中,结构体(struct)指的是一种数据结构,是C语言中复合数据类型(aggregate data type)的一类。...结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。...stu1,stu2。...它用来对一个数据类型取一个别名,目的是为了使源代码更易于阅读和理解。它通常用于简化声明复杂的类型组成的结构 ,但它也常常在各种长度的整数数据类型中看到,例如size_t和time_t。

1.3K10
领券