java习题:使用mysql数据库创建学生信息表

java习题:使用mysql数据库创建学生信息表,第1张

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 ---将表中的所有记录,按照成绩从小到大顺序排列

能帮你的只有这些,望采纳!

(1)只要安装了PWS或IIS4肯定有ACCESS的ODBC驱动,即你的系统肯定支持ACCESS数据库的存取。

(2)ACCESS支持的SQL指令非常齐全。

(3)ACCESS ODBC驱动程序的效率非常高。虽然它不是服务器级的数据库,但是作为中小型企业内部网的数据库支持还是绰绰有余的。

(4)ACCESS97在OFFICE97中就有,非常方便得到和使用。

我做过一个你所说的情况。情况是:原有一个网站了,有一个数据库,后来要求在这网站新增一个模版,这模块与原来网站没什么关联,只是共用用户系统。所以我做时,为新模版单独做了一个数据库。

新建立数据库优点:

主要是方便数据库管理;

能避免误 *** 作影响原来的数据库;

新模版上线时,能直接把新模版的数据库附加到在线数据库;

如果是在原来的数据库基础加表的话, *** 作就非常不方便,虽然说可以用命令建立表,不需要手动添加表,但也不能100%保证你不会误 *** 作。

个人见解,缺点:

数据完整性不好控制,比如共用的用户系统,如果我新建立的数据库中的某个表的某个字段是原来数据库某个表的外键,我就没办法实实在在地建立外键关系,没办法保证数据完整性。

级连 *** 作不方便,比如说原来数据库中的某个表添加了一条记录或更新了一条记录,功能要求在新数据库某个表也添加一条记录(或更新记录),这时我就不方便直接用触发器解决这个问题,改用程序控制的话显得更加麻烦,也不好控制回滚事件。

数据查询不直接,比如说查询新数据库某个表的记录时,如果该记录某个字段是外键,对就主键是原来数据库中某个表的主键,这时候查询就麻烦了。我也不知道有没有联库查表的函数。当然可以把数据绑到页面或临时表时再根据外键数据查询主键表数据再绑定,这效率会有点低。

这是个人见解,不正确之处请指出。

SQL语句:

CREATE

TABLE

表名称

(

列名称1

数据类型,

列名称2

数据类型,

列名称3

数据类型,

)

举个例子:

学生基本信息表中有学生学号,学生姓名。假设这里学号为6位整数数字形式,姓名都是字符形式,且不超过4个汉字,那么就可以这样写:

create

table studentinfo

(

学号

int(6),

姓名

char(8)

)

主要是数据块IO问题,过多的字段会导致你的一条记录过长,这样有可能在存储的时候大量的数据分成了多个数据块存储。

因为是个人信息表,我想每个字段的信息可能是比较长的

如果经常用于查询,建议不要使用宽表

我想,并不是每一次都要求查询那么多字段吧

你可以考虑把经常查询的字段和不经常查询的字段分开存储,另外可以按照查询种类区分,例如自然属性、账务数据、联络信息等等分开放。必要的时候再做多表关联。事实上,如果一次只查几个人的信息,通过ID做多表关联非常快的。

1数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多。

2通过表的关系,来帮助我们怎样建表,建几张表。

一对一

一张表的一条记录一定只能与另外一张表的一条记录进行对应,反之亦然。

学生表:姓名,性别,年龄,身高,体重,籍贯,家庭住址,紧急联系人

其中姓名、性别、年龄、身高,体重属于常用数据,但是籍贯、住址和联系人为不常用数据

如果每次查询都是查询所有数据,不常用的数据就会影响效率,实际又不用

常用信息表:ID(P),姓名,性别,年龄,身高,体重

不常用信息表:ID(P),籍贯,家庭住址,紧急联系人

解决方案:将常用的和不常用的信息分享存储,分成两张表

不常用信息表和常用信息表,保证不常用信息表与常用信息表能够对应上:找一个具有唯一性的

字段来共同连接两张表。

一个常用表中的一条记录永远只能在一张不常用表中匹配一条记录,反之亦然。

一对多

一张表中有一条记录可以对应另外一张表中的多条记录;但是反过来,另外一张表的一条记录

只能对应第一张表的一条记录,这种关系就是一对多或多对一

母亲与孩子的关系:母亲,孩子两个实体

母亲表:ID(P),名字,年龄,性别

孩子表:ID(P),名字,年龄,性别

以上关系:一个妈妈可以在孩子表中找到多条记录(也可能是一条),但是一个孩子只能找到一个妈妈

是一种典型的一对多的关系。

