用java语句,1、建立一个数据库student,在数据库中建一个student表,表中至少有学号、姓名、专业三个字段

用java语句,1、建立一个数据库student,在数据库中建一个student表,表中至少有学号、姓名、专业三个字段,第1张

import javasqlConnection;

import javasqlDate;

import javasqlDriverManager;

import javasqlResultSet;

import javasqlSQLException;

import javasqlStatement;

import javasqlPreparedStatement;

public class JDBC {

private Connection con = null;

private Statement stmt = null;

private ResultSet rs = null;

private String driver = "commysqljdbcDriver"; //不同的数据库只要稍加修改即可

private String url="jdbc:mysql://localhost:3306/dataname

characterEncoding=GBK";//连接也要改

private String user = "root";//用户名

private String password = "mysql";//密码

/

准备连接

/

public void startConnection() throws ClassNotFoundException, SQLException {

ClassforName(driver); //注册数据库驱动

con = DriverManagergetConnection(url, user, password); //获得数据库连接

}

/

执行select 并返回结果集 throws SQLException

/

public ResultSet query(String sql) throws SQLException {

stmt = concreateStatement(); //创建Statement

rs = stmtexecuteQuery(sql); //执行查询

return rs;

}

/

执行insert update delete

/

public int update(String sql) throws SQLException {

stmt = concreateStatement();

int r = stmtexecuteUpdate(sql);

return r;

}

/

释放资源(连接)

/

public void releaseConnection() {

try {

if (rs != null)

rsclose();

stmtclose();

if (con != null)

conclose();

} catch (SQLException e) {

eprintStackTrace();

}

}

}

2对数据库表的 *** 作放在另外一包中,不同的 *** 作在不同的类中实现----->只要在其他的包里引入这个类包,再继承这个类即可

*** 作内容:----->调用父类里的方法即可

(1)、使用结果集对数据库表进行 *** 作:先插入一条记录,后删除一条记录;(2)、使用批处理方法插入3个学生的信息;(3)、使用事务实现一个同学转专业---先删除一条记录、后增加一条记录(两者要么同时实现,要么同时不实现)。

3、程序的实现过程中加入异常处理语句

1)建立结构体及其10个元素的数组

struct Student{

int Num;

char Name[10];

char Sex;

double Score[5];

}student[10];

2)建立一个关于该结构的输入函数,如:

void Input(struct Student stu)

{

printf("Input Name:");

scanf("%d",&stuNum);

/等等/

}

3)建立一个关于该结构的输出函数,如:

void Output(struct Student stu)

{

printf("NUMBER: %d\n",stuNum);

/等等/

}

4)计算某门课的平均分

double Average(struct Student stu,int course)

{

int i;

double ave=00;

for(i=0;i<10;i++)

ave+=stu[i]Score[course];

return ave/10;

}

最后用main函数把有关问题贯穿起来。

SQL语言创建数据库和学生表

建立:

[sql]

create database zxl  

create table 学生表

(

学号 char(12) primary key,

姓名 char(6) not null,

性别 char(2) check(性别 IN ('男','女')),

班级 char(15)

)  

create table 成绩表

(

学号 char(12)references 学生表(学号),

课程号 char(2)references 课程表(课程号) ,

成绩 int default(30),

primary key (学号,课程号)

)

create table 课程表

(

课程号 char(2) primary key,

课程名 char(20),

学分 int check(学分>=1 and 学分<=5 )

)

*** 作:

[sql]

insert into 学生表 values('201190609112','张xl','男','文专计1111')

insert into 学生表 values('201190609113','张','女','文专计1111')

insert into 成绩表 values('201190609112','01',100)

insert into 成绩表 values('201190609112','02',99)

insert into 成绩表 values('201190609112','03',88)

insert into 课程表 values('01','数据库系统',3)

insert into 课程表 values('02','vbnet',4)

insert into 课程表 values('03','java',4)

select from 成绩表

select 姓名,课程名,成绩

from 学生表,课程表,成绩表

where (学生表学号=成绩表学号 and 课程表课程号=成绩表课程号)

order by 成绩 desc

select avg(成绩) 平均分,max(成绩) 最高分,min(成绩) 最低分

from 成绩表

where 学号='201190609112

创建一个名为教学管理的数据库创建学生表要求定义主码 

一、简答

1、DBA的职责是什么?

2、视图的作用有哪些?

3、数据库的完整性和安全性有什么区别?

4、SQL语言的特点是什么?

5、数据字典通常包括哪几部分?

6、什么是基本表,什么是视图,二者的区别和联系是什么?

7、DBMS的主要功能是什么?

8、什么是数据库备份和恢复?为什么要备份和恢复数据库?

9 什么是事务?事务的作用?SQL中事务的语法结构是怎样的?

10、举出实体之间具有一对一、一对多、多对多的联系的例子。

