-------添加约束、增删改

 use StudentDB2
go
--------创建学生表---------
create table StudentInfo(
--studentId int primary key not null identity(1,1),---设置为主键,并自增长
studentId int not null identity(1,1),
studentNum varchar(16) not null,
studentName nvarchar(16) not null,
studentMobile int null,
classNo int null
)
--------添加约束----------
--主键约束
alter table StudentInfo
add constraint PK_StudentInfo_StudentId primary key (studentId)
go
--唯一约束
alter table StudentInfo
add constraint UQ_StudentInfo_studentNum unique (studentNum)
go
--默认约束
alter table StudentInfo
add constraint DF_StudentInfo_studentMobile default '号码不详' for studentMobile
go
--检查约束
alter table studentInfo
--check (len(studentMobile)=11):检查电话号码的长度是否为11位
--check后的括号中的表达式可以是and或者or连接的多个简单逻辑表达式组成的复合型逻辑表达式
add constraint CK_StudentInfo_studentMobile check (len(studentMobile)=11)
go
--======为了避免重复书写的麻烦,可使用如下方式添加约束
alter table studentInfo
add constraint DF_StudentInfo_studentMobile default '号码不详' for studentMobile,
constraint CK_StudentInfo_studentMobile check (len(studentMobile)=11)
go
--删除约束
alter table studentInfo
drop constraint DF_StudentInfo_studentMobile --constraint关键字是可选的,可写可不写
go
------------修改数据表-----------
--添加列
alter table StudentInfo
add remark1 varchar(20) null,
remark2 varchar(20) null
go
--删除列
alter table StudentInfo
drop column ramark1
go
--------修改列
alter table classNo
--修改了数据类型、长度和可空性
alter column classId varchar(20) not null
go
--修改列名
exec sp_rename 'studentInfo.classNo','classNum'
go
--------------删除数据表--------------------
--再删除之前要先进行判断数据表是否存在,否则会发生错误
--判断方法1
if exists (select * from sys.sysobjects where [name]='studentinfo')
drop table StudentInfo
go
--判断方法2
if OBJECT_ID('studentinfo') is not null
drop table studentinfo
go

-------外键约束

 Use StudentDB2
go
--创建表
create table Score(
studentId int not null identity(1,1),
score int
)
--添加外键约束
alter table score
add constraint FK_score_studentinfo_stuId foreign key (studentId) references studentinfo(studentId)
go

--------插入、更新、删除

Use StudentDB2
go
--全部列均插入数据,提供所有列的数据值,并按照表中各列的顺序列出这些值,故不必指定列名
insert into StudentInfo values(
1,'000001','大壮',124565689,10086,'01','001'
);
go
--按照顺序提供了所有的列,并且相应的给出了所有的值(推荐写法)
insert into StudentInfo(studentId,studentNum,studentName,classNo,remark1,remark2)
values (1,'000001','大壮',124565689,10086,'01','001');
go
--也可以不按照表中的顺序来插入数据(但是提供了所有的列)
insert into StudentInfo(studentId,classNo,studentNum,remark1,studentName,remark2)
values(1,2,'000002','02','二狗','003');
go
--插入部分列值(插入值的个数小于列的个数),必须要声明是哪一列
insert into StudentInfo(studentId,classNo,studentNum)
values(3,03,'000003');
go
---------------更新数据--------------
--简单的update语句
update studentinfo set remark1=000;
go
--带where条件的update语句
update studentinfo set studentnum=0101,studentname='王二麻子' where classno=222;
go
-----------删除数据-------------
--删除整个表格
delete from studentinfo;
go
--删除某一行
delete from studentinfo where studentid=001;
go

  

