关于SQLServer的一些简单代码操作

就不介绍了在studio中的图形化操作了,这里简单介绍了一些SQL语言的操作。

首先:

给一些例子怎样创建一个数据库对象和表(创建create  删除drop):

1、创建数据库对象

--创建数据库对象
create database School;

--删除数据库
drop database School

--创建数据库 的时候制定一些参数

create database School
on primary 
(
    --数据库的逻辑名称
    name='School',
    size=10mb,
    filename='C:\school.mdf'
    
)
log on 
(
    name='School_log',
    filename='C:\school.ldf'
)

 

2、创建表 

--切换数据库
use School--点击F5可以执行  但是要先选择
 
--在数据库下面创建表
create table TblClass
(
    --创建一列
    --列名,数据类型、约束
    ClsId int identity(1,1) primary key,
    ClsName  varchar (50) not null,
    ClsDesc varchar(500),
)

drop table TblClass
--控制结果窗口的显示隐藏ctrl+R

--在创建一个表
create table TblStudent
(
    StuId int identity(1,1) primary key,
    StuName nvarchar(50) not null,
    StuGender bit not null,
    StuAddress nvarchar(200 ) ,
    StuPhone varchar(500),
    StuAge int,
    StuBirthday datetime,
    StuIdNumber varchar (20),--身份证号
    StuClsId int 
)

 

 

其次:介绍一些最基本的操作

增(insert)删(delete)查(select)改(update)

增删是一行一行的操作,而查改是可以改一个具体的格子(就是说是行和列交叉的地方进行修改)。所以insert、delete 就是直接的增删,

而查的语法在查中可见,select ...(A)....from.....where...(B)....  其中(A)确定了列,(B)确定了行

改的语法update....set....(A).....where....(B)... 其中(A)确定了列,(B)确定了行

 

1、增:(insert)

1 --通过程序向表中插入数据
2 insert into TblClass(ClsName,ClsDesc)
3 values('哈哈','你好么')
4 
5 --通过select来查看表中的数据
6 select * from TblClass

 

--用insert into...select插入多行
insert into TblTeacher
select 'qian' ,1, 45,465546,1999-9-9 union
select 'zhu' ,1, 45,465546,1999-9-9 union
select 'zhao' ,1, 45,465546,1999-9-9 union
select 'min' ,1, 45,465546,1999-9-9 union
select 'huang' ,1, 45,465546,1999-9-9

 

2、删(delete)

--有条件的删除
delete from TblTeacher where tname='min'

--全部删除
delete from TblTeacher

--查看一下现在是表格是什么样子了
select * from TblTeacher

--全部删除的另一种方式
truncate table TblTeacher


--1.delete 语句删除数据的时候,自动编号没有恢复到默认值。但是truancate语句重新设置了自动编号
--2.通过truncate语句删除表中的数据的时候,只能一次性都清空,不能根据条件来删除,而delete可以根据条件来删除。
--3.truncate语句清空表中的数据时,速度(性能)比delete语句快的多的多的多。
--4..truncate语句不触发delete触发器。

 

 

3、查(select)

--查看表格现有的数据
select * from TblTeacher

 

--select查询的一般的格式
select 
    --列名
from --数据源(表名、子查询结果、视图.....)
where --条件(筛选行..)

--例子
select 
    fId as 学号,
    fMath as 分数,    --筛选出fId和fMath的列,并给他们取别名
from MyStudent        --数据源是MyStudent的表
where fMath<90        --筛选行的条件

 

--having是在分完组之后对组的筛选,而where是在筛选之前对表格进行选择
select 
    tsclassId as 班级ID,
    COUNT(*) as 班级人数,

from Tblstudent
where tsgender='男'
group by tsclassId
having COUNT(*)>2

 

这个重要,介绍了select中各条语句执行的顺序

--select中各条语句执行的顺序
--1>…From 表
--2>…Where 条件
--3>…Group by 列
--4>…Having 筛选条件
--5>…Select 5-1>选择列,5-2>distinct,5-3>top
--6>…Order by 列

select 
    --distinct/top 之类的关键字
    fgender as 性别,--5>选择列
    count(*) as 人数
from MyStudent      --1>从什么表中选择数据
where fage>30         --2>
group by fgender        --3>
having count(*)           --4> 
order by 人数 desc        --6>

 

 

4、改(update)

--将所有年龄小于20的都改成19
update TblTeacher set tage=19 where tage<20

--将年龄为十九的都加一
update TblTeacher set tage=tage+1 where tage=19

--把所有人的工资都改成2000
update TblTeacher set tsalary=2000

 

 

再介绍用SQL写约束条件(alter):

简单贴一些刚刚写的代码:

--通过sql创建约束


--手动删除一列
alter table Employees drop column EmpAddress

alter table Employees add EmpAdds varchar(200)

alter table Employees alter column EmpAdds varchar(100)
--手动增加一主键
alter table Employees add constraint Pk_Employees_EmpId primary key(EmpId)

--增加一个非空约束(他本质上修改列)
alter table Employees alter column EmpName varchar(50) not null

--EmpName增加一个唯一约束
alter table Employees add constraint UQ_Employees_EmpName  unique ( EmpName)


--给性别增加一个默认约束
alter table Employees add constraint DF_Employees_EmpGender default('男' ) for EmpGender

--增加一个外键约束
-- 1.给Employees增加一个外键
alter table Employees add EmpDep int
--2.将DepId设置为主键
alter table Department add constraint PK_Department_DepId primary key (DepId)
--3.创建一个外键约束
alter table Employees add constraint Fk_Empolyees_Department foreign key(EmpDep) references Department(DepId)

  

转载于:https://www.cnblogs.com/chenbuer/p/3728717.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值