但是以上设计:解决了实体的设计表问题,但是没有解决关系问题,孩子找不到母亲,母亲也找不到孩子

解决方案:在某一张表中增加一个字段,能够找到另外一张表中的记录:在孩子表中增加一个字段

指向母亲表,因为孩子表的记录只能匹配到一条母亲表的记录。

母亲表:ID(P),名字,年龄,性别

孩子表:ID(P),名字,年龄,性别,母亲表ID(母亲表主键)

多对多

一对表中(A)的一条记录能够对应另外一张表(B)中的多条记录;同时B表中的一条记录

也能对应A表中的多条记录

老师和学生

老师表 T_ID(P),姓名,性别

学生表 S_ID(P),姓名,性别

以上设计方案:实现了实体的设计,但是没有维护实体的关系

一个老师教过多个学生,一个学生也被多个老师教过

解决方案:增加一张中间关系表

老师与学生的关系表:ID(P),T_ID,S_ID

老师表与中间表形成一对多的关系,而中间表是多表;维护了能够唯一找到一表的关系;

同样的学生表与中间表也是一个一对多的关系;

学生找老师:找出学生ID--->中间表寻找匹配记录(多条)--->老师表匹配(一条)

老师找学生:找出老师ID--->中间表寻找匹配记录(多条)--->学生表匹配(一条)

怎样用SQL语句查询一个数据库中的所有表

--读取库中的所有表名select name from sysobjects where xtype='u'--读取指定表的所有列名select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')获取数据库表名和字段sqlserver中各个系统表的作用sysaltfiles 主数据库 保存数据库的文件syscharsets 主数据库 字符集与排序顺序sysconfigures 主数据库 配置选项syscurconfigs 主数据库 当前配置选项sysdatabases 主数据库 服务器中的数据库syslanguages 主数据库 语言syslogins 主数据库 登陆帐号信息sysoledbusers 主数据库 链接服务器登陆信息sysprocesses 主数据库 进程sysremotelogins主数据库 远程登录帐号syscolumns 每个数据库 列sysconstrains 每个数据库 限制sysfilegroups 每个数据库 文件组sysfiles 每个数据库 文件sysforeignkeys 每个数据库 外部关键字sysindexs 每个数据库 索引sy enbers 每个数据库 角色成员sysobjects 每个数据库 所有数据库对象syspermissions 每个数据库 权限systypes 每个数据库 用户定义数据类型select 列名=name from syscolumns where id=object_id(N'要查的表名')

如何查看oracle数据库中的所有表

觉得你应该先弄清楚oracle的常规数据字典的结构,像9i里的常规数据字典中对象名称就有以USER,ALL,DBA为前缀的对象。

以USER为例,我们查该对象下有些什么表,就应该执行下列的语句:

SQL>select table_name from user_tables;

类似的,你可以进行替换。:)

如果你想查数据库中所有的表的话,可以查询

SELECT FROM dba_tables

如果你想查询数据库中某个用户下的表的话,也可以登录这个用户,再查询:

SELECT FROM USER_TABLES

要想导入外部sql语句可以用命令

sql >@e:\文件名sql

如你想保存 select from tablename;语句的结果,可以在sqlplus 里面这样:

SPOOL c:\testsql 这是保存文件的位置

select from tablename;

SPOOL OFF

mysql如何进入数据库查看所有表

mysql> use my_db;

mysql> select from rmation_schematables t where ttable_schema='my_db';

--大概

Mysql> create table lala (la_id int ,la_name varchar(55) primary(id)) enginee=innodb

怎样看SQL数据库中哪些表有数据

什么数据库

1

select from rmation_schematables

2

select table_name from user_all_tables

-------------------------

CREATE PROCEDURE get_table AS

if not exists (select from dbosysobjects where id = object_id(N'[dbo][tablespace]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

create table tablespace --创建结果存储表

(name varchar(50) ,

rows int , reserved varchar(20) ,

data varchar(20) ,

index_size varchar(20) ,

unused varchar(20) )

truncate table tablespace --清空数据表

--这里关键部分把存储过程的结果放到一个表里

insert into tablespace exec sp_MSforeachtable "exec sp_spaceused ''"

go

查询运行该存储过程后得到的结果

select from tablespace order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc

以上就是关于java习题:使用mysql数据库创建学生信息表全部的内容,包括:java习题:使用mysql数据库创建学生信息表、怎样用Access数据库做个客户信息表、一个网站下有多个数据库,每个数据库里都有用户信息表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9507926.html

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

发表评论

登录后才能评论

评论列表(0条)

保存