提示:SQL server 指令与示例
文章目录
目录
前言
提示:给我自己做的笔记内容,通过示例记忆:
例如:SQL server 2012,基础学习笔记 。
示例:学生选课(源码:如下)
源码:点击
word文档:点击
1. 数据类型
2. 填入数据
提示:以下是本篇文章正文内容,下面案例可供参考
一、数据库
1.创建数据库
--/*新建数据库*/
--create database test1
--on
--(
-- name=test1,
-- filename='D:\data\3-31\test1.mdf',
-- size=10mb,
-- maxsize=30mb,
-- filegrowth=1mb
--)
--log on
--(
-- name=test1_log,
-- filename='D:\data\3-31\test1_log.ldf',
-- size=10mb,
-- maxsize=30mb,
-- filegrowth=2mb
--)
--查看数据库详细
--sp_helpdb test1
附录:
2.修改数据库
--附录:
-- alter database [数据库名] --修改数据库
/*
add file --增加数据文件到数据库
add log file --增加事务日志文件到数据库
remove file --删除文件
remove filegroup --删除文件组
add filegroup --增加文件组
modify file --更改文件属性
modify name=[名称] --数据库更名
*/
示例:
--数据库更名
--alter database test1
--modify name=testOne
--go
--添加数据文件
--alter database testOne
--add file
--(
-- name=testEnd,
-- filename='D:\data\3-31\testEnd.ndf',
-- size=5mb,
-- maxsize=10mb,
-- filegrowth=10%
--)
--sp_helpdb testOne
结果:
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、表和表数据
1.创建表
代码如下(示例):
--创建表(学生选课)
--use testOne
--go
----学生
--create table Student
--(
-- Sno char(3) not null primary key,
-- Sname char(8) not null,
-- Ssex char(2) not null,
-- Sbirthday datetime null,
-- Class char(5) null
--)
--go
----教师
--create table Teacher
--(
-- Tno char(3) not null primary key,
-- Tname char(4) not null,
-- Tsex char(2) not null,
-- Tbrithday datetime null,
-- Prof char(6) null,
-- Depart varchar(10) not null
--)
--go
--create table Course
--(
-- Cno char(5) not null primary key,
-- Cname varchar(10) not null,
-- Tno char(3) not null foreign key references Teacher(Tno)
--)
--go
--create table Score
--(
-- Sno char(3) not null foreign key references Student(Sno),
-- Cno char(5) not null foreign key references Course(Cno),
-- Degree decimal(4,1) null
--)
--go
--select * from Student
--select * from Teacher
--select * from Course
--select * from Score
2.修改表
代码如下(示例):点击
3.插入表数据
代码如下:
--插入表的数据
--use testOne
--go
--insert Student
--values('108','曾华','男','1977-09-01','95033'),
--('105','匡明','男','1975-10-02','95031'),
--('107','王丽','女','1976-01-23','95033'),
--('101','李军','男','1976-02-10','95033'),
--('109','王芳','女','1975-02-10','95031'),
--('103','陆君','男','1974-06-03','95031')
--go
--insert Teacher
--values('804','李诚','男','1958-12-02','副教授','计算机系'),
--('856','张旭','男','1969-03-12','讲师','电子工程系'),
--('825','玉萍','女','1972-05-05','助教','计算机系'),
--('831','刘冰','女','1977-08-14','助教','计算机系')
--go
--insert Course
--values
----('3-105','计算机导论','825'),
----('3-245','操作系统','804'),
----('6-166','数字电路','856'),
----('9-888','高等数学','831')
--go
--insert Score
--values
--('103','3-245','98'),
--('105','3-245','78'),
--('109','3-245','68'),
--('103','3-105','99'),
--('105','3-105','89'),
--('109','3-105','78'),
--('101','3-105','45'),
--('107','3-105','78'),
--('108','3-105','45'),
--('101','6-166','12'),
--('107','6-166','78'),
--('108','6-166','65')
--go
--select * from Teacher
--select * from Student
--select * from Course
--select * from Score
4.修改表数据
--修改表数据
--select * from Score
--update Score
--set Degree='60'
--where Sno='105' and Cno='3-245'
--update Score
--set Degree='80'
--where Sno='109' and Cno='3-105'
--删除表数据 delete
use 学生选课
go
delete from 学生
where 姓名=‘张宇’
go
结果:
5.查询(重点)
示例:
--查询
----1 查询Student表
--select Sname,Ssex,Class from Student
----2、查询教师所有的单位即不重复的Depart列 (去重)
--select distinct Depart from Teacher;
--3 查询Score表中成绩在60到80之间的所有记录(between and --包含两边)
--select * from Score where Degree between 60 and 80;
--select * from Score
--4、以Class降序查询Student表的所有记录(order by desc(降)/asc(升))
--select * from Student order by class desc
--select * from Score
--5. 聚合函数
--select count(Sno) as 个数,max(Degree) as 最高成绩,
--min(Degree) as 最小成绩, avg(Degree) as 平均分
--from Score
--6. 男,女人数(group by)
--select * from Student
--select Ssex,count(Sname) as 人数 from Student
--group by Ssex
--go
-- 11、查询‘3-105’号课程的平均分 (having)
--select * from Score
--select avg(Degree) as 平均分
--from Score group by Cno having Cno='3-105'
--go
--12. 新建一个表,3-105的情况
--示例:
--把查询结果变为新表
--select 学号,姓名 into 学生1
--from 学生
--查询新表
----select * from 学生1
--select Sno as 学号, Degree as 成绩 into tb_degree
--from Score
--where Cno='3-105'
--select * from tb_degree
--多表连接查询
--查询‘计算机导论’学生学号,姓名,班级,课程,成绩,老师;降序排序
--select Score.Sno as 学生学号,Student.Sname as 学生姓名,Student.Class 学生班级,
--Course.Cname as 课程名称,Score.Degree as 学生成绩,Teacher.Tname as 授课老师
--from Course,Score,Teacher,Student
--where Student.Sno=Score.Sno and Course.Cno=Score.Cno
--and Teacher.Tno=Course.Tno and Course.Cname='计算机导论'
--order by 学生成绩 desc
--select Score.Sno as 学生学号,Student.Sname as 学生姓名,Student.Class 学生班级,
--Course.Cname as 课程名称,Score.Degree as 学生成绩,Teacher.Tname as 授课老师
--from Course,Score,Teacher,Student
--where Student.Sno=Score.Sno and Course.Cno=Score.Cno
--and Teacher.Tno=Course.Tno
--order by 学生学号
--SELECT a.pid,a.pscore,a.count,b.ptype,c.orgname
--FROM (
-- select a.pid,avg(a.pscore)as pscore,count(a.pid)as count
-- from table11 a
-- group by a.pid
--) a, table12 b,table13 c
--where a.pid = b.pid and b.orgcode = c.orgcode
--select * from Course
--select * from Score
--select distinct Sname from Student
--查询学生的姓名,考试科目,成绩总分 (重点)
select a.Sno as 学号,b.Sname as 性名,a.s_count as 考试科目,a.s_sum as 总分
from(
select a.Sno,count(a.Degree) as s_count,sum(a.Degree) as s_sum
from Score a
group by a.Sno
) a, Student b
where b.Sno=a.Sno
order by a.s_sum desc
查询学生的姓名,考试科目,成绩总分(重点)
附录:
1. where与having的区别(点击)
2.
三,视图
1. 视图创建与修改
--视图
--创建视图
--use testOne
--go
--create view view_score
--as
--select * from score
--附录:
/*
column 一列或多列的名称
n: column可重复n次的占位符
with encryption 加密syscomments表
as 视图要执行的操作
*/
--修改视图(alter view)
--alter view view_score
--as
--select o
--exec sp_helptext 'view_score'
--select * from view_score
--查看视图,部分属性
--select * from view_student
--删除视图
--drop view view_score
--查看视图
--1 查看视图基本信息
--sp_help view_student
--2 查看视图的文本信息(可看加密)
--sp_helptext view_student
--3 查看与其他对象的依赖关系
--sp_depends student
--修改视图(指定更多输出)
--alter view view_student
--as
--select Student.Sno,Student.Sname,Student.Ssex
--from Student
--select * from view_student
2.视图中数据的维护
--更新数据
--update view_student
--set Ssex='nv'
--where Sname='陆君'
--添加视图中的数据
--insert into view_student
--values('111','李四','无')
--select * from view_student
--删除视图中的数据(delete)
--delete from view_student
--where Sname='李四'
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了sql server的使用。
下一篇:
二,SQL server 2012 视图与索引(点击)
版权声明:本文为qq_43526329原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。