加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer数据库.后台.增删改查数据表

发布时间:2020-12-12 13:49:40 所属栏目:MsSql教程 来源:网络整理
导读:创建表操作 create table 学生信息表 ( 学号 varchar(20) not null primary key, 姓名 varchar(50), 性别 varchar(4), 出生日期 datetime, 班级 int, ) create table 课程表 ( 课程号 varchar(20) not null primary key, 课程名 varchar(20), 老师号 varchar

创建表操作

create table 学生信息表
(
学号 varchar(20) not null primary key,
姓名 varchar(50),
性别 varchar(4),
出生日期 datetime,
班级 int,
)
create table 课程表
(
课程号 varchar(20) not null primary key,
课程名 varchar(20),
老师号 varchar(20)
)
create table 成绩表
(
学号 varchar(20) not null foreign key references 学生信息表(学号),
课程号 varchar(20) not null foreign key references 课程表(课程号),
成绩 int

)

在表中插入信息.01

insert 学生信息表

values('101','李军','男','1976-02-20','95033')

insert 学生信息表

values('103','陆君','1974-06-03','95031')

insert 学生信息表

values('105','匡明','1975-10-02','95031')

insert 学生信息表

values('107','王丽','女','1976-01-23','95033')

insert 学生信息表

values('108','曾华','1976-09-01','95033')

insert 学生信息表

values('109','王芳','1976-02-10','95031')

查询该表中的所有列

select *
from 学生信息表

insert 课程表

values('3-105','计算机导论','825')

insert 课程表

values('3-245','操作系统','804')

insert 课程表

values('6-166','数字电路','856')

select *

from 课程表

在表中插入信息.02

insert 成绩表
values('101','3-105',64)
select *
from 成绩表

insert 成绩表
values('101','6-166',85)
insert 成绩表
values('103',92)
insert 成绩表
values('103','3-245',86)
insert 成绩表
values('105',88)
insert 成绩表
values('105',75)
insert 成绩表
values('107',91)
insert 成绩表
values('107',79)
insert 成绩表
values('108',78)
insert 成绩表
values('108',81)
insert 成绩表
values('109',76)
insert 成绩表
values('109',68)

select *

from 成绩表

create table 学生信息表
(
学号 varchar(20) not null primary key,
成绩 int

)

insert 学生信息表

values('101','95031')

select *

from 学生信息表

insert 课程表

values('3-105','856')

select *

from 课程表

insert 成绩表
values('101',64)
select *

from 成绩表

insert 成绩表
values('101',68)

select *

from 成绩表

select 学号,姓名

from 学生信息表

查看该表的指定列

select

学号     as'xuehao',姓名     as'xingming',性别     as'xingbie',出生日期 as'chushengri',班级     as'banji'
from 学生信息表

select *

from 学生信息表

select 学生号,成绩

from 成绩表

select 学生号,成绩
into newtable
from 成绩表

select 姓名,'年龄',2015-datepart(yy,出生日期)

from 学生信息表]

查看该表的所有列,并过滤掉重复的部分

select distinct 学生号

from 成绩表

查看该表的所有列,显示前4排数据

select top 4 *

from 成绩表

查看该表的指定列,用关键词过滤,结果按成绩倒序排列

select 学生号,成绩

from 成绩表

where 课程号='3-105'
 order by 成绩 desc

查询该表的所有列,结果用班级、出生日期顺序排列

select *

from 学生信息表

order by 班级,出生日期

查询该表的指定列,用关键、>过滤.01

select 学号,姓名

from 学生信息表

where 出生日期>'1975-01-01'

查询该表的指定列,用关键字、<=过滤.02

select 学号,姓

from 学生信息表

where not 出生日期<='1975-01-01'

查询该表的所有列,用关键字、between and过滤.01

select *

from 成绩表

where 成绩between 60 and 80

查询该表的所有列,用关键字、between and过滤.02

select *

from 成绩表

where 成绩not between 60 and 80

-

查询该表的所有列,用关键字、in过滤

select *

from 成绩表

where 成绩in (85,90,95)

查询该表的所有列,用关键字、like过滤

select *

from 学生信息表

where 学号like '101'

查询该表的所有列,用关键字、like、%过滤