SQL Server之增删改操作的更多相关文章

  1. 使用java对sql server进行增删改查

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  2. Linq to SQL 简单的增删改操作

    Linq to SQL 简单的增删改操作. 新建数据库表tbGuestBook.结构如下: 新建web项目,完成相应的dbml文件.留言页面布局如下 <body> <form id= ...

  3. Sql Server——数据增删改

    所谓数据的增删改就是在创建好数据库和表后向表中添加数据.删除表中的数据.更改表中的一些数据. 新增数据: 语法一: insert into 表名 values (数据内容)        --这里需要 ...

  4. java对sql server的增删改查

    package Database; import java.sql.*; public class DBUtil { //这里可以设置数据库名称 private final static String ...

  5. SQL Server数据库————增删改查

    --增删改查--增 insert into 表名(列名) value(值列表) --删 delect from 表名 where 条件 --改 update 表名 set 列名=值1,列名2=值2 w ...

  6. VS 使用Sql Server 数据库增删改查

    /// <summary> /// 执行查询语句,返回DataSet /// </summary> /// <param name="SQLString&quo ...

  7. 详解连接SQL Server数据库的方法,并使用Statement接口实现对数据库的增删改操作

    总结一下,连接SQL Server数据库需要以下几个步骤: 1. 导入驱动Jar包:sqljdbc.jar 2. 加载并注册驱动程序 3. 设置连接路径 4. 加载并注册驱动 5. 连接数据库 6. ...

  8. ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪

    ASP.NET MVC深入浅出(被替换)   一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...

  9. C# winform窗体设计-对数据库执行增删改操作

    对于学习数据库的人来说,数据库的增删改可谓是最基本的了(小编其实也只是一个小白=-=),这篇文章,小编将于大家讲解数据库增删改操作 在执行数据库增删改的时候主要使用的:Command 类       ...

随机推荐

  1. c语言中为什么左移不分符号数无符号数,而右移分呢??

    因为在C语言标准中,只规定了无符号数的移位操作是采用逻辑移位(即左移.右移都是使用的逻辑左移和逻辑右移).而对于有符号数,其左移操作还是逻辑左移,但右移操作是采用逻辑右移还是算术右移就取决于机器了!( ...

  2. codeforces 691D D. Swaps in Permutation(dfs)

    题目链接: D. Swaps in Permutation time limit per test 5 seconds memory limit per test 256 megabytes inpu ...

  3. May Challenge 2017

    Chef and his daily routine 分析:水题,设置优先级,判断如果后面小于前面就输出no #include "iostream" #include " ...

  4. MongoDB 用户名密码登录

    Mongodb enable authentication MongoDB 默认直接连接,无须身份验证,如果当前机器可以公网访问,且不注意Mongodb 端口(默认 27017)的开放状态,那么Mon ...

  5. VS2008 视图资源.rc无法加载的问题及解决方法

    VS2008 视图资源.rc无法加载 1.首先先把vs关闭,然后执行 开始>>所有程序>>Mircosoft visual studio 2008>>visual ...

  6. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时3

    课时3 计算机视觉历史回顾与介绍下 ImageNet有5000万张图片,全部都是人工清洗过得,标注了超过2万个分类. CS231n将聚焦于视觉识别问题,图像分类关注的是大图整体:物体检测告诉你东西具体 ...

  7. git cherry-pick简介(转载)

    转自:http://hubingforever.blog.163.com/blog/static/1710405792012587115533/ 本文编辑整理自: http://sg552.iteye ...

  8. HDOJ3231醉

    反正一开始就是瞎几把看题,然后题意理解了,什么飞机?只能去看题解了. 呵呵,可惜,题解看了三个小时,还是一知半解,先写了. - -菜鸡超级详细题解,强行掰弯一波,等下再问问别人吧. OK,OK开始!! ...

  9. sql server编写一个语句脚本自动清空各表数据以初始化数据库

    问题:有时已有项目要移植,例如原来在广州地区使用的某系统,突然说惠州那边也要用这套一样的系统.或者,在demo环境下弄了一些测试数据.然后要清空全部表数据.如果表比较多的话,逐个表手工编写脚本就太麻烦 ...

  10. 自己动手搭建SSM

    1.工具 apache-tomcat 7 apache-maven(后面详细讲!这东西我一开始也很懵逼) mysql 5以上的版本 navicat(有了这个就不用cmd了,可以直接显示数据库,如下图, ...