11、 数据库的并发 *** 作会带来哪些问题?如何解决?

12、什么是日志文件?简述日志文件恢复事务的过程(即:事务故障的恢复的过程)。

13、关系完整性约束规则有哪三类?

14、 数据库管理技术发展的三个阶段?

15、写出数据库的设计的五个阶段。

16、根据3NF的定义及规范化方法,对关系模式R(U,F) U={学号,姓名,所在系,系主              任,课程号,成绩} F= { 学号 → 姓名 , 学号 → 所在系,所在系 → 系主任(学号,课程        号) → 成绩} 进行分解,使其满足3NF。

17、 什么是事务?事务有哪些特征?

18、写出关系型数据库的第一、第二、第三范式的各自要求。

19、举三个例子分别说明二元联系的三种情况( 1:1、1:M、M:N ) 。

运行sql文件出错

解决办法:使用Notepad++打开文件,选择 格式->无BOM的UTF8格式编码

还真不想再写代码了啊。。。。。

直接跟你说下思路吧。。。。

首先创建一个结构体,如——

struct student

{

char num[10]; //学号

char name[20]; //姓名

char sex[4]; //性别

int age; //年龄

int flag; //一个标示符(下面会说用法)

};

然后就定义一个student类型的数组stu[max],在前面#define max 1000000,你也可以把max定义得小一点,这是用来表示最大能容纳多少个学生信息。。。。

说到flag的用处,我不清楚你了不了解,还是先跟你说下吧。。。。

先考一下你,知道怎样把一个数组里面的某一个元素清空吗?清空就表示能在那个位置再次赋值,没清空的位置就不能重复赋值。把那个元素设为a[x],可能你会想着把a[x]=0不就得啦,那好,如果用这种方法,那么如果你想寻找数组a中可以再次赋值的元素,然后进行赋值,你是不是要通过一个判别式来对数组a的每一个元素进行判断,看看它是否能被再赋值,对吧,那这个判别式肯定就是判断a中的数值是否为零了。但是你想一下,如果一开始a中某个元素的值就是等于0,并不表示清空状态,那你这样的判别式能成立吗,所以我们要用到一个标示符flag。。。。

当flag=1时,表示该数组的元素已存在,当flag=0时,表示该数组的元素是无效的,这样的话就不需要对数组中的每个元素进行什么清空 *** 作了,就像上面的数组stu,这么多元素,你怎么清空。。。。

然后有一个最重要的是怎样存储数据,因为没用到数据库,所以就用txt文件来存储吧,给你一个相关的代码——

int load_student() //把已存在的储存数据的txt文件打开

{

FILE fp;

if((fp=fopen("studenttxt","rb"))==NULL) //判断文件是否存在

{

printf("不能打开此文件\n");

exit(0);

}

for(int i=0;i<SIZE;i++) //存在的话就打开它

{

fread(&stu[i],sizeof(struct student),1,fp);

}

fclose(fp);

return 0;

}

int save_student() //把数据存放进txt文件中

{

FILE fp;

if((fp=fopen("studenttxt","wb"))==NULL)

{

printf("不能打开此文件\n");

exit(0);

}

for(int i=0;i<SIZE;i++)

{

fwrite(&stu[i],sizeof(struct student),1,fp);

}

fclose(fp);

return 0;

}

这是一个比较基本的代码,你可以灵活的修改一下,实现读写过程的代码也就是这样了。。。。

然后是功能的实现,这方面就得看你的要求了,不过我建议你把每个界面做成一个函数,实现模块化,如——

int shouye() //首页

{

system("cls"); //清屏

int num1;

printf("\n");

printf(" 学生信息管理系统 \n");

printf("\n");

printf("\n\n");

printf("1、更改学生信息\n\n");

printf("2、查看学生信息\n\n");

printf("3、退出系统\n\n");

scanf("%d",&num1); //输入 *** 作

if(num1==1)

update(); //进入学生信息更改模块

else if(num1==2)

check(); //进入学生信息查看模块

else

exit(0); //退出系统

return 0;

}

在给多你一个界面函数的代码吧——

int update()

{

system("cls");

int num2;

printf("\n");

printf(" 更改成绩 \n");

printf("\n");

printf("\n\n");

printf("1、增加学生信息\n\n");

printf("2、修改学生信息\n\n");

printf("3、返回上一层\n\n");

scanf("%d",&num2);

if(num2==1)

add();

else if(num2==2)

correct();

else

shouye();

return 0;

}

大概就是这种模式,我就不多弄了,你自己开拓一下吧,可能你会问我主函数怎么实现,大概就是这样吧——

int main()

{

load_student(); //读取txt里面的内容

shouye();

return 0;

}

