连笔字网 > 知识库

学生信息表,建立学生信息表

来源:连笔字网 2023-12-21 17:46:22 作者:连笔君

建立学生信息表

create table student(ID int primary key not null,NAME varchar(50),CLASSNO int,age int,sex int) 建议sex使用0,1代替,0为男生,1为女生,反之也可以。

数据库中创建一个学生表

如果想在数据库中创建一个学生表的话,需要插入一个表格进行操作

怎么用sql数据库建一个学生信息表?

也不算复杂吧,如果是SQL SERVER,我告诉你步骤吧。
1.安装SQL SERVER,目前版本是2008,注意版本对应的操作系统。
2.安装完成后,在开始菜单打开SQL Server Management Studio,服务器名称默认,如果是空的,就输入一个. ,身份验证选择windows身份验证。
3.登录后左侧菜单的菜单里找“数据库”,点开此节点后,在“数据库”菜单上点右键,选择“新建数据库”,点击后在弹出的窗口信息里填写信息,填完后点确定,数据库就创建成功了,不过里面还没有表。
4.新建表,点开你刚才建立的数据库后,找到“表”菜单,双击,然后在“表”菜单上点右键,选择“新建表”,输入你要填写的字段名,选择好类型,长度后,点击确定,就建好表了,这时再右键选中“表”菜单,选择“刷新”,刚才建立的表就可以显示出来了。

你应该总结出学生成绩查询需要几张表,我大概告诉你一下吧,最基本的3张,
1.学生基本信息表
2.学生考试科目表
3学生成绩表,这三张之间的关系你要是搞明白了,那学生成绩查询就不会有问题了。

c语言!!!程序设计:建立一个学生信息链表,包括学号,姓名,成绩.(实现添加,删除,查询,排序,平均)

1、更多交流可参考我空间主页有关文章。
2、#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
/*定义结构体*/
struct student
{
int num;
float score;
struct student *next;
};

/*创建一个只有头结点的空链表*/
struct student *create_head()
{
struct student *head;
head=(struct student*)malloc(sizeof (struct student) );
if(head==NULL) //小心别漏这个
{
printf("申请头结点失败!\n");
return NULL;
}
head->next=NULL;
return head;
}
/*将s指向的结点插入链表,使链表保持升序,并返回头结点*/
struct student *insert(struct student *head,struct student *s)
{
struct student *p=head;
while(p->next!=NULL&&s->score>p->next->score)//特别注意&&左右不能写反,若s最大,最后p->next=NULL,p->next->score运行出错
p=p->next;
if(p->next==NULL) //s->score最大的情况 //其实两种情况可以并在一块写
{
p->next=s; //连接结点
s->next=NULL; //p->next就等于NULL
}
else
{
p->next=s; //连接结点
s->next=p->next;
}
return head ;
}
/*查找符合条件的结点,并返回指向该结点的指针*/
struct student *search(struct student *head)
{
struct student *p=head->next;
int num;
printf("请输入要查找学生的学号:\n");
scanf("%d",&num);
while(p!=NULL&&p->num!=num) //特别注意两条件不能写反,若写反最后p指向NULL时p->num找不到 运行出错
p=p->next;
if(p==NULL) //特别注意两个if不能调换,若调换最后p指向NULL时p->num运行出错
{
printf("找不到符合条件的结点!!!");
return NULL;//查找不到返回空指针
}
if(p->num==num)
{
printf("找到符合条件的结点\n该结点为%d\t%f",p->num,p->score);
return p;//返回查找到的指针
}
}
/*输出链表各结点的值,也称对链表的遍历*/
void print(struct student *head)
{
struct student *p;
printf(" 链表如下: \n");
p=head->next;
while(p!=NULL)
{
printf("%d\t%.1f\n",p->num,p->score);
p=p->next;
}
}

/*释放链表*/
void free_list(struct student *head)
{
struct student *p=head ;
printf("释放链表:\n");
while(p!=NULL)
{
head=head->next;
free(p);
p=head;
}
printf("释放链表成功!\n");
}
/*删除链表中值为num的结点,并返回链表的首指针*/
struct student *delete_note(struct student *head,int num_x)
{
struct student *p1=head->next , *p2=head ;
while(p1!=NULL&&p1->num!=num_x) //特别注意&&左右条件不能调换,若调换如果p1指向NULL时p1->num运行出错
{
p2=p1;
p1=p1->next;
}
if(p1==NULL) //特别注意两个if不能调换,若调换如果p1指向NULL时,p1->num运行出错
printf("找不到符合删除要求的结点!!!\n");
if(p1->num==num_x)
{
p2->next=p1->next;
free(p1);
printf("结点删除成功!\n");
}
return head;
}

