问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

初学者sql server 语句怎么写

发布网友 发布时间:2022-04-09 08:17

我来回答

3个回答

热心网友 时间:2022-04-09 09:46

--有点乱。你自己粘贴好捋一捋。

use master
go


--判断数据库是否存在,存在则删除
if exists(select * from sysdatabases where name='MySchool') --判断MySchool是否存在
 drop DATABASE MySchool --如果数据库存在则删掉数据库
GO


--创建数据库
create DATABASE MySchool
on
PRIMARY --创建主数据库文件
(
 name='MyScool',
 filename='E:\DataBase\Test\MySchool\MySchool.mdf',
 size=5MB,
 Maxsize=20MB,
 FileGrowth=1MB
)
log on --创建日志文件
(
 name='MySchoolLog',
 filename='E:\DataBase\Test\MySchool\MySchool.ldf',
 size=5MB,
 maxsize=20MB,
 FileGrowth=1MB
)
GO


use MySchool
go


--------------------------创建表----------------------------------
--创建表Student
IF EXISTS (SELECT * FROM  sysobjects  WHERE  name='Student' )
DROP TABLE Student
GO
create table Student
(
 StudentNo nvarchar(50) not null,
 LoginPwd nvarchar(20) not null,
 StudentName nvarchar(50) not null,
 Sex char(2) not null,
 GradeId int not null,
 Phone nvarchar(20) not null,
 Address nvarchar(255) null,
 BornDate datetime null,
 Email nvarchar(50) null
)
GO
--创建表Subject
IF exists (select * from sysobjects where name='Subject')
Drop table Subject
Go
create table Subject
(
 SubjectId int identity(1,1) not null,
 SubjectName nvarchar(20) not null,
 ClassHour int not null,
 GradeId int not null
)
go
--创建表Result
If exists(select * from sysobjects where name='Result')
drop table Result
GO
create table Result
(
 Id int identity(1,1) not null,
 StudentNo nvarchar(50) not null,
 SubjectId int not null,
 StudentResult int not null,
 ExamDate smalldatetime not null
)
go
--创建年级表Grade
if exists(select * from sysobjects where name='Grade')
drop table Grade
go
create table Grade
(
 GradeId int identity(1,1) not null,
 GradeName nvarchar(50) not null
)
------------------------------------------------------------------


-------------------------为表添加约束-----------------------------


--为年级表Grade表添加约束
alter table Grade --主键约束
add constraint PK_Grade_GradeId Primary key(GradeId)


--为Student表添加约束
alter table Student --主键约束
add constraint PK_Student_StudentNo Primary key(StudentNo)
alter table Student --长度约束
add constraint CK_Student_LoginPwd check( len (LoginPwd)>=6)
alter table Student --密码默认约束
add constraint DF_Student_LoginPwd default ('123456') for LoginPwd
alter table Student --地址默认约束
add constraint DF_Student_Address default ('学生宿舍') for Address
alter table Student --检查约束
add constraint CK_Student_sex check (sex = ('男') or sex = ('女'))
alter table Student --外键约束
add constraint FK_Student_GradeId
 foreign key (GradeId) references Grade(GradeId)
go
alter table Student --Email约束
add constraint CK_Student_Email check (email like ('%@%'))


--为Subject表添加约束
alter table Subject --主键约束
add constraint PK_Student_SubjectId Primary key(SubjectId)
alter table Subject --大于0
add constraint CK_Subject_ClassHour check (ClassHour > 0)


--为Result表添加约束
alter table Result --主键约束
add constraint PK_Result_Id Primary key(Id)
alter table [dbo].[Result] --必须在0~100之间
add constraint CK_Result_StudentResult check(StudentResult > 0 and StudentResult < 100)


exec sp_helpconstraint 'Student'  --查询所有约束


----------------------添加数据------------------------------------


--为Grade表添加数据
insert Grade(GradeName)  --使用insert...select语句一次插入多行数据
select 'S1' union
select 'S2' union
select 'Y2'
--为Student表添加数据
insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate, Email)
 values('S1201302001','zhangsan','张三','男',1,'01062768866','解放路','1991-1-1','zhangsan@126.com')


insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate)
 values('S1201302002','lisi89','李四','男',1,'13812345678','长江路路','1996-2-1')
 
insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate)
 values('S1201302003',default,'王五','男',1,'13912345678',default,'1995-5-3')
 
insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate, Email)
 values('S1201302004','wanglili','王丽丽','女',1,'1311245678',default,'1994-6-2','wangll@sohu.com')
 
insert into Student(StudentNo, LoginPwd, StudentName, Sex, GradeId, Phone, Address, BornDate)
 values('S1201302005',default,'张峰','男',1,'1321234678',default,'1991-8-8')
------------------------------------------------------------------


use MySchool
go
-------------------------修改-------------------------------------
--根据学号修改地址
update Student
set Address = '山东省济南市文化路1号院'
where StudentNo = 'S1201302004'
--根据学号修改年级
update Student
set GradeId=2
where StudentNo='S1201302005'
--根据课程修改学时
update Subject
set ClassHour='55'
where SubjectName='走进Java编程世界'
--根据考试时间加分
update Result
set StudentResult=StudentResult+5
where StudentResult<60
--根据学号修改学生在特定时间考试的某一科分数
update Result
set StudentResult='55'
where StudentNo='S1201302002' and ExamDate='2013-10-18' and SubjectId=2
--将电子邮件为空的学生统一修改为"未知@"
update Student
set Email='未知@'
where Email is null
------------------------------------------------------------------


