数据库
时间:2021-07-01 10:21:17
帮助过:3人阅读
go
--判断系统sysdatabases中是否存在stu数据库
if exists( select * from sysdatabases where name=‘stu‘)
drop database stu--如果有则删除
go--执行
--创建数据库stu
create database stu
on
(
name=‘stu.mdf‘,--数据库名称
filename=‘F:\stu.mdf‘,--数据库所在路径
filegrowth=10%,--按10%自增长
size=5 --SQL Server 2012最小内存为5M
)
log on
(
name=‘stu.ldf‘,
filename=‘F:\stu.ldf‘,
filegrowth=10%,
size=5
)
go
--判断系统sysobjects中是否存在class表
if exists(select * from sysobjects where name=‘class‘)
drop table class
--创建class表
create table class
(
c_id int primary key identity(1,1),--班级id为主键并且是自增长列;primary key:主键约束;identity(1,1):自增长列,标识种子为1,标识增量为1
c_name varchar(10) not null--班级名称;非空约束:not null
)
go
--一次添加一条数据
--语法:insert into 表名 values(‘数据‘)
--values(‘‘)内根据表里需要添加的数据,对应表的列名多少填写
insert into class values(‘2014271‘)
insert into class values(‘2014272‘)
insert into class values(‘2014273班‘)
--一次添加多条数据
--语法:
--insert into 表名
--select ‘数据‘ union all
--select ‘数据‘ union all
--select ‘数据‘
--select ‘‘内根据表里需要添加的数据,对应表的列名多少填写
--最后一条添加语句不需要用union拼接,all按顺序添加数据
insert into class
select ‘2014274‘ union all
select ‘2014275‘ union all
select ‘2014281‘
--查询class表数据
select * from class
--修改数据,将2014273班改为2014273
--语法:update 表名 set 要修改值的列名=‘要修改值的内容‘ where 要修改内容的唯一不变的列名=要修改内容的那一行id
update class set c_name=‘2014273‘ where c_id=3
--删除数据,将2014281删除
--语法:delete from 表名 where 要删除内容的唯一不变的列名=要删除内容的那一行id
delete from class where c_id=6
--判断系统sysobjects中是否存在student表
if exists(select * from sysobjects where name=‘student‘)
drop table student
--创建student表
create table student
(
s_id int primary key not null ,--学生id为主键并且是自增长列;primary key:主键约束;identity(1,1)自增长列 标识种子为1,标识增量为1
s_name varchar(20) not null,--姓名;非空约束 not null
s_gender varchar(2) check(s_gender in(‘男‘,‘女‘)),--性别;检查约束:性别要么是男要么是女,check(条件),条件是:s_gender in(‘男‘,‘女‘)
s_age int check(s_age between 15 and 28),--年龄;检查约束:年龄在15到28之间,check(条件),条件是:s_age between 15 and 28
s_c_id int foreign key references class(c_id) not null,--班级id;外键约束:foreign key references class(c_id) 解释:修改表 student,为他添加一个外键约束.这个约束建在本表的c_id列上. 参考的是class表的id列;非空约束:not null
s_score int check(s_score >-1 and s_score<101) not null,--分数,检查约束:分数大于-1并且小于101,check(条件),条件是:s_score >-1 and s_score<101
s_hobby varchar(25) not null,--爱好,非空约束 not null
s_adds varchar(50) not null--住址,非空约束 not null
)
go
-- unique是唯一约束
--一次添加一条数据
--语法:insert into 表名 values(‘‘)
--values(‘‘)内根据表里需要添加的数据,对应表的列名多少填写
insert into student values(‘271001‘,‘王建‘,‘男‘,‘18‘,1,‘0‘,‘吃饭 睡觉‘,‘湖北襄阳‘)
insert into student values(‘272001‘,‘李宁宁‘,‘男‘,‘20‘,2,‘100‘,‘睡觉 打豆豆‘,‘湖北荆州‘)
insert into student values(‘272002‘,‘李娜娜‘,‘女‘,‘19‘,2,‘100‘,‘睡觉 打豆豆‘,‘湖北襄阳‘)
--一次添加多条数据
--语法:
--insert into 表名
--select ‘数据‘ union all
--select ‘数据‘ union all
--select ‘数据‘
--select ‘‘内根据表里需要添加的数据,对应表的列名多少填写
--最后一条添加语句不需要用union拼接,all按顺序添加数据
insert into student
select ‘273003‘,‘王建娜‘,‘女‘,‘19‘,3,‘90‘,‘吃饭 打豆豆‘,‘湖北十堰‘ union all
select ‘274002‘,‘李伟‘,‘男‘,‘20‘,4,‘0‘,‘吃饭 睡觉 打豆豆‘,‘湖北十堰‘ union all
select ‘275003‘,‘王宁宁‘,‘女‘,‘18‘,5,‘90‘,‘睡觉 打豆豆‘,‘湖北荆州‘
--class表和student表进行联查
select s_id 学号,s_name 姓名,s_gender 性别,s_age 年龄,c_name 班级,s_score 成绩,s_hobby 爱好,s_adds 住址
from class,student where c_id=s_c_id
数据库
标签: