sql数据库基础T-sql语句

只愿长相守 提交于 2019-11-28 18:10:51

注:示例中的表名以及字段名有一些不统一,若有看到的不要直接代入执行。参考语法结构即可。

1.创建数据库

/*创建数据库libraryDB*/
CREATE DATABASE libraryDB
ON
(
    /*数据库文件的详细描述*/
    name= 'libraryDB_mdf',    --主数据库文件的逻辑名
    filename = 'E:\library\libraryDB_mdf.mdf',    --主数据文件的物理名
    size = 3MB,    --初始大小
     maxsize=100,--最大值
    fiegrowth= 20%    --增长率
)
LOG ON    
(
    /*日志文件的详细描述*/
    NAME = 'libraryDB_ldf',    --日志文件的逻辑名
    FILENAME = 'E:\library\libraryDB_ldf.ldf',    --日志文件的物理名
    SIZE = 1MB,    --初始大小
    MAXSIZE = 15MB, --最大值
    FILEGROWTH = 10%    --增长率
)
GO

2.数据表(创建/修改/删除)

--判断BookType表是否存在,存在则删除
if exists (select 1 from sysobjects where [name]='BookType')
 begin
   drop table BookType
 end
--创建图书类型表:BookType
create table BookType
(
    TypeId int not null identity(1,1) primary key,      --图书类型编号(主键、标识列、从1开始、每次增加1)
    TypeName varchar(50) not null,                   --图书类型名称
    Remark varchar(100)                               --备注信息
)

--添加字段
alter table BookType add Sex char(2)
--修改字段
alter table BookType alter column Sex char(50)
--删除字段
alter table BookType drop column sex  


--删除表BookType
drop table BookType

3.约束 (创建、删除和修改)

1.非空约束

 列的空性决定表中的行是否为该列包含空值。空值(或NULL)不同于零(0)、空白或长度为零的字符串(如“”“”)

2.主键约束

通过定义primary key约束来创建主键约束,用于强制表的实体完整性,保证数据的唯一性。一个表只能有一个主键约束,且不能为空值。

经常对标识列定义这种约束。 

----建表时创建主键参考上面建表ID字段

--为现有表添加主键
alter table BookType
add constraint PK_BookType_TypeId primary key(TypeId)
--删除主键只需要将add替换为drop

3.唯一约束

 唯一约束unique用于轻质实施列表中值得唯一性。表中任意两行都不能有相同的列值。另外,主键也强制实施唯一性,但主键不允许NULL为唯一值。

注:若要修改唯一约束,必须先将现有唯一约束删除,在重新定义唯一约束

---建表时创建唯一约束
  
  create table BookType
(
    TypeId int not null identity(1,1) primary key,      --图书类型编号(主键、标识列、从1开始、每次增加1)
    TypeName varchar(50) unique,                   --图书类型名称
    Remark varchar(100)                               --备注信息
)

----现有表中创建唯一约束
alter table BookType
add constraint UQ_BookType_TypeName unique (TypeName)

--删除唯一约束
alter table BookType 
drop constraint UQ_BookType_TypeName

4.检查约束

检查约束check可以强制域的完整性,控制表中放入的值

注:若要修改检查约束,必须先将现有检查约束删除,在重新定义检查约束

---创建表时创建检查约束
create table Student
(
   StuId int identity primary key,--学生编号
   StuName varchar(50) not null,--学生姓名
   --StuSex char(2) check(StuSex='男'or StuSex='女') 
   StuSex char(2)check(StuSex  in('男','女'))  
)

---现有表创建检查约束
alter table Student add constraint CK_Student_Sex check(StuSex='男'or StuSex='女')

--删除检查约束
alter table Student drop constraint CK_Student_Sex

5.默认约束

 定义默认约束default来创建默认值

 注:若要修改默认约束,必须先将现有检查默认删除,在重新定义默认约束

---创建表时创建检查约束
create table Student
(
   StuId int identity primary key,--学生编号
   StuName varchar(50) not null,--学生姓名
   StuSex char(2) check(StuSex='男'or StuSex='女') default '女'
   --StuSex char(2)check(StuSex  in('男','女'))  
)

--现有表创建默认约束
alter table Student add constraint Def_Student_Sex default '女' for StuSex

--删除默认约束
alter table Student drop constraint Def_Student_Sex

6.外键约束

 注:若要修改外键约束,必须先将现有检查外键删除,在重新定义外键约束

---创建表时创建检查约束
create table StudentInfo
(
   Id int identity primary key,--编号
   phone varchar(50),--电话
   HommeAddress varchar(50),--住址
   remark varchar(50),--描述
   constraint FKid  foreign key(Id) references Student(StuId)
)

--现有表创建外键
alter table StudentInfo add constraint FKid foreign key(Id) references Student(StuId)

--删除外键约束
alter table StudentInfo drop constraint FKid

4.数据操作(添加、修改和删除)

 1.使用insert添加数据

--向表中某些字段添加数据
insert into Student (StuName,StuSex ) values('张三','女') --向表中所有字段添加数据 insert into Student values('王芳','男')

2.使用update修改数据

--修改数据
update Student set StuSex='女' where StuName='张三'
update Student set StuSex='男' where StuName='王芳'

3.使用delete删除数据

--删除数据
delete Student where StuName='lina'

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!