use MySchool
go
------------将表数据导向另一个不存在的表--------------------------
--通讯录表Address_IS(使用insret select语句,该表必须事先存在)
create table Address_IS
(
 Id int Primary key identity(1,1) not null,
 SName nvarchar(50) not null,
 Phone nvarchar(255) not null,
 Address nvarchar(255) null,
 Email nvarchar(50) null
)
insert into Address_IS(SName,Phone,Address,Email)
select Student.StudentName,Student.Phone,Student.Address,Student.Email
from Student
--通讯录表Address_SI(使用select into语句,该表不能预先存在)
Select Student.StudentName,Student.Phone,Student.Address,Student.Email
into Address_SI
from Student
------------------------------------------------------------------


use MySchool
go
--------------------删除记录--------------------------------------
--删除1997年7月1日之后入学的学生
delete from Student
where BornDate>'1997-7-1'
------------------------------------------------------------------


use MySchool
go
------------向Subject表插入数据-----------------------------------
insert Subject(SubjectName, ClassHour, GradeId)
select '走进Java编程世界',40,1 union
select 'HTML和CSS网页技术',60,1 union
select 'C#语言和数据库技术',70,1
------------------------------------------------------------------


use MySchool
go
--------------------增加成绩纪录----------------------------------
insert Result(StudentNo, SubjectId, StudentResult, ExamDate)
select 'S1201302001',1,80,'2013-9-13' union
select 'S1201302002',1,45,'2013-9-13' union
select 'S1201302001',2,90,'2013-10-18' union
select 'S1201302002',2,60,'2013-10-18'
------------------------------------------------------------------


use MySchool
go
if exists(select * from sysobjects where name='Grade')
drop table Grade
if exists(select * from sysobjects where name='Result')
drop table Result
if exists(select * from sysobjects where name='Student')
drop table Student
if exists(select * from sysobjects where name='Subject')
drop table Subject
go
if exists(select * from databases where name='MySchool')
drop database MySchool
go

热心网友 时间:2022-04-09 11:04

先从最基础的SELECT语句开始写起,多看书、多实践

热心网友 时间:2022-04-09 12:39

多看看书 和教程
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国产钢琴哪些品牌大全 hailun是什么牌子钢琴 人工智能时代的职业特点 人工智能硬件选哪家专业? 剁椒鱼头的做法简单三步 热水器出水口根部漏水怎么办 电热水器为什么用时间长了底部会漏水? ps不能填充因为暂存盘已满 北京哪个板面店培训 北京成寿寺小吃街有哪些 介绍 达芬奇一生 的电影 ★★★&lt;跪求&gt;达芬奇所有画作 高清晰版本下载★★★ 谁有达芬奇作品维特鲁威人的清晰图片?谢谢 谁能给我一张 达芬奇 最后的晚餐 1440*900的高清图啊 谁有达芬奇,蒙娜丽莎画作,4K清晰度的图片? 达芬奇中,每次缩小4k视频都会变得模糊是什么原因呢?如何把4K视频缩小到1080P但清晰度并不损失太多呢? 求达芬奇《蒙娜丽莎》的高清大图 求梵高、达芬奇、莫奈、拉斐尔、米开朗琪罗、塞尚作品高清图集 公务员报考中海事局 “水上安全监督管理”岗位具体是做什么工作 为什么海每天都有退潮长潮呢?那么退潮的时候水去哪了呢 网赌冻结三天是足72小时么 为什么钱塘江会有潮汐 什么是灰锰氧? 威海捕鱼工资有多少,环境怎么样,一天工作几小时 香椿炒鹅蛋盐放多了怎么办 腌制鹅蛋的水怎么有臭味腌鹅蛋盐少水有异味怎 腌鹅蛋盐从塑料袋渗出来了怎么办? 鹅蛋盐多久才可以 鹅蛋加盐清蒸影响营养价值吗 腌鹅蛋盐水热的好还是凉的好? 我跟你们讲啊我是富二代 我这一身穿的全部是名牌 看看我的鞋带都是上千块 歌词 高考536分属于几本 我跟你们讲啊 广州一点都不冷 用粤语怎么? “ 我给你们讲个笑话 ” 英语怎么说 我跟你们讲昨天超搞笑我路过一个小人有一条狗在追我我喜欢你们等一下我现在什? 2021高考511分是几本 我跟你们说的善意的谎言,你们却当做恶意的毒话用古文怎么说? 高考分几本 我跟大家讲,其实我想说我要睡觉了粤语怎么说 现在还没吃饭我就跟你们讲一讲怎样可以换成过度句? 我给你们讲两个笑话,你们真心说好不好笑 大家来看我跟你们讲! 高考500分是几本? 我跟你们说个事情,就是我亲姐的事情? 我先跟你们说啊,我人品差,等下做出什么出格的事,不要怪我就是。说这话出来的人想表达什么意思? 我来给大家讲故事成语故事 高考几本是怎么回事? 唉我跟你们说哈,无论谁对错,都有人说你好坏。把钱哪给别人,别人不满意你,不高兴你,你挣别人的钱? “大家好,我给你们讲个英语故事”这句话用英语怎么说? 高考500多分能上几本