这里要说明一下,我给你这代码还不怎么完善的,只是简单跟你说下思路罢了,如果你招着复制的话,要记住,在你第一次运行之前,要先在你这工程目录低下创建一个名字为student的txt文件,不然会显示错误,因为load_student()那里就会判断是否存在studenttxt文件,没的话就会显示错误的。。。。

我建议你简单地画下流程图,这样可以让你的编程思路更清晰,如果还有什么不清楚的地方可以Q我,410430209。。。。

希望这些对你有所帮助。。。。

也不算复杂吧,如果是SQL SERVER,我告诉你步骤吧。\x0d\1安装SQL SERVER,目前版本是2008,注意版本对应的 *** 作系统。\x0d\2安装完成后,在开始菜单打开SQL Server Management Studio,服务器名称默认,如果是空的,就输入一个 ,身份验证选择windows身份验证。\x0d\3登录后左侧菜单的菜单里找“数据库”,点开此节点后,在“数据库”菜单上点右键,选择“新建数据库”,点击后在d出的窗口信息里填写信息,填完后点确定,数据库就创建成功了,不过里面还没有表。\x0d\4新建表,点开你刚才建立的数据库后,找到“表”菜单,双击,然后在“表”菜单上点右键,选择“新建表”,输入你要填写的字段名,选择好类型,长度后,点击确定,就建好表了,这时再右键选中“表”菜单,选择“刷新”,刚才建立的表就可以显示出来了。\x0d\\x0d\你应该总结出学生成绩查询需要几张表,我大概告诉你一下吧,最基本的3张,\x0d\1学生基本信息表\x0d\2学生考试科目表\x0d\3学生成绩表,这三张之间的关系你要是搞明白了,那学生成绩查询就不会有问题了。

在access里面用罗斯文数据库实例建立个或自己建一个:

1、启动ACCESS建空数据库,取名“学生档案”。

2、建一个表,如果有excel数据可直接导入或在设计视图里面建表,字段名:学号、姓名、性别、出生日期、家庭住址等。取名“学生档案”至于记录,自己输入几个人的情况。

3、建一个表取名“学生成绩”,字段名:学号、课程A、课程B、课程C、课程D、课程E等。至于记录,自己输入几个人的情况。

4、建相应的查询。如:查询在设计视图中将“学生档案”的学号拖到“学生成绩”的学号字段上。sql语句为:SELECT 学生档案学号, 学生档案姓名, [学生成绩]![课程A]+[学生成绩]![课程B] AS 总成绩 FROM 学生档案 INNER JOIN 学号 ON 学生档案学号 = 学生成绩学号,可以查询学生成绩。

5、建一窗体(设计视图)里面建一些说明标签,一些功能按钮:按钮的单击事件调用相应的宏事件(或用VBA代码)(查询等),取名“主窗体”。

6、建相应的宏(或用VBA代码),宏里面有功能提示,简单的如OpenForm(打开窗体)、Opentable(打开表)、Requery(代开SQL查询)、Close(关闭)、Quit(退出)等等。

7、建主窗体启动宏:用OpenForm "主窗体",宏名取Autoexec。

一个简单的数据库就建好了,在Windows下打开数据库,即可进入“学生档案”主窗体。access功能很多,一句两句说不清楚,找本教材看看。

扩展资料:

数据库作为存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。

即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:

数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。

数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用

一 创建相关表和数据

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 couid 课程号, (select count() from stu_cou where c_id = couid) 选课人数 from course cou;

4 查询至少选修了2门课程的学生学号

select from (

select stuid 学号, (select count() from stu_cou where s_id = stuid) sum_data from student stu) where sum_data >= 2;

5 查询每个学生的学号、姓名、选修的课程名及成绩查询

select scs_id 学号, (select name from student where id = scs_id) 姓名, scc_id 课程号, (select name from course where id = scc_id) 课程名, scgrade 成绩 from stu_cou sc;

6 查询选修了课程名为“信息系统”的学生学号和姓名

select scs_id 学号, (select name from student where id = scs_id) 姓名 from stu_cou sc where scc_id = (select id from course where name = 'china');

最少1个主文件mdf,一个日志文件ldf,每个数据库有一个主要文件组。主要文件主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件。主要数据文件的建议文件扩展名是 mdf。次要文件次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。另外,如果数据库超过了单个 Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。次要数据文件的建议文件扩展名是 ndf。事务日志文件事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。事务日志的建议文件扩展名是 ldf。什么时候应该备份master数据库?最好每天都备份。一般可以在有系统设置,添加用户后备份也可以。

以上就是关于用java语句,1、建立一个数据库student,在数据库中建一个student表,表中至少有学号、姓名、专业三个字段全部的内容,包括:用java语句,1、建立一个数据库student,在数据库中建一个student表,表中至少有学号、姓名、专业三个字段、C语言:建立一个学生信息数据库、数据库中怎样创建学生表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9298471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存