精华内容
下载资源
问答
  • MySQL数据库原理及应用项目5创建与维护学生信息管理数据表学习目标理解MySQL数据表的基本概念掌握表的创建维护与修改方法掌握如何在表中添加修改和删除数据记录掌握表的复制与删除方法任务5-1 理解表的基本概念任务...
  • 首先必须理清学生信息系统有哪些实体,这些实体之间的关系又是如何的,他们之间是怎么进行关联的实体有哪些:学生表(student)专业表(major)课程表(course)成绩表(grade)班级表(class)老师表(teacher)宿舍表(dorm)...

    首先必须理清学生信息系统有哪些实体,这些实体之间的关系又是如何的,他们之间是怎么进行关联的

    实体有哪些:

    学生表(student)

    专业表(major)

    课程表(course)

    成绩表(grade)

    班级表(class)

    老师表(teacher)

    宿舍表(dorm)

    考勤表(checking)

    这里我用Visio画的数据库ER图来分析:

    大致实体ER图:

    详细ER图:

    二、数据库建模(建表):

    1、创建专业表(major):

    create table major(id int primary key auto_increment,name char(20)) charset=utf8;

    数据表结构如下:

    2、创建课程表(course)

    create table course(id int primary key auto_increment,name char(20)) charset=utf8;

    数据表结构如下:

    3、创建专业和课程的中间表(major_mid_course)

    create table major_mid_course(

    id int primary key auto_increment,major_id int,

    course_id int,

    foreign key(major_id)references major(id),

    foreign key(course_id) references course(id)

    );

    数据表结构如下:

    4、创建成绩表(grade)

    create table grade(

    id int primary key auto_increment,

    score int,stu_id int,course_id int,

    foreign key(course_id) references course(id),

    foreign key(stu_id) references student(id)

    ) charset=utf8;

    数据表结构如下:

    5、班级表(class)

    create table class(

    id int primary key auto_increment,

    name char(20),

    major_id int,foreign key(major_id) references major(id)

    ) charset=utf8;

    数据表结构如下:

    6、老师表(teacher)

    create table teacher(id int primary key auto_increment,name char(20)) charset=utf8;

    数据表结构如下:

    7、班级和老师的中间表(class_teacher)

    create table class_teacher(

    id int primary key auto_increment,

    class_id int,

    tea_id int,

    foreign key(class_id) references class(id),

    foreign key(tea_id) references teacher(id)

    );

    数据表结构如下:

    8、课程和老师的中间表(course_teacher)

    create table course_teacher(

    id int primary key auto_increment,

    course_id int,

    tea_id int,

    foreign key(course_id) references course(id),

    foreign key(tea_id) references teacher(id)

    );

    数据表结构如下:

    9、宿舍表(drom)

    create table drom(id int primary key auto_increment,name char(20)) charset=utf8;

    数据表结构如下:

    10、学生表(student)

    create table student(

    id int primary key auto_increment,

    stu_num char(24),

    name char(24),

    age int,

    gender char(20),

    phone char(20),

    major_id int,

    class_id int,

    drom_id int,

    foreign key(major_id) references major(id),

    foreign key(class_id) references class(id),

    foreign key(drom_id) references drom(id)

    ) charset=utf8;

    数据表结构如下:

    11、学生和老师的中间表(student_teacher)

    create table student_teacher(

    id int primary key auto_increment,

    stu_id int,

    tea_id int,

    foreign key(stu_id) references student(id),

    foreign key(tea_id) references teacher(id)

    );

    数据表结构如下:

    12、创建考勤表(checking)

    create table checking(

    id int primary key auto_increment,

    date datetime,

    status char(1),

    stu_id int,foreign key(stu_id) references student(id)

    ) charset=utf8;

    数据表结构如下:

    二、数据插入:

    1、插入专业表(major)数据

    专业(major)

    id

    name

    1

    python

    2

    java

    3

    ui

    4

    php

    5

    linux

    使用python来插入数据

    2、插入课程表(course)数据

    课程(course)

    id

    name

    1

    计算机基础

    2

    python基础

    3

    java编程

    4

    ps

    5

    html

    6

    数据库

    7

    linux基础

    3、插入专业和课程关系表(major_mid_course)数据

    专业—课程中间表(major_mid_course)

    id

    major_id

    course_id

    1

    1

    1

    2

    1

    2

    3

    1

    5

    4

    1

    6

    5

    1

    7

    6

    2

    1

    7

    2

    3

    8

    2

    5

    9

    2

    6

    10

    3

    1

    11

    3

    4

    12

    4

    1

    13

    4

    5

    14

    5

    1

    15

    5

    7

    4、插入班级表(class)数据

    班级(class)

    id

    name

    major_id

    1

    py0506

    1

    2

    ui0304

    3

    5、插入老师表(teacher)数据

    老师(teacher)

    id

    name

    1

    张老师

    2

    边老师

    3

    申老师

    6、插入班级-老师关系表(class_teacher)数据

    班级-老师中间表(class_teacher)

    id

    class_id

    tea_id

    1

    1

    2

    2

    1

    3

    3

    2

    1

    7、插入课程-老师关系表(course_teacher)数据

    课程-老师中间表(course_teacher)

    id

    course_id

    tea_id

    1

    1

    3

    2

    2

    3

    3

    5

    2

    4

    6

    2

    5

    4

    1

    8、插入宿舍表(drom)数据

    宿舍(drom)

    id

    name

    1

    101

    2

    102

    3

    103

    9、插入学员表(student)数据

    学员(student)

    id

    stu_num

    name

    age

    gender

    phone

    major_id

    class_id

    drom_id

    1

    1001

    小李

    19

    13333331001

    1

    1

    2

    2

    1002

    小张

    20

    13333331002

    1

    1

    2

    3

    1003

    小王

    18

    13333331003

    1

    1

    2

    4

    1004

    小东

    19

    13333331004

    1

    1

    2

    5

    1005

    小丽

    17

    13333331005

    1

    1

    3

    6

    1006

    小花

    19

    13333331006

    1

    1

    3

    7

    1007

    小夏

    20

    13333331007

    1

    1

    3

    8

    1008

    小美

    18

    13333331008

    1

    1

    3

    9

    1009

    小韩

    19

    13333331009

    3

    2

    1

    10

    1010

    小吴

    22

    13333331010

    3

    2

    1

    11

    1011

    小牛

    19

    13333331011

    3

    2

    1

    12

    1012

    小朱

    18

    13333331012

    3

    2

    1

    10、插入学员-老师关系表(student_teacher)数据

    学员-老师关系表(student_teacher)

    id

    stu_id

    tea_id

    1

    1

    2

    2

    2

    2

    3

    3

    2

    4

    4

    2

    5

    5

    2

    6

    6

    2

    7

    7

    2

    8

    8

    2

    9

    9

    1

    10

    10

    1

    11

    11

    1

    12

    12

    1

    13

    1

    3

    14

    2

    3

    15

    3

    3

    16

    4

    3

    17

    5

    3

    18

    6

    3

    19

    7

    3

    20

    8

    3

    11、插入成绩表(grade)数据(这里只插入python基础课程成绩)

    成绩(grade)

    id

    score

    stu_id

    course_id

    1

    87

    1

    2

    2

    98

    2

    2

    3

    88

    3

    2

    4

    65

    4

    2

    5

    77

    5

    2

    6

    66

    6

    2

    7

    89

    7

    2

    8

    78

    8

    2

    12、插入考勤表(checking)数据

    考勤(checking)

    id

    date

    status

    stu_id

    1

    2019-6-14 9:05:34

    N

    2

    2

    2019-6-14 8:40:55

    Y

    3

    3

    2019-6-14 8:59:55

    N

    4

    4

    2019-6-13 8:30:22

    Y

    4

    三、数据库优化:

    1、给student表的name字段创建索引,(由于学生查询频繁),加快查询速度:

    2、给student表创建视图,实现安全性(虚表)

    四、用户授权:

    1、创建用户并设置密码

    create user nhkj@'10.10.21.%' identified by '123';

    2、授权用户访问student_view表的查询权限

    五、查询一下条件语句

    1、查询所有学员

    select name from student;

    2、查询所有男生

    select name from student where gender='男';

    3、查询所有女生

    select name from student where gender='女';

    4、查询所有缺勤学员

    select name from student where id in (select stu_id from checking where status='N');

    5、查询所有python专业的学员

    select s.name,m.name from student as s inner join major as m on s.major_id=m.id and m.id=1;

    6、查询所有python专业上过python基础的学员

    为演示效果,我将‘小花’这个学生取消和‘申老师’关系,由于‘申老师’是教python基础课程的,所有‘小花’就是所有python专业学生里唯一没有上过python基础课程的学生,剩下的7位都上过小花的id为6

    delete from student_teacher where stu_id=6;

    SELECT

    s.id AS s_id,

    s.name AS s_name,

    c.id AS c_id,

    c.name AS c_name

    FROM

    student AS s

    INNER JOIN student_teacher AS st

    INNER JOIN teacher AS t

    INNER JOIN course_teacher AS ct

    INNER JOIN course AS c

    WHERE

    s.id=st.stu_id

    AND

    st.tea_id=t.id

    AND

    t.id=ct.tea_id

    AND

    ct.course_id=c.id

    AND

    c.id=2;

    7、查询所有python 0506班所有学员

    select s.id as s_id,s.name as s_name,c.id as c_id,c.name as c_name from student

    as s inner join class as c on s.class_id=c.id and c.id=1;

    8、查询所有python 0506班所有学员python基础课成绩

    select s.name as s_name,c.name as c_name,g.score from student as s inner join

    course as c inner join grade as g where s.id=g.stu_id and g.course_id=c.id;

    9、查询python 0506班任课老师

    select c.id as c_name,c.name as c_name,t.id as t_name,t.name as t_name from

    class as c inner join class_teacher as ct inner join teacher as t where c.id=ct.class_id and ct.tea_id=t.id and c.id=1;

    10、查询边老师教过的学员

    select t.id as t_id,t.name as t_name,s.id as s_id,s.name as s_name from teacher as t inner join

    student_teacher as st inner join student as s where t.id=st.tea_id and st.stu_id=s.id and t.name='边老师';

    11、查询边老师教过的班级

    select t.id as t_id,t.name as t_name,c.id as c_id,c.name as c_name

    from class as c inner join class_teacher as ct inner join teacher as t

    where c.id=ct.class_id and ct.tea_id=t.id and t.name='边老师';

    12、查询小王同学python基础课程的成绩

    select s.id as s_id,s.name as s_name,c.name as c_name,g.score

    from student as s inner join grade as g inner join course as c

    where c.id=g.course_id and s.id=g.stu_id and g.course_id=2 and s.id=3;

    13、查询所有python基础课程的学员成绩

    select s.id as s_id,s.name as s_name,c.name as c_name,g.score

    from student as s inner join grade as g inner join course as c

    where c.id=g.course_id and s.id=g.stu_id and g.course_id=2;

    14、查询python 0506班所有的宿舍

    select c.id as c_id,c.name as c_name,d.id as d_id,d.name as d_name

    from class as c inner join student as s inner join drom as d

    where c.id=s.class_id and s.drom_id=d.id and c.id=1;

    15、查询python 0506班 102宿舍的所有学生的成绩

    select c.name as c_name,d.name as d_name,s.name as s_name,g.score

    from class as c inner join student as s inner join drom as d inner join grade as g

    where c.id=s.class_id and s.drom_id=d.id and g.stu_id=s.id and c.id=1 and d.id=2;

    展开全文
  • 一个简单的管理系统,组要是供初学者参考如何连接数据库。 我用的是MySQL,内附Mysql的驱动以及创建表的脚本文件。
  • 步骤二:创建学生管理系统包 (1)系统入口 (2)switch语句下的添加学生信息系统 (3)switch语句下的删除学生信息系统 (4)switch语句下的修改学生信息系统 (5)switch语句下的查询学生信息系统 完整代码请见...

    目录

    步骤一:创建工具包

    (1)加载驱动

    (2)创建连接

    (3)创建语句

    (4)创建接口

    步骤二:创建学生管理系统包

    (1)系统入口

    (2)switch语句下的添加学生信息系统

             (3)switch语句下的删除学生信息系统

             (4)switch语句下的修改学生信息系统

             (5)switch语句下的查询学生信息系统

    完整代码请见个人博客https://blog.csdn.net/m0_46383618/article/details/106224947


    步骤一:创建工具包

    (1)加载驱动

    复制架包(MySQL数据库驱动程序中的-mysql-connector-java-5.1.44-bin.jar);

    粘贴到创建的lib里面,然后右键build path--add(注意将Package Explorer小箭头里的Package Presentation 变为Hierarchial);

    在新出现的Libraries里找到jdbc包里面的drive.class,并复制Qulified name得到com.mysql.jdbc.Driver;

    (2)创建连接

    String url="jdbc:mysql://127.0.0.1:3306/test";//指定连接那一台计算机上的那个数据库实例,127.0.0.1为本机
    return DriverManager.getConnection(url, "root", "root");//获取数据库连接的对象,一个对象表示一次数据库的连接

    (3)创建语句

    创建数据连接语句

    private static Connection getConnection() {
    	try {
    		Class.forName("com.mysql.jdbc.Driver");
    		String url="jdbc:mysql://127.0.0.1:3306/test";
    		return DriverManager.getConnection(url, "root", "root");
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    	return null;
    }

    创建sql语句

    public boolean date(String sql) {//sql语句,根据sql的不同执行增删改查
        Connection connection = null;//提升一级
        Statement statement = null;
        try {
    	connection =  getConnection(); //获取连接
    	statement = connection.createStatement();//获得Statement对象
    	int result = statement.executeUpdate(sql);//执行sql语句,返回受影响的行数,仅限于insert,update,delete
    	/*statement.close();//如果上面代码出现异常,则该行代码及其下面代码无法执行,所以资源无法释放;比如sql语句语法错误,则statement和connection无法释放
    	connection.close();*/
    	return result>0;//处理结果
    			
    	} catch (Exception e) {
    		e.printStackTrace();
    	}finally {//即便有异常也会执行
    		close(statement,connection);
    			
    	}
    	return false;
    }

    创建释放资源语句

    private static void close(Statement statement, Connection connection) {//简化代码,将数据的释放写到一个方法里,直接调用即可
        try {
    	if(statement!=null) {//有可能异常导致statement没有赋值,比如url出错
    	    statement.close();
    	}
        }catch(SQLException e) {
    	e.printStackTrace();
        }
        try {
        if(connection!=null) {
            connection.close();
        }
        }catch(SQLException e) {
    	e.printStackTrace();
    			
        }
    }
    		
    private static void close(ResultSet resultSet,Statement statement, Connection connection) {//重载
        try {
    	if(resultSet!=null) {//有可能异常导致statement没有赋值,比如url出错
    	    resultSet.close();
        }
        }catch(SQLException e) {
    	e.printStackTrace();
        }
        close(statement,connection);
        }
    }

    创建接口实现类语句

    public static void select2(String sql,IRowMapper rowMapper) {//接口无法创建对象,所以rowMapper参数一定指向IRowMapper接口实现类 多态
    	Connection connection = null;//提升一级
    	Statement statement = null;
    	ResultSet resultSet = null;
    	try{
    	        connection =  getConnection(); //获取连接
    		statement = connection.createStatement();//获得Statement对象
    		resultSet = statement.executeQuery(sql);//执行sql语句,将值赋给resultSet
    		//此时数据都在resultSet里,需要通过循环将他显示
    		rowMapper.rowMapper(resultSet);//因为rowMapper参数指向IRrowMapper接口实现类对象,所以此处将调用接口实现类中所实现的rowMapper方法  多态
    		//如果没有此多态,则main方法里调用时result的值会被finally释放,所以要
    	} catch (Exception e) {
    			e.printStackTrace();
    	}finally {//即便有异常也会执行,释放资源
    		close(resultSet,statement,connection);
    	}
    }

    创建查询语句

    public static boolean exisit(String sql) {//查询
    	Connection connection = null;//提升一级
    	Statement statement = null;
    	ResultSet resultSet = null;
    	try{
    		connection =  getConnection(); 
    		statement = connection.createStatement();//获得Statement对象
    		resultSet = statement.executeQuery(sql);//执行sql语句,将值赋给resultSet
    		//此时数据都在resultSet里,需要通过循环将他显示
    		return resultSet.next();
    	} catch (Exception e) {
    		e.printStackTrace();
    	}finally {//即便有异常也会执行
    		close(resultSet,statement,connection);
    	}
    	return false;
    }

    (4)创建接口

    package com.zzu.tool.db;
    import java.sql.ResultSet;
    
    @FunctionalInterface
    public interface IRowMapper {
            
            void rowMapper(ResultSet rs);//定义rs变量
    }

    步骤二:创建学生管理系统包

    (1)系统入口

    package com.zzu.main;
    
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Scanner;
    
    import com.zzu.tool.db.DBlink;
    import com.zzu.tool.db.IRowMapper;
    
    public class Main {
    	
    	private static DBlink db = new DBlink();//连接工具包
    	
    	public static void main(String[] args) {
    		System.out.println("*********************************");
    		System.out.println("*\t\t\t\t*");
    		System.out.println("*\t欢迎使用学生信息管理系统\t*");
    		System.out.println("*\t\t\t\t*");
    		System.out.println("*********************************");
    		while (true) {//死循环,用于循环储存数据
    			menu();
    		}
    	}
    
    	static void menu() {
    		System.out.println("1、添加学生信息");
    		System.out.println("2、删除学生信息");
    		System.out.println("3、修改学生信息");
    		System.out.println("4、查询学生信息");
    		System.out.println("请输入操作,以Enter键结束:");
    		Scanner scanner = new Scanner(System.in);//输入
    		int option  = scanner.nextInt();

    (2)switch语句下的添加学生信息系统

    switch (option) {
    	case 1:{
    		System.out.println("请输入学号");
    		String id = scanner.next();
    		String sql = "select name from student where id = '"+id+"'";
    		if(db.exisit(sql)) {
    			System.out.println("学号已存在,操作终止!");
    			return;
    		}
    		System.out.println("请输入姓名");
    		String name = scanner.next();
    		System.out.println("请输入手机号");
    		String mobile = scanner.next();
    		System.out.println("请输入地址");
    		String address = scanner.next();
    		sql="insert into student (id,name,mobile,address) values
    ('"+id+"','"+name+"','"+mobile+"','"+address+"')";//添加sql语句
    		if(db.date(sql)) {//此时执行添加sql语句
    			System.out.println("添加成功!");
    		}
    		System.out.println("添加失败!");
    		break;
    	}

    (3)switch语句下的删除学生信息系统

    case 2:{
    	System.out.println("请输入学号");
    	String id = scanner.next();
    	String sql = "select name from student where id = '"+id+"'";//注意id的写法
    	if(!db.exisit(sql)) {
    		System.out.println("学号不存在,操作终止!");
    		return;
    	}
    	sql="delete from student wherer id='"+id+"'";
    	if(db.date(sql)){
    		System.out.println("删除成功!");
                    return;
    	}
    	System.out.println("删除失败!");
    	break;
    }

    (4)switch语句下的修改学生信息系统

    case 3:{
    	System.out.println("请输入学号");
    	String id = scanner.next();
    	String sql = "select name from student where id = '"+id+"'";//查询语句
    	if(!db.exisit(sql)) {
    		System.out.println("学号不存在,操作终止!");
    		return;
    	}
    	System.out.println("请输入新姓名");
    	String name = scanner.next();
    	System.out.println("请输入新手机号");
    	String mobile = scanner.next();
    	System.out.println("请输入新地址");
    	String address = scanner.next();
    	sql="update student set name='"+name+"','"+mobile+"','"+address+"' where id = '"+id+"'";//添加语句
    	if(db.date(sql)){
    		System.out.println("修改成功!");
                    return;
    	}
    	System.out.println("修改失败!");
    	break;
    }

    (5)switch语句下的查询学生信息系统

    case 4:{//查询
    	System.out.println("请输入学号");
    	String id = scanner.next();
    	String sql = "select name from student where id = '"+id+"'";
    	if(!db.exisit(sql)) {
    		System.out.println("学号不存在,操作终止!");
    		return;
    	}
    	sql="select id,name,mobile,address from student  where id = '"+id+"'";
    	/*class RowMapper implements IRowMapper{//用内部类
    
    	@Override//重写接口类中的代码
    	public void rowMapper(ResultSet rs) {
    		try {
    			if(rs.next()) {//此时的rs为数据库里的表
    				String id = rs.getString("id");
    				String name = rs.getString("name");
    				String mobile = rs.getString("mobile");
    				String address = rs.getString("address");
    			}
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}	
    	}
    }
            db.select2(sql, new RowMapper());*/
    				
    	db.select2(sql, (rs)->{//Lambda:主要用于简化匿名内部类(JDK8+)
            //因为rowMapper参数指向IRrowMapper接口实现类对象,所以此处将调用接口实现类中所实现的rowMapper方法  多态
    		try {
    			if(rs.next()) {
    				String name = rs.getString("name");
    				String mobile = rs.getString("mobile");
    				String address = rs.getString("address");
    				System.out.println(id+","+name+","+mobile+","+address);
                            }
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    					
            });
            break;
    }
    default:
            System.out.println("I'm Sorry,there is not the "+option+" option,please try again.");
    		

    完整代码请见个人博客https://blog.csdn.net/m0_46383618/article/details/106224947

    展开全文
  • 学生信息管理系统(GUI:Java-Swing、数据库:Mysql)

    千次阅读 多人点赞 2020-04-24 16:30:30
    有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学...

    项目名称

    学生信息管理系统

    项目描述

    带有GUI连接了数据库的学生信息管理系统。使用Java的Swing工具包做出GUI来采集数据,实现了对学生信息的增删改查等功能;数据库采用MySQL存储信息,DAO层利用JDBC实现。

    开发环境

    数据库:MySQL

    代码

    主界面

    在这里插入图片描述

    package First;
    
    import java.awt.BorderLayout;
    import java.awt.EventQueue;
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JLabel;
    import javax.swing.JButton;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.awt.event.ActionEvent;
    import java.awt.Font;
    
    public class Window extends JFrame {
    
    	/**
    		 * 
    		 */
    	private static final long serialVersionUID = ;
    //	static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    //	static final String DB_URL = "jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC";
    
    //	数据库的用户名与密码,需要根据自己的设置
    //    static final String USER = "";
    //    static final String PASS = "";
    	private JPanel contentPane;
    
    	/**
    	 * Launch the application.
    	 */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    //					Connection conn = null;
    //			        Statement stmt = null;
    //					// 注册 JDBC 驱动
    //		            Class.forName(JDBC_DRIVER);
    //		        
    //		            // 打开链接
    //		            System.out.println("连接数据库...");
    //		            conn = DriverManager.getConnection(DB_URL,USER,PASS);
    					Window frame = new Window();
    					frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
    
    	/**
    	 * Create the frame.
    	 */
    	public Window() {
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 600, 348);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    
    		JButton btnNewButton = new JButton("\u4FE1\u606F\u5F55\u5165");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				Add f = new Add();
    				f.setSize(400, 300);
    				JLabel label = new JLabel("我是新窗口");
    				f.add(label);
    				f.setLocationRelativeTo(null);
    				f.setVisible(true);
    			}
    		});
    		btnNewButton.setBounds(90, 129, 120, 28);
    		contentPane.add(btnNewButton);
    
    		JButton btnNewButton_1 = new JButton("\u4FE1\u606F\u5220\u9664");
    		btnNewButton_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				Delete f = new Delete();
    				// f.setSize(400,300);
    				// JLabel label = new JLabel("我是新窗口");
    				// f.add(label);
    				f.setLocationRelativeTo(null);
    				f.setVisible(true);
    			}
    		});
    		btnNewButton_1.setBounds(382, 129, 120, 28);
    		contentPane.add(btnNewButton_1);
    
    		JButton btnNewButton_2 = new JButton("\u67E5\u627E");
    		btnNewButton_2.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				Ask f = new Ask();
    				// f.setSize(400,300);
    				// JLabel label = new JLabel("我是新窗口");
    				// f.add(label);
    				f.setLocationRelativeTo(null);
    				f.setVisible(true);
    			}
    		});
    		btnNewButton_2.setBounds(90, 181, 120, 28);
    		contentPane.add(btnNewButton_2);
    
    		JButton btnNewButton_3 = new JButton("\u6D4F\u89C8");
    		btnNewButton_3.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    //				Look f = new Look();
    				// f.setSize(400,300);
    				// JLabel label = new JLabel("我是新窗口");
    				// f.add(label);
    //	                f.setLocationRelativeTo(null);
    //	                f.setVisible(true);
    			}
    		});
    		btnNewButton_3.setBounds(382, 183, 120, 25);
    		contentPane.add(btnNewButton_3);
    
    		JLabel lblNewLabel = new JLabel("\u5B66\u751F\u4FE1\u606F\u7BA1\u7406\u7CFB\u7EDF");
    		lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 24));
    		lblNewLabel.setBounds(198, 37, 197, 43);
    		contentPane.add(lblNewLabel);
    
    		JButton btnNewButton_4 = new JButton("\u4FE1\u606F\u4FEE\u6539");
    		btnNewButton_4.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				Change f = new Change();
    				f.setLocationRelativeTo(null);
    				f.setVisible(true);
    			}
    		});
    		btnNewButton_4.setBounds(90, 237, 120, 23);
    		contentPane.add(btnNewButton_4);
    	}
    }
    
    
    

    信息录入

    在这里插入图片描述

    package First;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    //import com.mysql.jdbc.Driver;
    
    public class Add extends JFrame {
    
    	JLabel jlnumber = new JLabel("学号:");
    	JLabel jlname = new JLabel("姓名:");
    	JLabel jlage = new JLabel("\u51FA\u751F\u65F6\u95F4\uFF1A");
    	JLabel jlsex = new JLabel("\u6027\u522B\uFF1A");
    	JLabel jlmath = new JLabel("\u6570\u5B66\u6210\u7EE9\uFF1A");
    
    	JTextField jtnumber = new JTextField("", 20);
    	JTextField jtname = new JTextField("", 20);
    	JTextField jtage = new JTextField("", 20);
    	JTextField jtsex = new JTextField("", 20);
    	JTextField jtmath = new JTextField("", 20);
    
    	JButton buttonadd = new JButton("添加");
    	JButton buttonreturn = new JButton("返回");
    	private final JTextField jtenglish = new JTextField();
    	private final JLabel jlenglish = new JLabel("     \u82F1\u8BED\u6210\u7EE9\uFF1A");
    	private final JLabel jldata = new JLabel("\u6570\u636E\u7ED3\u6784\u6210\u7EE9:");
    	private final JTextField jtdata = new JTextField();
    
    	public Add() {
    		jtdata.setBounds(178, 176, 130, 21);
    		jtdata.setColumns(10);
    		jtenglish.setBounds(137, 153, 125, 21);
    		jtenglish.setColumns(10);
    		JPanel jpnumber = new JPanel();
    		jpnumber.setBounds(0, 1, 336, 29);
    		JPanel jpname = new JPanel();
    		jpname.setBounds(0, 30, 336, 29);
    		JPanel jpage = new JPanel();
    		jpage.setBounds(0, 59, 336, 29);
    		JPanel jpsex = new JPanel();
    		jpsex.setBounds(0, 88, 336, 29);
    		JPanel jpmath = new JPanel();
    		jpmath.setBounds(0, 117, 336, 29);
    
    		jpnumber.add(jlnumber);
    		jpnumber.add(jtnumber);
    
    		jpname.add(jlname);
    		jpname.add(jtname);
    
    		jpage.add(jlage);
    		jpage.add(jtage);
    
    		jpsex.add(jlsex);
    		jpsex.add(jtsex);
    
    		jpmath.add(jlmath);
    		jpmath.add(jtmath);
    
    		this.setTitle("添加学生信息");
    		getContentPane().setLayout(null);
    		getContentPane().add(jpnumber);
    		getContentPane().add(jpname);
    		getContentPane().add(jpage);
    		getContentPane().add(jpsex);
    		getContentPane().add(jpmath);
    
    		buttonadd.setBounds(0, 224, 168, 29);
    		getContentPane().add(buttonadd);
    		buttonreturn.setBounds(168, 224, 168, 29);
    		getContentPane().add(buttonreturn);
    
    		getContentPane().add(jtenglish);
    		jlenglish.setBounds(41, 156, 98, 15);
    
    		getContentPane().add(jlenglish);
    		jldata.setBounds(51, 179, 117, 15);
    
    		getContentPane().add(jldata);
    
    		getContentPane().add(jtdata);
    
    		buttonreturn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				dispose();
    			}
    		});
    
    		buttonadd.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    				String DB_URL = "jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC";
    				String USER = "";
    				String PASS = "";
    
    				// Add
    				Connection conn = null;
    				Statement stat = null;
    				PreparedStatement ps = null;
    				try {
    					Class.forName(JDBC_DRIVER);
    
    					// 打开链接
    					System.out.println("连接数据库...");
    					conn = DriverManager.getConnection(DB_URL, USER, PASS);
    
    					// 执行查询
    					stat = conn.createStatement();
    					String sql = "INSERT INTO student(sno,name,age,sex,math,english,data) " + "values(?,?,?,?,?,?,?)";
    					ps = conn.prepareStatement(sql);
    
    					ps.setString(1, jtnumber.getText());
    					ps.setString(2, jtname.getText());
    					ps.setString(3, jtage.getText());
    					ps.setString(4, jtsex.getText());
    					ps.setString(5, jtmath.getText());
    					ps.setString(6, jtenglish.getText());
    					ps.setString(7, jtdata.getText());
    
    					ps.executeUpdate();
    
    					System.out.println("MySQL 连接成功!");
    					stat = conn.createStatement();
    					stat.executeUpdate(sql);
    					System.out.println("插入数据成功!");
    
    				} catch (SQLException b) {
    					b.printStackTrace();
    				} catch (ClassNotFoundException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    				} finally {
    					try {
    						conn.close();
    						System.out.println("MySQL 关闭成功");
    					} catch (SQLException c) {
    						System.out.println("MySQL 关闭失败 ");
    						c.printStackTrace();
    					}
    				}
    			}
    		});
    		this.setLocation(400, 300);
    		this.setSize(350, 300);
    		this.setVisible(true);
    	}
    }
    

    信息删除

    在这里插入图片描述

    package First;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    import First.Window;
    
    public class Delete extends JFrame {
    
    	String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    	String DB_URL = "jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC";
    	String USER = "";
    	String PASS = "";
    
    	JLabel jlnumber = new JLabel("学号:");
    
    	JTextField jtnumber = new JTextField("", 20);
    
    	JButton buttondelete = new JButton("删除");
    	JButton buttonreturn = new JButton("返回");
    
    	public Delete() {
    		JPanel jpnumber = new JPanel();
    		JPanel jpforbutton = new JPanel(new GridLayout(1, 1));
    
    		jpnumber.add(jlnumber);
    		jpnumber.add(jtnumber);
    
    		jpforbutton.add(buttondelete);
    		jpforbutton.add(buttonreturn);
    
    		buttondelete.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				String number = jtnumber.getText();
    
    				Connection conn = null;
    				ResultSet res = null;
    				Statement stat = null;
    				String sql = "DELETE FROM student WHERE sno='" + number + "'";
    
    				try {
    					Class.forName(JDBC_DRIVER);
    				} catch (Exception a) {
    					a.printStackTrace();
    				}
    				try {
    					conn = DriverManager.getConnection(DB_URL, USER, PASS);
    					stat = conn.createStatement();
    					stat.executeUpdate(sql);
    				} catch (SQLException h) {
    					h.printStackTrace();
    
    				} finally {
    					try {
    						conn.close();
    						System.out.println("关闭成功!");
    					} catch (SQLException j) {
    						System.out.println("关闭失败!");
    						j.printStackTrace();
    					}
    				}
    			}
    		});
    
    		buttonreturn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				dispose();
    			}
    		});
    
    		this.setTitle("删除学生信息");
    		this.setLayout(new GridLayout(9, 1));
    		this.add(jpnumber);
    		this.add(jpforbutton);
    		this.setLocation(400, 300);
    		this.setSize(350, 300);
    		this.setVisible(true);
    	}
    }
    

    查找

    在这里插入图片描述

    package First;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    import First.Window;
    
    public class Ask extends JFrame {
    
    	String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    	String DB_URL = "jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC";
    	String USER = "";
    	String PASS = "";
    
    	JLabel jlnumber = new JLabel("学号:");
    	JLabel jlname = new JLabel("姓名:");
    	JLabel jlage = new JLabel("\u51FA\u751F\u65F6\u95F4\uFF1A");
    	JLabel jlsex = new JLabel("性别:");
    	JLabel jlmath = new JLabel("\u6570\u5B66\uFF1A");
    	JLabel jlenglish = new JLabel("\u82F1\u8BED\uFF1A");
    	JLabel jldata = new JLabel("\u6570\u636E\u7ED3\u6784\uFF1A");
    
    	JTextField jtnumber = new JTextField("", 20);
    	JLabel jname = new JLabel();
    	JLabel jage = new JLabel();
    	JLabel jsex = new JLabel();
    	JLabel jmath = new JLabel();
    	JLabel jenglish = new JLabel();
    	JLabel jdata = new JLabel();
    
    	JButton buttonask = new JButton("查询");
    	JButton buttonreturn = new JButton("返回");
    	private final JPanel jpenglish = new JPanel();
    	private final JPanel jpdata = new JPanel();
    
    	public Ask() {
    		JPanel jpnumber = new JPanel();
    		jpnumber.setBounds(0, 1, 336, 29);
    		JPanel jpname = new JPanel();
    		jpname.setBounds(0, 30, 336, 29);
    		JPanel jpage = new JPanel();
    		jpage.setBounds(0, 59, 336, 29);
    		JPanel jpsex = new JPanel();
    		jpsex.setBounds(0, 88, 336, 29);
    		JPanel jpmath = new JPanel();
    		jpmath.setBounds(0, 117, 336, 29);
    
    		jpnumber.add(jlnumber);
    		jpnumber.add(jtnumber);
    
    		jpname.add(jlname);
    		jpname.add(jname);
    
    		jpage.add(jlage);
    		jpage.add(jage);
    
    		jpsex.add(jlsex);
    		jpsex.add(jsex);
    
    		jpmath.add(jlmath);
    		jpmath.add(jmath);
    
    		jpenglish.add(jlenglish);
    		jpenglish.add(jenglish);
    		jpenglish.setBounds(0, 146, 336, 22);
    
    		jpdata.setBounds(0, 166, 336, 22);
    		jpdata.add(jldata);
    		jpdata.add(jdata);
    
    		this.setTitle("查询学生信息");
    		getContentPane().setLayout(null);
    		getContentPane().add(jpnumber);
    		getContentPane().add(jpname);
    		getContentPane().add(jpage);
    		getContentPane().add(jpsex);
    		getContentPane().add(jpmath);
    		buttonask.setBounds(0, 224, 168, 29);
    		getContentPane().add(buttonask);
    		buttonreturn.setBounds(168, 224, 168, 29);
    		getContentPane().add(buttonreturn);
    
    		getContentPane().add(jpenglish);
    
    		getContentPane().add(jpdata);
    
    		buttonreturn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				dispose();
    			}
    		});
    
    		buttonask.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				Connection conn = null;
    				ResultSet res = null;
    				Statement stat = null;
    
    				String sql = "SELECT sno,name,age,sex,math,english,data FROM student;";
    				try {
    					Class.forName(JDBC_DRIVER);
    
    				} catch (Exception d) {
    					System.out.println("载入失败");
    					d.printStackTrace();
    				}
    				try {
    					conn = DriverManager.getConnection(DB_URL, USER, PASS);
    					stat = conn.createStatement();
    					res = stat.executeQuery(sql);
    					while (res.next()) {
    						if (res.getString(1).equals(jtnumber.getText())) {
    							jname.setText(res.getString(2));
    							jage.setText(res.getString(3));
    							jsex.setText(res.getString(4));
    							jmath.setText(res.getString(5));
    							jenglish.setText(res.getString(6));
    							jdata.setText(res.getString(7));
    
    							break;
    						}
    					}
    				} catch (SQLException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    
    				} finally {
    					try {
    						conn.close();
    					} catch (SQLException ar) {
    						ar.printStackTrace();
    					}
    				}
    			}
    		});
    		this.setLocation(400, 300);
    		this.setSize(350, 300);
    		this.setVisible(true);
    	}
    }
    

    浏览

    在这里插入图片描述

    package First;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    
    import First.Window;
    
    public class Look extends JFrame {
    
    	String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    	String DB_URL = "jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC";
    	String USER = "";
    	String PASS = "";
    
    	Connection conn = null;
    	PreparedStatement ps = null;
    	ResultSet res = null;
    
    	JButton buttonlook = new JButton("浏览");
    	JButton buttonreturn = new JButton("返回");
    
    	JTable jtable;
    	JScrollPane jscrollpane = new JScrollPane();
    
    	Vector columnNames = null;
    	Vector rowData = null;
    
    	public Look() {
    		JPanel jpforbutton = new JPanel(new GridLayout(1, 1));
    
    		columnNames = new Vector();
    		columnNames.add("学号");
    		columnNames.add("姓名");
    		columnNames.add("出生时间");
    		columnNames.add("性别");
    		columnNames.add("数学成绩");
    		columnNames.add("英语成绩");
    		columnNames.add("数据结构成绩");
    		rowData = new Vector();
    
    		jpforbutton.add(buttonlook);
    		jpforbutton.add(buttonreturn);
    
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			conn = DriverManager.getConnection(DB_URL, USER, PASS);
    			ps = conn.prepareStatement("SELECT * FROM student");
    			res = ps.executeQuery();
    			while (res.next()) {
    				Vector hang = new Vector();
    				hang.add(res.getString(1));
    				hang.add(res.getString(2));
    				hang.add(res.getString(3));
    				hang.add(res.getString(4));
    				hang.add(res.getString(5));
    				hang.add(res.getString(6));
    				hang.add(res.getString(7));
    				rowData.add(hang);
    
    			}
    			System.out.println("成功载入");
    		} catch (Exception q) {
    			q.printStackTrace();
    			System.out.println("失败");
    		} finally {
    			try {
    				res.close();
    				ps.close();
    				conn.close();
    				System.out.println("成功关闭");
    			} catch (SQLException o) {
    				o.printStackTrace();
    				System.out.println("关闭失败");
    			}
    		}
    
    		jtable = new JTable(rowData, columnNames);
    		jscrollpane = new JScrollPane(jtable);
    
    		getContentPane().add(jscrollpane);
    		this.setTitle("浏览学生信息");
    		getContentPane().setLayout(new GridLayout(2, 5));
    		getContentPane().add(jpforbutton);
    		this.setLocation(300, 300);
    		this.setSize(500, 300);
    		this.setVisible(true);
    		this.setResizable(false);
    
    	}
    
    }
    

    信息修改

    在这里插入图片描述

    package First;
    
    import java.sql.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    import First.Window;
    
    public class Change extends JFrame {
    
    	String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    	String DB_URL = "jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezone=UTC";
    	String USER = "";
    	String PASS = "";
    
    	JLabel jlnumber = new JLabel("学号:");
    	JLabel jlname = new JLabel("姓名:");
    	JLabel jlage = new JLabel("\u51FA\u751F\u65F6\u95F4\uFF1A");
    	JLabel jlsex = new JLabel("性别:");
    	JLabel jlmath = new JLabel("数学成绩:");
    	JLabel jlenglish = new JLabel("\u82F1\u8BED\u6210\u7EE9\uFF1A");
    	JLabel jldata = new JLabel("\u6570\u636E\u7ED3\u6784\u6210\u7EE9\uFF1A");
    
    	JTextField jtnumber = new JTextField("", 20);
    	JTextField jtname = new JTextField("", 20);
    	JTextField jtage = new JTextField("", 20);
    	JTextField jtsex = new JTextField("", 20);
    	JTextField jtmath = new JTextField("", 20);
    	JTextField jtenglish = new JTextField();
    	JTextField jtdata = new JTextField();
    
    	JButton buttonchange = new JButton("修改");
    	JButton buttonreturn = new JButton("返回");
    	JPanel jpenglish = new JPanel();
    	JPanel jpdata = new JPanel();
    
    	public Change() {
    		jtdata.setBounds(169, 7, 113, 21);
    		jtdata.setColumns(10);
    		jtenglish.setBounds(174, 7, 115, 21);
    		jtenglish.setColumns(10);
    		JPanel jpnumber = new JPanel();
    		jpnumber.setBounds(0, 1, 336, 29);
    		JPanel jpname = new JPanel();
    		jpname.setBounds(0, 30, 336, 29);
    		JPanel jpage = new JPanel();
    		jpage.setBounds(0, 59, 336, 29);
    		JPanel jpsex = new JPanel();
    		jpsex.setBounds(0, 88, 336, 29);
    		JPanel jpmath = new JPanel();
    		jpmath.setBounds(0, 117, 336, 29);
    
    		jpnumber.add(jlnumber);
    		jpnumber.add(jtnumber);
    
    		jpname.add(jlname);
    		jpname.add(jtname);
    
    		jpage.add(jlage);
    		jpage.add(jtage);
    
    		jpsex.add(jlsex);
    		jpsex.add(jtsex);
    
    		jpmath.add(jlmath);
    		jpmath.add(jtmath);
    
    		jpenglish.add(jlenglish);
    		jpenglish.add(jtenglish);
    
    		jpdata.add(jldata);
    		jpdata.add(jtdata);
    
    		this.setTitle("修改学生信息");
    		getContentPane().setLayout(null);
    		getContentPane().add(jpnumber);
    		getContentPane().add(jpname);
    		getContentPane().add(jpage);
    		getContentPane().add(jpsex);
    		getContentPane().add(jpmath);
    		buttonchange.setBounds(0, 224, 168, 29);
    		getContentPane().add(buttonchange);
    		buttonreturn.setBounds(168, 224, 168, 29);
    		getContentPane().add(buttonreturn);
    		jpenglish.setBounds(0, 146, 336, 29);
    
    		getContentPane().add(jpenglish);
    		jpenglish.setLayout(null);
    		jlenglish.setBounds(73, 10, 67, 15);
    
    		jpenglish.add(jlenglish);
    
    		jpenglish.add(jtenglish);
    		jpdata.setBounds(0, 173, 336, 29);
    
    		getContentPane().add(jpdata);
    		jpdata.setLayout(null);
    		jldata.setBounds(68, 10, 91, 15);
    
    		jpdata.add(jldata);
    
    		jpdata.add(jtdata);
    
    		buttonreturn.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				dispose();
    			}
    		});
    
    		buttonchange.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				String sno = jtnumber.getText();
    				String name = jtname.getText();
    				String age = jtage.getText();
    				String sex = jtsex.getText();
    				String math = jtmath.getText();
    				String english = jtenglish.getText();
    				String data = jtdata.getText();
    
    				Connection conn = null;
    				ResultSet res = null;
    				Statement stat = null;
    
    				String sql = "SELECT sno,name,age,sex,math,english,data FROM student;";
    				try {
    					Class.forName(JDBC_DRIVER);
    
    				} catch (Exception d) {
    					System.out.println("连接失败");
    					d.printStackTrace();
    				}
    				try {
    					conn = DriverManager.getConnection(DB_URL, USER, PASS);
    					stat = conn.createStatement();
    					res = stat.executeQuery(sql);
    					while (res.next()) {
    						// change
    						if (res.getString(1).equals(jtnumber.getText())) {
    							try {
    								Class.forName(JDBC_DRIVER);
    							} catch (Exception d) {
    								System.out.println("连接失败");
    								d.printStackTrace();
    							}
    
    							String sql2 = "UPDATE student SET name='" + name + "'  WHERE sno='" + jtnumber.getText()
    									+ "'";
    							String sql3 = "UPDATE student SET age='" + age + "'  WHERE sno='" + jtnumber.getText()
    									+ "'";
    							String sql4 = "UPDATE student SET sex='" + sex + "'  WHERE sno='" + jtnumber.getText()
    									+ "'";
    							String sql5 = "UPDATE student SET math='" + math + "'  WHERE sno='" + jtnumber.getText()
    									+ "'";
    							String sql6 = "UPDATE student SET english='" + english + "'  WHERE sno='"
    									+ jtnumber.getText() + "'";
    							String sql7 = "UPDATE student SET data='" + data + "'  WHERE sno='" + jtnumber.getText()
    									+ "'";
    							try {
    								conn = DriverManager.getConnection(DB_URL, USER, PASS);
    								stat = conn.createStatement();
    								stat.executeUpdate(sql2);
    								stat.executeUpdate(sql3);
    								stat.executeUpdate(sql4);
    								stat.executeUpdate(sql5);
    								stat.executeUpdate(sql6);
    								stat.executeUpdate(sql7);
    							} catch (SQLException g) {
    								// TODO Auto-generated catch block
    								g.printStackTrace();
    							}
    							try {
    								stat.close();
    								conn.close();
    							} catch (SQLException ar) {
    								ar.printStackTrace();
    							}
    							break;
    						}
    						// change end
    					}
    				} catch (SQLException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    				} finally {
    					try {
    						conn.close();
    					} catch (SQLException ar) {
    						ar.printStackTrace();
    					}
    				}
    			}
    		});
    		this.setLocation(400, 300);
    		this.setSize(350, 300);
    		this.setVisible(true);
    
    	}
    
    }
    

    项目总结

    对JDBC访问数据库的技术使用更熟练以及有了对C/S架构的深入认识

    > 暂止于此

    展开全文
  • 创建学生信息表student、课程信息表course和学生成绩表score,并通过限制条件实现数据的完整性,并查看表结构。 5.在student表增加一个所在系(SDEPT)字段。增加一个手机号(TEL),要求取值唯一。 6.修改...

    如何在命令窗口复制粘贴
    鼠标移动到窗口边框然后右击在这里插入图片描述

    正文:
    1.启动SQL*Plus,以SYS身份连接默认数据库。
    2.创建一个用户默认表空间H1,并为该用户授相应的权限。
    在这里插入图片描述
    4.以新建用户身份连接默认数据库。创建学生信息表student、课程信息表course和学生成绩表score,并通过限制条件实现数据的完整性,并查看表结构。
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5.在student表增加一个所在系(SDEPT)字段。增加一个手机号(TEL),要求取值唯一。
    在这里插入图片描述
    6.修改student表的SNAME字段可以为空,SSEX字段默认值为男。
    在这里插入图片描述
    7.将字段TEL列删除。
    在这里插入图片描述
    8.在表中插入适当的数据。

    --向STUDENT表中插入数据
    insert all into student values('0811101','李勇','男',21,'计算机系')
    into student values('0811102','刘晨','男',20,'计算机系')
    into student values('0811103','王敏','女',20,'计算机系')
    into student values('0811104','张小红','女',19,'计算机系')
    into student values('0821102','吴宾','女',19,'信息管理系')
    into student values('0821103','张海','男',20,'信息管理系')
    into student values('0831101','钱小平','女',21,'通信工程系')
    into student values('0831102','王大力','男',20,'通信工程系')
    into student values('0831103','张珊珊','女',19,'通信工程系')
    select 1 from dual; 
    
    --向COURSE表中插入数据
    insert all into course values('c001','高等数学',4,1)
    into course values('c002','大学英语',3,1)
    into course values('c003','大学英语',3,2)
    into course values('c004','计算机文化学',2,2)
    into course values('c005','VB',2,3)
    into course values('c006','数据库基础',4,5)
    into course values('c007','数据结构',4,4)
    into course values('c008','计算机网络',4,4)
    select 1 from dual; 
    
    --向score表中插入数据
    insert all into  score  values('0811101','c001',96)
    into  score  values('0811101','c002',80)
    into  score  values('0811101','c003',84)
    into  score  values('0811101','c005',62)
    into  score  values('0811102','c001',92)
    into  score  values('0811102','c002',90)
    into  score  values('0811102','c004',84)
    into  score  values('0821102','c001',76)
    into  score  values('0821102','c004',85)
    into  score  values('0821102','c005',73)
    into  score  values('0821102','c007',NULL)
    into  score  values('0821103','c001',50)
    into  score  values('0821103','c004',80)
    into  score  values('0831101','c001',50)
    into  score  values('0831101','c004',80)
    into  score  values('0831102','c007',NULL)
    into  score  values('0831103','c007',NULL)
    into  score  values('0831103','c004',78)
    into  score  values('0831103','c005',65)
    select 1 from dual; 
    

    补:修改字段名

    sql>alter table 表名称 rename column 原始字段名 to 修改后字段名 
    

    eg:将score表的cno改为no

    sql>alter table score rename column cno to no 
    
    展开全文
  • Idea版本(源码+数据库脚本)java2020-7-18下载地址https://www.codedown123.com/30610.html为新学习 JSP 的开发爱好者小白写下这篇文章,教你若何创建一个自己的学生信息管理系统,可能有很多小白也在迷茫中,建议你...
  • 以下具体功能的介绍:(1):用户登录功能:验证用户登录的合法性,本系统分为教师登录和学生登录两种模式,从数据库中匹配相对应的用户信息,成功登录后自动跳转到主菜单页面 (2):用户管理:实现添加操作用户、修改...
  • JDBC操作数据库的步骤 1. 加载驱动。   Class.forName("com.mysql.jdbc.Driver");   2.创建连接。   Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306...
  • 学生学籍管理信息系统

    热门讨论 2009-05-28 14:51:27
    经过详细的调研,并多次与学生档案管理的老师进行研讨后,首先加深了对学生信息管理系统业务的深刻了解,其次在充分熟悉学生档案管理业务的同时,将整个学生档案管理的业务流程描述如下: ○1 新生入校,首先报到...
  • 2020七月实训GUI学生信息管理系统进一步完善遍历所有的用户信息与通过ID查询用户信息一、遍历用户信息2、具体操作步骤如下:3、进行java对数据库的操作 (关键部分):3、对该项目的结果进行测试功能快捷键合理的...
  • 练习概览:管理数据库存储结构5-29 6 管理用户安全性 课程目标6-2 数据库用户帐户6-3 预定义帐户:SYS 和SYSTEM 6-5 创建用户6-6 验证用户6-7 管理员验证6-9 解除用户帐户的锁定并重置口令6-10 权限6-11 系统权限6-...
  • 数据库实验报告

    2017-12-14 23:37:15
    (2)删除数据库中学号为’200213801’的退学学生有关信息。 (3)将计算机系学生2号课成绩全部提高5%。 查询数据SQL语句: (4)统计有学生选修的课程门数。 (5)统计HU老师所授每门课程的学生平均成绩。 (6)统计所有选修...
  • 本文通过用asp的编程环境编写学生信息管理与分析系统,利用软件工程原理,采用生命周期方法学,根据3NF的关系模式设计数据库表,用模块化设计方式将系统的各个功能模块层层分解,设计出系统的模块化结构,并根据...
  • 本文通过用asp的编程环境编写学生信息管理与分析系统,利用软件工程原理,采用生命周期方法学,根据3NF的关系模式设计数据库表,用模块化设计方式将系统的各个功能模块层层分解,设计出系统的模块化结构,并根据...
  • 设计学生学籍管理系统

    热门讨论 2009-07-05 18:28:22
    学生学籍管理工作主要是学生基本情况的管理包括学生学籍变动的管理(转入、转出、休学、复学、退学、调班、外出借读、借读、留级或跳级)、学生成绩的管理和教师基本信息管理和教课的管理,主要包括数据输入、修改...
  • 完成上述操作后,单击“确定”按钮关闭“新建数据库”窗口,即完成了数据库创建,可以在“对象资源管理器”窗格中看到新建的数据库。 (二)语言方式创建 SQL Server 使用的Transact-SQL语言是标准SQL的增强版本...
  • 数据库原理(第5版)

    千次下载 热门讨论 2011-11-08 13:41:53
    “Access工作台”部分在第1章中介绍了如何创建数据库和单个表,逐渐转移到不同主题,到最后第7章介绍相对于Microsoft Access数据库的Web数据库处理,和第8章介绍使用Microsoft Access和Microsoft Excel生成Pivot...
  • MySQL网络数据库指南

    2009-03-20 16:03:32
    1.4.5 创建数据库 14 1.4.6 创建表 15 1.4.7 增加新记录 26 1.4.8 检索信息 28 1.4.9 删除或更新现有记录 49 1.4.10 改变表的结构 50 1.5 与 mysql 交互的技巧 51 1.5.1 简化连接过程 51 1.5.2 以较少的键入发布查询...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    PGA区是在用户进程连接数据库创建一个会话时,由Oracle为用户分配的内存区域,保存当前用户私有的数据和控制信息,因此该区又称为私有全局区。每个服务器进程只能访问自己的PGA区,所有服务器进程PGA区总和即为...
  • MYSQL网络数据库PDF学习资源

    热门讨论 2009-08-09 19:56:31
    MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。 它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL ...
  • 20.7.3 图书信息管理程序设计 20.7.4 图书销售查询程序设计 20.8 疑难问题分析解决 20.8.1 在对话框中添加文档/视图架构 20.8.2 在基于对话框程序中实现打印及打印预览 20.9 异常处理 20.10 程序设计清单 20.11 技术...
  • 20.7.3 图书信息管理程序设计 20.7.4 图书销售查询程序设计 20.8 疑难问题分析解决 20.8.1 在对话框中添加文档/视图架构 20.8.2 在基于对话框程序中实现打印及打印预览 20.9 异常处理 20.10 程序设计清单 20.11 技术...
  • 7.3.7实现学生信息管理功能 7.3.8实现教师信息管理功能 7.3.9实现章节数据管理功能 7.3.10实现判断题数据管理功能 7.3.11实现填空题数据管理功能 7.3.12实现单选题数据管理功能 7.3.14实现试卷定制功能 7.3.15设计...
  • MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL ...
  • 该系统可用作大学的信息管理系统。 管理员为给定的注册员/职员/学生(技术/非技术)创建登录ID和密码,使用这些注册员/职员/学生(技术/非技术)可以访问系统以从数据库上载或下载某些信息。 前端将是带有Java...
  • 然后在第2章至第7章以多个实用的系统为例,详细地讲述管理信息系统创建的各个过程。内容包括停车收费管理系统、企业内部业务联系系统、KTV管理信息系统、三层客户管理系统、三层商品进销存管理系统和网络版图书管理...
  • 毕业设计管理系统

    2015-04-12 15:17:38
    介绍了ADO实现对数据库连接并读取数据的技术,讨论了复杂SQL连接、存储过程和临时表的创建方法,实现了对话框和Tab控件联合的框架,实现了用户基本信息管理,课题编辑,学生选题,信息统计等各数据报表的打印输出。
  • 无论您是学生还是数据库领域的从业人员,都可从《SQL Server 2008管理员必备指南》获得解决问题和完成工作所需的信息。 《SQL Server 2008管理员必备指南》重要主题: 规划、部署和配置SQL Server 2008 管理服务器,...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 213
精华内容 85
关键字:

学生信息管理数据库如何创建