1、创建一个数据库StudentManage, 初始化大小10M,不足以1M每次增长
create database StudentManage
on
(
name = 'StudentManage_data',
filename = 'D:\StudentManage_data.mdf',
size = 10mb,
maxsize = 100mb,
filegrowth = 15%
)
log on
(
name = 'StudentManage_log',
filename = 'D:\StudentManage_log.ldf',
size = 2mb,
filegrowth = 1mb
)
2、其中表结构包括
学生信息表:StudentInfo
( 学生ID(主键),
所在班级ID(外键约束),
学生姓名(非空约束),
性别(检查约束(男,女)),
年龄(检查约束(6-30)),
身份证号(检查约束),
家庭地址(默认值‘地址不详’))
create table StudentInfo
(
StuId varchar(10) primary key,
ClassId varchar(8) foreign key references ClassInfo(ClassId),
StuName varchar(6) not null,
Sex varchar(4) default '男' check(Sex='男'or Sex='女'),
Age smallint check(Age>0 and Age<36),
IdNum char(18) check(IdNum like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9,X]'),
StuAddress nvarchar(50) default '地址不详',
)
教师信息表:TeacherInfo
(教师ID(主键),
教师姓名(非空约束),
性别(检查约束(男,女)),
年龄(检查约束(25-60)),
身份证号(检查约束),
教学方向
家庭地址(默认值‘地址不详’))
create table TeacherInfo
(
TecId varchar(10) primary key,
TecName varchar(8) not null,
Sex varchar(4) default '男' check(Sex='男' or Sex='女'),
Age smallint check(Age>25 and Age<60),
IdNum char(18) check(IdNum like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9,X]'),
TecWhat nvarchar(8) not null,
TecAddress nvarchar(50) default '地址不详',
)
班级信息表:ClassInfo
(班级ID(主键),
班级名称(非空约束),
班级人数(15-60),
入校时间,
毕业时间
)
use StudentManage
create table ClassInfo
(
ClassId varchar(8) primary key,
ClassName varchar(8) not null,
CstuNum int,
InDate date,
GraduDate date
)
课程信息表:CourseInfo
(课程ID(主键),
课程名称(非空约束),
)
create table CourseInfo
(
CourId varchar(8) primary key,
CourName varchar(8) not null
)
考分信息表:Scores
(ID(标识列,(1, 1)),
学生ID(外键约束),
教师ID(外键约束),
考试批次,--第一次考还是补考?
分数(0-100)
)
create table ScoresInfo
(
ScoreId int primary key identity(1,1),
StuId varchar(10) foreign key references StudentInfo(StuId),
TecId varchar(10) foreign key references TeacherInfo(TecId),
PiCi varchar(8),
Score smallint check(Score>=0 and Score <=100)
)
3、以上的每个表至少加入3条以上的记录
use StudentManage
--向班级表插入三条数据
insert into ClassInfo
values('101','计算机',50,'2010-09-09','2014-10-10')
insert into ClassInfo
values('102','嵌入式',50,'2010-09-09','2014-10-10')
insert into ClassInfo
values('103','网络安全',50,'2010-09-09','2014-10-10')
--向学生信息表里插入数据
insert into StudentInfo
values('144712190','101','武索普','男',18,'411481199012102908',default)
insert into StudentInfo
values('144712221','102','路飞','男',18,'211481199012102593',default)
insert into StudentInfo
values('144712321','103','罗宾','女',18,'511481199012102908',default)
--向教师信息表里插入数据
insert into TeacherInfo
values('541001','白胡子','男',50,'123456789098765432','震震大地',default)
insert into TeacherInfo
values('541002','罗利','男',50,'323456789098765432','催眠掌',default)
insert into TeacherInfo
values('541003','帝喾克','女',26,'523456789098765432','媚眼',default)
--向课程信息表里插入数据
insert into CourseInfo
values('101','气武镜')
insert into CourseInfo
values('102','玄武镜')
insert into CourseInfo
values('103','灵武镜')
insert into CourseInfo
values('104','天武镜')
--向成绩表里插入数据
insert into ScoresInfo
values('144712190','541001','第一批',100)
insert into ScoresInfo
values('144712221','541002','第一批',100)
insert into ScoresInfo
values('144712321','541003','第一批',100)
- 常用sql语句总结(二)(更新数据,序列,创建数据表,约束,注释)
常用sql语句总结(二)(更新数据,序列,创建数据表,约束,注释) 一. 增 INSERT INTO 数据表(字段,字段,-) VALUES(值,值-); INSERT INTO emp(empno, ...
- sql语句小记录
测试过程中,需要去数据库中查询一些结果,比如验证码 常用的是查询 更新比较少用 删除一般不用 sql查询语句的嵌套用法,比较实用 比如in的用法:第一种:查询多个值时 SELECT "栏位名 ...
- SQL语句小总结
无论是面试过程中,还是未来工作中,SQL都是一定会考到和用到的.所以,在此对之前看过的一些SQL知识点进行一下总结和记录,算是起到一个笔记本的作用.没有深入学习过SQL的和对SQL印象不太深的朋友可以 ...
- SQL语句汇总(二)——数据修改、数据查询
SQL语句第二篇,不说废话直接开始吧. 首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述. 添加新数据: INSERT INTO <表名> (<列名列表>) VA ...
- SQL语句学习(二)
为一张表添加外键: 这里我们希望再建一张订单的表为t_order,包含order_id,customer_id和price: ) NOT NULL auto_increment PRIMARY KEY ...
- mysql使用基础 sql语句与数据完整性(二)
二.DML:Data Manipulation Language 数据操作语言 作用:操作表中的数据的. 关键:INSERT UPDATE DELETE 注意:日期或字符串.字符要使用单引号引起来. ...
- SQL 语句优化—— (二) 索引的利用
索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度.索引包含由表或视图中的一列或多列生成的键.与书中的索引一样,数据库中的索引使您可以快速找到表或索引视图中的特定信息.索引包含从表或视 ...
- sql语句小练习一
create database aaa go use aaa go create table student( sno varchar(3), sname varchar(4) not null ...
- SQL语句(十二)分组查询
(十二)分组查询 将数据表中的数据按某种条件分成组,按组显示统计信息 查询各班学生的最大年龄.最小年龄.平均年龄和人数 分组 SELECT <字段名表1> FROM <表名> ...
随机推荐
- Jquery each和map 的区别
1,回调函数的参数顺序相反,each:i,elem,map:elem,i 2,返回值不同,map返回一个新的数组,each返回原始数组 回调的返回值,each只能返回 true 和 false,map ...
- bug_ _小心android-support-v4.jar版本混乱造成的NoClassDefFoundError
当你的项目出现以下红色提示的时候,要小心了, 因为很可能因为这个错误而导致解释不通的异常出现. Found 2 versions of android-support-v4.jar in the de ...
- Apache2 CGI demo
1. 修改 httpd.conf 配置 <IfModule alias_module> ScriptAlias /cgi-bin/ "/usr/local/apache2/cg ...
- STM32中断控制及优先级设置
M3用8bits而STM32用高四位来表示抢占和子优先级:bit=1表示抢占:bit=0表示非抢占即子优先级:所以共有5中方案分组: 分组 Bit7 Bit6 Bit5 Bit4 说明: 第0组 ...
- laravel加入验证码类几种方法 && Laravel引入第三方库的方法
1,使用require , inlcude 的方法将验证码类文件包含进来,再进行new 2,将验证码类文件放于Http目录下面,也就是和控制器controller放在一个目录下面,在验证码类文件中加上 ...
- cookie和会话状态的工作原理
一:存在两种类型的cookie: 1>会话cookie (session cookie) 不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口, ...
- NSMutableAttributedString 设置不同颜色,不同字体的String
UILabel *infoLabel = [[UILabel alloc]initWithFrame:CGRectMake(95, 20, 190, 70)]; infoLabel.backgroun ...
- context.Request.Files为NULL问题
在实现图片上传功能的时候出现在ashx等处理页面出现context.Request.Files为NULL异常,有几点需要注意: 1.在客户端可以将form用submit提交,如下: <%@ Pa ...
- nyoj 86 找球号(一)
点击打开链接 找球号(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i ...
- ListView之setEmptyView的问题
使用listView或者gridView时,当列表为空时,有时需要显示一个特殊的empty view来提示用户,一般情况下,如果你是继承ListActivity,只要 <ListView and ...