select 姓名,学号,性别

from 学生信息表

where 姓名like '王%'

查询该表的指定列,用关键字、is not null过滤

select 学号,课程号
from 成绩表
where 成绩is not null

查询该表的指定列,用关键字、>=、<=过滤

select *

from 成绩表

where 成绩>=60 and 成绩<=80

查询该表的所有列,用关键字、and、=过滤

select *

from 学生信息表

where 性别='女'  and 班级='95033'

查询该表的所有列,并统计有多少行

select count(*)

from 学生信息表

查询该表的指定列,并统计有多少行

select count(学号)

from 学生信息表

查询该表的指定不重复列,并统计有多少行

select count(distinct 班级)

from 学生信息表

查询该表的指定列的平均值,用关键词、=过滤

select avg(成绩)
from 成绩表
where 课程号='3-105'

查询该表的指定列,查询结果按关键字顺序排列

select 课程号,count(*) as '选修课人数'
from 成绩表
group by 课程号

查询.高难度.01

select 学号,count(*)
from 成绩表

where 成绩> 85
      group by 学号
            having count(*)>= 2

查询.高难度.02

select *
from 学生信息表
where 班级in

(
     select 班级
     from  学生信息表
     where 姓名='王芳'
    )

查询.高难度.03

select 学号,姓名
from 学生信息表

where 学号 in
     (
        select 学号
        from  成绩表
        where  课程号='3-105'
      )

查询.高难度.04

use 学生库
select *
from 学生信息表

where 班级= (
            select 班级
            from 学生信息表
            where   姓名= '王芳'
           )

查询.高难度.05

select 姓名出生日期
from 学生信息表
where 出生日期> any (

select 出生日期
                   from  学生信息表
                   where 班级= '95031'
                  )

查询.高难度.06

select 姓名出生日期
from 学生信息表
where 出生日期> (

select max(出生日期)
                   from  学生信息表
                   where 班级= '95031'
                  )

查询.高难度.07

select 姓名
from 学生信息表
where exists

(
        select *
        from 成绩表
        where 学号= 学生信息表.学号and 课程号= '3-425' 
       )

由相关表查询数据,需将表进行连接 外连接(左外连接,有外连接,全外连接);内连接(自然连接) 即在两张表上查询数据,同时调用
两张表以上非嵌套查询(相关子查询;子查询)
查询学生的 学生信息表和成绩表的全部数据
select 学生信息表.,成绩表.
from 学生信息表,成绩表
where 学生信息表.学号=成绩表.学号

选修课3-105的成绩高于学号109的所有学生记录
select x.,y.
from 成绩表x,成绩表y
where x.课程号= '3-105' and y.课程号='3-105' and y.学号='109' and x.成绩> y.成绩
order by x.成绩 desc

select x.,y.
from 成绩表x inner join 成绩表y
on x.课程号= '3-105' and y.课程号='3-105' and y.学号='109' and x.成绩> y.成绩

select 成绩表.,成绩表.
from 学生信息表inner join 成绩表
on 学生信息表.学号=成绩表.学号 and 成绩表.课程号='3-105' and 成绩表.成绩>90

select 学生信息表.学号,姓名,课程名,成绩
from 学生信息表,课程表,成绩表
where 学生信息表.学号= 成绩表.学号 and 课程表.课程号= 成绩表.课程号

select 学生信息表.学号,成绩
from 学生信息表inner join 成绩表 on 学生信息表.学号=成绩表.学号 inner join 课程表
on 课程表.课程号=成绩表.课程号

将学号是101的同学的姓名改为 李军

update 学生信息表
set 姓名='李军改'
where 学号='101'

update 学生信息表
set 姓名='李军'
where 学号='101'

更改成绩表,设置成绩为加上20分.01

update 成绩表
set 成绩=成绩+20

更改成绩表,设置成绩为减去20分.02

update 成绩表
set 成绩=成绩-20

删除学号是1001的同学的所有数据.01

delete
from 成绩表
where 学号='1001'

删除表中的一行数据.02

delete 成绩表
where 学号='1001'

删除表中 学号属性值是1001 的那一行.03

delete 成绩表from 成绩表where 学号='1001'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读