文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SQL SERVER 学习过程(二)

2017-07-04 18:31

关注

SQL SERVER 学习过程(二)

休息了好长一段时间,这几天照着书本自己慢慢敲的命令,看的再多不如手动去做。

use HrSystem
go
create table Employees
(
 Em_id int primary key identity(1,1),--设置这个列为主键,并且为唯一标识列--
 Emp_name varchar(50) not null,   --不为空--
 Sex char(2) DEFAULT("男"),  -- 设置这个列默认为男 --
 Title varchar(20) not null, 
 Wage float default(0),
 IdCard varchar(20),
 Dep_id int not null
 )


 --查看数据库的储存空间--
 sp_spaceused N"Employees"

 --使用dbcc checkident命令检查和设置表的标识值--
use HrSystem
go
create table tmpTable
( id int primary key identity,
  name varchar(50)
  )
 insert into tmpTable values("a")
 insert into tmpTable values("b")
 insert into tmpTable values("c")
 insert into tmpTable values("d")
 go
 dbcc checkident(tmpTable,noreseed)
 go
 --使用delete语句删除tmpTable表中的两条数据--
 delete from tmpTable where id>2

 --使用下面的语句重置标识符为2--
 dbcc checkident(tmpTable,reseed,2)

 --验证标识符的值--
 insert into tmpTable values("c")

--重命名表名--
--语法:sp_rename 原对象名,新对象名,对象类型--
--存储过程使用sp_rename将Employees重命名为EmpInfo--
use HrSystem
go
 sp_rename Employees,EmpInfo


 --修改表的列名,将表名--
 
 sp_rename "Employees.Wage","Salary","column"

 --向表中添加列--
 --使用alter table 语句向表中添加列--
 --alter table 表名 add 列名 数据类型和长度 列属性

 在Employees中增加列,列名为Tele,数据类型为varchar,长度为50,列属性允许为空
 use HrSystem
 go
 alter table Employees add Tele varchar(50) null

 --修改列属性--
--alter table 表名 alter column 列名 新数据类型和长度 新列属性
--在表Employees中修改列Tele的数据值为char,长度为30,并允许为空
alter table Employees alter column Tele char(30) null

--删除表中列--
alter table 表名 drop column 列名

--在表中Employees中删除列Tele 
alter table Employees drop column Tele

--删除表--
drop table 表名
--删除表Departments
drop table Departments

--创建主键约束--

constraint 主键名 primary key [clustered|nonclustered]
   (列名1,[列名2])

--在HrSystem中建立表Super,并使用constraint子句定义主键PK_test
use HrSystem
go
create table Super
( Super_id int,
  Super_name varchar(50),
  constraint pk_Super primary key(Super_id)
)

--修改主键约束--
add constraint 主键名 primary key [clustered|nonclustered]
   (列名1,[列名2,])
--创建student,然后将Stuid列设置为主键
create table Student
   (Stuid int identity(1,1),
    StuName varchar(50) not null,
	Sex bit default(0),
	Class varchar(50) not null,
	Score float default(0),
   )
go
alter table Student
add constraint pk_Stu primary key nonclustered (Stuid) 
go

--删除主键约束--
alter table 表名 drop constraint 
删除表Student主键约束PK_Stu
alter table Student drop constraint PK_Stu

--创建、修改、删除唯一约束性
--唯一性约束可以保证除主键外的其他一个或者多个列的数据唯一性,以防止在列中输入重复的值
--在Departents中的Dep_name列定义唯一性约束,在表中插入两条相同的数据,查看提示不允许插入重复值

 
USE AdventureWorks2012;   
GO  
ALTER TABLE Person.Password   
ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt);   
GO  


use HrSystem
go
alter table Departments 
add constraint Dep_name unique (Departments)
--创建表Facker,将Facker_name设置为唯一性约束代码
use HrSystem
go
create table Facker
    (Facker_id int,
	 Facker_name varchar(50),
	 constraint PK_Facker primary key(Facker_id),
	 constraint IX_Facker unique(Facker_name)
    )
--删除表Facker唯一约束IK_Facker
alter table Facker drop constraint IK_Facker

--从sys.key_constraints获取约束信息--
--系统视图 sys.key_constraints用来保存主键约束和唯一约束信息--
use HrSystem
go
select * from sys.key_constraints
go
--单独查询某一个约束信息
select * from sys.key_constraints where name="pk_Super"

--违反约束检查--



use HrSystem
GO
create table Sutentone
(Stuid int identity(1,1),
 StuName varchar(50) not null,
 Sex bit default(0),
 Class varchar(50) not null,
 Score float default(0),
 constraint PK_Stdent primary key(Stuid),
 constraint ix_Stdent unique(StuName),
 constraint ck_Stdent check(Score>=0),
)
go

use HrSystem
go 
create table Client
(id int identity(1,1),
CitOrg varchar(50) not null,
address varchar(100) not null,
Postcode varchar(10) not null,
constraint pk_Client primary key(id),
constraint ix_Client unique(CitOrg),
constraint ck_Client check(Postcode like"[0-9][0-9][0-9][0-9][0-9][0-9]"),
--like是SQL SERVER关键字,用于对指定的字符串进行模式匹配,[0-9]指定单字符在0至9的范围。--
)
--修改约束检查--
use HrSystem
go
alter table Employees
add constraint ck_sex check (Sex="男" or Sex="女")

--删除检查约束--
--删除表Employees中ck_Sex的约束--
use HrSystem
go
alter table Employees
drop constraint ck_Sex
go
--从information_schema.check_constraints获取检查约束信息--
--从系统视图中information_schema.check_constraints可以查看当前数据库中当前用户 有权限查看的所有检查约束信息--

select * from information_schema.check_constraints

--创建和使用默认约束--
constraint 约束名
   default 约束表达式 [for 列名]
--在表Employees中的列Title的默认约束为‘职员’--
use HrSystem
go
alter table Employees
add constraint de_Title default "职员" for Title
go

 

原文地址:https://www.cnblogs.com/Mratos/archive/2022/03/16/16012972.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