SQL Server中表的创建,数据插入和查询

  • 作者:村长
  • 发布时间:2020-04-18 19:00
  • 分类:SQL Server
  • 标签: SQL Server中的创建、插入、查询
-- 第一步:选择库
use MySchool

-- 第二步:创建表
-- 创建的表存在,我先删除
drop table student;

-- 1、创建学生表
Create table student
(
/*
	标识列:identity(a,b)说明:
	ab均为正整数,a表示开始数,b表示增幅,
	就像identity(1,1)意思就是该列自动增长,由1开始每次增加是1
*/
	-- 列名 数据类型 列的特征(IDENTITY(1,1)设置标识列,设置自增)
	studentNo int IDENTITY(1,1) primary key not null, -- 学号
	LoginPwd nvarchar(32) default('123456') not null, -- 密码
	studentName nvarchar(64) not null, -- 姓名
	sex char(2) not null, -- 所在年级
	gradeId int not null,-- 所在年级
	phone nvarchar(256) unique not null,-- 联系电话
	address nvarchar(256) default('学生宿舍') not null, -- 现住址
	bornDate datetime check(bornDate > '1980-01-01') not null, -- 出生日期
	email nvarchar(64)null, -- 电子邮件
);

-- 向学生表插入学生信息
insert into student(LoginPwd,studentName,sex,gradeId,phone,address,bornDate,email)
	values(123456,'王健林','男',1,18278880806,'北京','1988-6-10 12:12:12','330@qq.com'),
	(123456,'王思聪','男',2,18278880811,'南宁','1988-6-10 12:12:12','330@qq.com'),
	(123456,'马化腾','男',3,18278880800,'钦州','1988-6-10 12:12:12','330@qq.com'),
	(123456,'马云','男',4,18278880809,'柳州','1988-6-10 12:12:12','330@qq.com'),
	(123456,'董小姐','男',1,18278880808,'阿富汗','1988-6-10 12:12:12','330@qq.com'),
	(123456,'雷军','男',2,18278880807,'北京','1988-6-10 12:12:12','330@qq.com'),
	(123456,'刘强东','男',3,18278880805,'桂林','1988-6-10 12:12:12','330@qq.com'),
	(123456,'姜帆','男',4,18278880804,'南宁','1988-6-10 12:12:12','330@qq.com'),
	(123456,'任正非','男',1,18278880802,'柳州','1988-6-10 12:12:12','330@qq.com'),
	(123456,'比尔盖茨','男',2,18278880803,'钦州','1988-6-10 12:12:12','330@qq.com')

-- 查询数据
select * from student where studentNo between 3 and 7;

select * from score where score between 20 and 60

select * from score where score in(60,55);

-- 2、创建年级表
drop table grade;

Create table grade
(
	-- 列名 数据类型 列的特征(IDENTITY(1,1)设置标识列,设置自增)
	gradeId int IDENTITY(1,1) primary key not null, -- 年级编号
	gradeName nvarchar(64) unique not null, -- 年级名称
);
--设置标识列允许插入
-- set identity_insert grade off

-- 插入值到年级表
insert into grade
	values('一年级'),('二年级'),
	('三年级'),('四年级'),
	('五年级'),('六年级')
select * from grade;

-- 3、创建科目表
drop table course;
Create table course
(
	-- 列名 数据类型 列的特征
	courseId int identity(1,1) primary key not null, -- 课程ID
	courseName varchar(64) not null, --科目名称 
	classHour int check(classHour > 0) not null, -- 学时
)

-- 向科目表插入数据
insert into course(courseName,classHour)
	values('HTML+CSS',80),
	('C#',80),
	('java',60),
	('SQL Server',70),
	('JavaScript',90),
	('.Net',85),
	('Python',90),
	('PHP',80)
	

-- 4、成绩表
drop table score;
Create table score
(
	scoreID	int identity(1,1) primary key not null, -- 课程ID
	studentNo	int not null, -- 学生编号
	courseID	int not null, -- 课程ID
	score	int check(score >= 0 AND score <= 100) not null,--成绩
	examDate datetime default(getdate()), -- 获取当前时间
)

--设置标识列允许插入
insert score(studentNo,courseID,score,examDate)
values(1,1,80,'2020-4-25 18:16:02'),
(2,2,70,'2020-4-25 18:16:02'),
(3,3,60,'2020-4-25 18:16:02'),
(4,4,55,'2020-4-25 18:16:02'),
(5,5,90,'2020-4-25 18:16:02'),
(1,6,70,'2020-4-25 18:16:02'),
(1,7,66,'2020-4-25 18:16:02'),
(1,2,75,'2020-4-25 18:16:02'),
(1,1,88,'2020-4-25 18:16:02'),
(1,3,95,'2020-4-25 18:16:02'),
(1,4,80,'2020-4-25 18:16:02'),
(2,5,81,'2020-4-25 18:16:02'),
(3,1,82,'2020-4-25 18:16:02'),
(4,2,83,'2020-4-25 18:16:02'),
(5,2,84,'2020-4-25 18:16:02'),
(2,1,83,'2020-4-25 18:16:02'),
(3,1,85,'2020-4-25 18:16:02'),
(4,2,86,'2020-4-25 18:16:02'),
(5,2,87,'2020-4-25 18:16:02'),
(5,2,88,'2020-4-25 18:16:02'),
(1,2,50,'2020-4-25 18:16:02')

-- 查询插入后的成绩
select * from score


  • php程序员面试笔试宝典
琉忆编程库

手册下载

    暂无手册

编程资料

    暂无资料
TOP
加载中...