/*完整的有头结点链表操作程序*/
void main()
{
struct student *p , *head ;
char c;
int num ;
float score ;
printf("有头结点链表操作程序:\n");
head=create_head();
while(1)
{
printf("I:插入结点(自动升序) P:输出链表 S:查找结点 D:删除结点 E:释放链表并退出程序! ");
c=getch();
switch(c)
{
case'I':
printf("请分别输入要插入学生的学号和分数:\n");
scanf("%d%f",&num,&score);
p=(struct student*)malloc( sizeof(struct student) );
if(p==NULL)
{
printf("申请该结点失败!!!\n");
exit (0) ;
}
p->num=num; p->score=score; //给p赋值
insert(head,p);
printf("插入成功!\n");
break;
case'P':
print(head);
break;
case'S':
search(head);
break;
case'D':
printf("请输入要删除的学生的学号:\n");
scanf("%d",&num);
delete_note(head,num);
break;
case'E':
free_list(head);
exit (0);
}
}

}

怎么样oracle数据库中建立一个学生信息表,包括姓名,学号,还有性别,性别必须为男或女,谢谢各位大神!

首先启动oracle的两个服务,一个是监听服务,另一个是数据库实例服务;然后用system登录
有两种方式1.sqlplus命令方式下创建,1.sqldeveloper的sql工作表单中创建,创建语句相同:
CREATE TABLE stu_info(
stID varchar(20) primary key,
stName varchar(20) not null,
sex varchar(2),
CONSTRAINT s_sex_ck CHECK(sex in( 男,女))
);

扩展

怎么用bit型来规定男或女呢?

补充

0或者1表示呗,这些都不是很重要,你得捻重点的学习和联系

建立学生信息数据库STUDENT,(学号姓名)、(课程号课程名)、(学号课程成绩)三个表。表里包含一定数量记录

一 创建相关表和数据
create table student(id number(10) primary key, name varchar2(20));--id不能重复
create table course(id number(10) primary key, name varchar2(20));--id不能重复
create table stu_cou(s_id number(10), c_id number(10), grade number(4), foreign key(s_id) references student(id), foreign key(c_id) references course(id));--创建表时设置了外键
create unique index uk_stu_cou on stu_cou(s_id,c_id);--设置了唯一索引

insert into student values (1,'zz');
insert into student values (2,'rr');
insert into student values (3,'ff');
insert into student values (4,'yhy');
insert into student values (5,'aqw');
insert into student values (6,'sgh');
commit;

insert into course values (1,'china');
insert into course values (2,'math');
insert into course values (3,'english');
insert into course values (4,'music');
commit;

insert into stu_cou values (1,1,98);
insert into stu_cou values (1,2,78);
insert into stu_cou values (1,3,77);
insert into stu_cou values (1,4,100);
insert into stu_cou values (2,1,26);
insert into stu_cou values (2,2,78);
insert into stu_cou values (2,3,99);
insert into stu_cou values (2,4,100);
insert into stu_cou values (5,1,26);
insert into stu_cou values (5,2,78);
insert into stu_cou values (6,2,33);
commit;
二 各项查询的语句如下
--s_id 学号;c_id 课程号
1 查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。
select * from stu_cou where c_id = 3 order by grade desc;

2 查询选修了课程的学生人数
select count(distinct s_id) from stu_cou;

3 求各个课程号及相应的选课人数
select cou.id 课程号, (select count(*) from stu_cou where c_id = cou.id) 选课人数 from course cou;

4 查询至少选修了2门课程的学生学号
select * from (
select stu.id 学号, (select count(*) from stu_cou where s_id = stu.id) sum_data from student stu) where sum_data >= 2;

5 查询每个学生的学号、姓名、选修的课程名及成绩查询
select sc.s_id 学号, (select name from student where id = sc.s_id) 姓名, sc.c_id 课程号, (select name from course where id = sc.c_id) 课程名, sc.grade 成绩 from stu_cou sc;

6 查询选修了课程名为“信息系统”的学生学号和姓名
select sc.s_id 学号, (select name from student where id = sc.s_id) 姓名 from stu_cou sc where sc.c_id = (select id from course where name = 'china');

1.创建一个学生信息表和成绩表。学生信息表有如下字段:学号,姓名,

sql="select 学生信息,学号,姓名,性别,出生年月,班级,科目,成绩,奖励名称,获奖日期,获奖级别 FROM 成绩 INNER JOIN (奖励 INNER JOIN 学生信息 ON 奖励.xh = 学生信息.xh) ON 成绩.xh = 奖励.xh where 学号=" & xh

java习题:在MySQL数据库建立一个学生信息表(学号,姓名,班级,成绩),编程完成如下操作

use 库名
go -----打开库
create table 学生信息
(学号 int not null,
姓名 char(10) not null,
班级 nvarchar(20)
成绩 int )
go -----这是建表
(1)insert into 学生信息(学号,姓名,班级,成绩)
values('122153032','小静',‘计应123’,'99') ----这是插入记录以此类推插入五条
(2)select *
from 学生信息
where 成绩>85 -----显示成绩大于85分的学生信息

(3) select *
from 学生信息
order by 成绩desc ---将表中的所有记录,按照成绩从小到大顺序排列

能帮你的只有这些,望!

上一篇:标准北京时间,我们的时间都是以北京时间为标准

下一篇:没有了

相关阅读