zoukankan      html  css  js  c++  java
  • SqlServer数据库基本用法

    1. 利用T-SQL语句,创建数据库(工资管理数据库),要求如下:
    数据库初始大小:3MB;文件大小按兆字节3MB自动增长,增长限制为:15MB;
    数据库日志文件初始大小:1MB;
    文件大小按百分比5%自动增长,增长限制为:10MB;
    设定数据库文件保存路径为D:gzgl,其余为默认。
    
    create database 工资管理数据库
    on
    (name=工资管理数据库,
    filename='D:gzgl工资管理数据库.mdf',
    size=3mb,
    maxsize=15mb,
    filegrowth=3mb
    )
    log on
    (name=工资管理数据库_log,
    filename='D:gzgl工资管理数据库_log.ldf',
    size=1mb,
    maxsize=10mb,
    filegrowth=5%
    )
    
    2. 利用T-SQL语句,在新建数据库中,创建以下三个表,表结构如下:
    表“部门信息表”
    列名    数据类型    长度    是否空值    约束
    编号    Char                否        主键
    名称    varChar        20          否    
    电话    Char        12use 工资管理数据库
    go
    create table 部门信息表
    (编号 Char(5) primary key not null,
    名称 varChar(20) not null,
    电话 Char(12) not null
    )
    
    表“员工信息表”
    列名    数据类型    长度    是否空值    约束
    编号    Char         11        否        主键
    姓名    nChar         8            否    
    性别    nChar         1[男,女]
    出生日期Datetime     8            是    
    部门编号char         5            否        外键
    电话    Char         12        否       唯一索引
    注:部门编号参照’部门信息表.编号’为外键,性别默认值为“男”
    
    use 工资管理数据库
    go
    create table 员工信息表
    (编号 Char(11) primary key not null,
    姓名 nChar(8) not null,
    性别 nChar(1) check(性别=''or 性别='') default('') not null,
    出生日期 Datetime not null,
    部门编号 char(5) foreign key references 部门信息表(编号) not null,
    电话 Char(12) unique not null
    )
    
    表“工资表”
    列名    数据类型    长度    是否空值    约束
    员工编号    Char    11            否       主键
    基本工资    Decimal(6,2)        是    
    奖金    Decimal    (6,2)        是    
    扣除    Decimal    (6,2)        是      [0,1000]
    说明:设置‘员工编号’参照“员工信息表.编号”为外键约束;
    
    use 工资管理数据库
    go
    create table 工资表
    (员工编号 char(11) not null primary key foreign key references 员工信息表(编号),
    基本工资 decimal(6,2) not null,
    奖金 decimal(6,2) not null,
    扣除 decimal(6,2) check(扣除>0 and 扣除<1000) not null
    )
    
    3.使用insert 语句向表中插入1条记录
    
    insert into 部门信息表
    values ('06','刘华奇','123456')
    go
    
    4.使用update语句更新表中的数据
    
    update 工资表 set 基本工资=基本工资*1.2
    go
    )
    
    5,查找每位教师的信息
    select *
    from 教师信息表
    go
    
    6,查找每位学生的学号,姓名,性别,出生日期 
    select 学号,姓名,性别,出生日期
    from 学生信息表
    go
    
    7,查找每位学生的学号,姓名,性别,年龄
    select 学号,姓名,性别,'年龄'=year(getdate())-year(出生日期)
    from 学生信息表
    go
    
    8,查找年龄>30的所有女生的信息,
    
    select *
    from 学生信息表
    where 性别='' and year(getdate())-year(出生日期)>30
    go
    
    9. 计算教学成绩表中每位同学的期末总评=30+分数*0.7
    
    select 学号, '期末总评'=30+分数*0.7
    from 教学成绩表
    go
    
    10. 列出教学成绩表中所有学生课程的分数在70~90的学号,课程编号和分数
    
    select 学号,课程编号,分数
    from 教学成绩表
    where 课程编号='900013' and 分数>=70 and 分数<=90
    go
    
    
    11. 查询学生信息表中籍贯中包含‘山’字符的同学信息
    
    select *
    from 学生信息表
    where 籍贯 like '%山%'
    go

    ① 查询 yiqi_product 表中 cid 为 16 且 名称中含有 钢结构的信息

    SELECT * FROM `yiqi_product` WHERE cid = '116' and name LIKE '%钢结构%'
    12、利用T-SQL语句,将员工编号为的员工姓名改为“张三丰”。 update 员工信息表 set 姓名='张三丰' where 编号='01' go 13、利用T-SQL语句,将工资表中基本工资〈,奖金<2000的扣除项改为. update 工资表 set 扣除 =1000 where 基本工资<3000 and 奖金<2000 go 14、利用T-SQL语句,删除员工信息表中部门编号为的男性员工的信息。 delete 员工信息表 where 部门编号='001' go 15、查询学生信息表的前条记录 select top 10 percent * from 学生信息表 go 16、将课程的成绩按从大到小排序 (asc:升序, desc:降序 ) select * from 教学成绩表 where 课程编号='900001' order by 分数 desc go 17. 查询各科的平均分>70的课程名称 select 名称, avg(分数) from 教学成绩表 join 课程信息表 on 教学成绩表.课程编号=课程信息表.编号 group by 名称 having avg(分数)>70 18. 查询每位同学的学号,姓名,课程编号和分数 select 教学成绩表.学号,姓名,课程编号,分数 from 学生信息表 join 教学成绩表 on 教学成绩表.学号=学生信息表.学号 19. 查询每位同学的学号,姓名,课程编号,课程名称和分数 select 教学成绩表.学号,姓名,课程编号,分数,名称 from 学生信息表 join 教学成绩表 on 教学成绩表.学号=学生信息表.学号 join 课程信息表 on 课程信息表.编号=教学成绩表.课程编号 20. 查询参加计算机网络技术考试的学生学号和分数 select 学号,分数 from 教学成绩表 cross join 课程信息表 where 名称='计算机网络技术' 21. 统计每位教师所教课程的平均分(教师姓名,课程名称,平均分) select 姓名,名称,'平均分'=AVG(分数) from 教学成绩表 join 课程信息表 on 教学成绩表.课程编号=课程信息表.编号 join 教师信息表 on 教师信息表.编号=教学成绩表.教师编号 group by 姓名,名称 22. 建立索引 IX_name,按照学生信息表的姓名查询时,提升查询速度 create index IX_name on 学生信息表(姓名) 23.创建存储过程,名称为pr_1 create procedure pr_1 as select * from 学生信息表 24. 统计每科的考试分数的平均分,最高分和参加考试人数 create view view_4 as select 名称,平均分=avg(分数),最高分=max(分数),参加考试人数=count(*) from 教学成绩表 join 课程信息表 on 课程信息表.编号=教学成绩表.课程编号 group by 名称

     

  • 相关阅读:
    迷 宫
    车厢调度
    快速幂
    2804 最大最小数质因数
    3022 西天收费站
    2291 糖果堆
    1464 装箱问题 2
    Exists/In/Any/All/Contains操作符
    window.onscroll
    zIndex 属性设置元素的堆叠顺序。
  • 原文地址:https://www.cnblogs.com/xinlvtian/p/8045100.html
Copyright © 2011-2022 走看看