澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

数据库Tsql语句创建,用SQL语句建库建表建约束

2019-07-07 作者:数据库网络   |   浏览(163)

系统数据库

----------------------------------------SQL Server建库-建表-建约束创立School数据库--------------------------------------

一 :成立数据库

1.创建数据库
use master
go
if exists(select * from sysdatabases where name='数据库名字')
drop database 数据库名字
go
create database 数据库名字

一、维护数据的完整性
数据的完整性用于确定保证数据库数据遵从一定的生意和逻辑法则,在oracle中,数据完整性能够利用约束、触发器、应用程序(进度、函数)三种格局来达成,在那二种格局中,因为约束易于维护,並且具备最佳的天性,所以作为护卫数据完整性的首荐。

    1、master:用于记录全部SQL server系统级其余音讯,比方说登陆的消息,系统设置音信。假设她没了。你的SQL server就挂了。

--创设School数据库之前:首先剖断数据库是或不是存在,若存在则删除后再次创下制,若不设有则开创--
--exists关键字:括号里边能查询到数量则赶回‘true’ 不然赶回‘false’
if exists(select * from sysdatabases where name = 'School')
--exists重临‘true’则履行删除数据库操作--
drop database School

创立四个数据文件和一个日记文件(MySchool)

create database 数据库名字
on primary
(
name = 'MySchool_data',
filename = 'D:projectMySchool_data',--主数据文件
size = 10mb,
maxsize = 100mb,
filegrowth=15%
)
log on
(
name = 'MySchool_log',
filename = 'D:projectMySchool_log',--日志文件
size = 3mb,
maxsize = 20mb,
filegrowth=1mb
)
2.中国共产党第五次全国代表大会概束
1.—-主键约束(Primay Key constraint) 独一性,非空性
2.—-唯一约束 (Unique constraint)独一性,能够空,但不得不有叁个
3.—-检查约束 (Check constraint) 对该列数据的限定、格式的限定(如:年龄、性别等)
4.—-暗中同意约束 (Default constraint) 该数量的暗许值
5.—-外键约束 (Foreign Key constraint) 须要树立两表间的涉及并援用主表的列
3.五大致束的语法示例

     

    2、model:模型的意味,就如模板同样。制造数据库都未来续model。若是您在该数据库下开创一张表,以往每创制新数据库,就曾经有了model的表。

--exists再次来到‘false’则评释数据库不设有,直接开立

create database MySchool
on primary      --暗中同意属于primary主文件组,可粗略
(
--数据文件的具体陈说

1.—-加多主键约束(将stuNo作为主键)
alter table stuInfo
add constraint PK_stuNo primary key (stuNo)
2.—-加多独一约束(身份ID号独一,因为各类人的都分裂)
alter table stuInfo
add constraint UQ_stuID unique(stuID)
3.—-增多默许约束(假诺地点不填 默认为“地址不详”)
alter table stuInfo
add constraint DF_stuAddress default (‘地址不详’) for stuAddress
4.—-加多检查约束 (对年龄加以限定 15-40虚岁之间)
alter table stuInfo
add constraint CK_stuAge check (stuAge between 15 and 40)

数据库Tsql语句创建,用SQL语句建库建表建约束。二、约束
封锁用于确认保证数据库数据满意一定的小购销准绳。在oracle中,约束包罗:not null、 unique, primary key, foreign key和check 多样。
1)、not null(非空)
假若在列上定义了not null,那么当插入数据时,必须为列提供数据。
2)、unique(唯一)
当定义了独一约束后,该列值是不能够重复的,不过可认为null。
3)、primary key(主键)
用以唯一的标识表行的数码,当定义主键约束后,该列不但不能够重新何况不可能为null。
亟待验证的是:一张表最七只能有三个主键,不过足以有多少个unqiue约束。
4)、foreign key(外键)
用于定义主表和从表之间的涉及。外键约束要定义在从表上,主表则必须有所主键约束或是unique 约束,当定义外键约束后,须要外键列数据必须在主表的主键列存在可能为null。
5)、check
用以强制行数据必须满意的条件,假定在sal列上定义了check约束,并须要sal列值在1000-两千中间一旦不在一千-贰仟之间就能够提示出错。

    3、msdb:和master同样记录音讯,不相同的是它记录任务调动,事件管理,数据备份及回复,报警和非常的音讯。

create database School
on primary
(
--主数据库文件--
name = 'School', --主数据文件逻辑名
fileName = 'D:projectSchool.mdf', --主数据文件物理逻辑名
size = 5MB, --伊始值大小
maxsize = 100MB, --最大尺寸
filegrowth = 15% --数据文件增加量
)
log on
(
--日志文件--
name = 'School_log',
filename = 'D:projectSchool_log.ldf',
size = 2MB,
filegrowth = 1MB
)
go

name = 'MySchool_data'    --主数据库文件的逻辑名称
filename = 'D:projectMySchool_data.mdf', --主数据库文件的情理名称
size = 5MB,     --主数据库文件的发端大小
maxsize = 100MB,     --主数据库文件增加的最大值
数据库Tsql语句创建,用SQL语句建库建表建约束。filegrowth = 15%     --主数据文件的增进率

alter table stuInfo
add constraint CK_stuSex check (stuSex=’男’ or stuSex=’女′)

    

    4、tempdb:一时数据库,它为持有有时表,有时存款和储蓄进度提供仓库储存空间

----------------------------------------使用T-SQL创建employee数据库------------------------------------
create database employee
on primary
(
--主要数据文件--
name = 'employee1',
filename = 'D:projectemployee1.mdf',
size = 10MB,
filegrowth = 10%
),
(
--次要数据文件--
name = 'employee2',
filename = 'D:projectemployee2.ndf',
size = 20MB,
maxsize = 100MB,
filegrowth = 1MB
)
log on
(
--首先个日志文件--
name = 'employee_log1',
filename = 'D:projectemployee_log1.ldf',
size = 10MB,
filegrowth = 1MB
),
(
--次之个日志文件--
name = 'employee_log2',
filename = 'D:projectemployee_log2.ldf',
size = 10MB,
maxsize = 50MB,
filegrowth = 1MB
)

)
log on
(
--日志文件的具体描述,各参数含义同上

5.—-增加外键约束 (主表stuInfo和从表stu马科斯创建关联,关联字段stuNo)

三、百货店发卖系统表设计案例一
现成二个商家的数据库,记录客户及其购物情形,由上边四个表组成:
货品goods(商品号goodsId,商品名goodsName,单价unitprice,商品体系category,供应商provider);
客户customer(客户号customerId,姓名name,地址address,电邮email,性别sex,身份证cardId);
购进purchase(客户号customerId,商品号goodsId,购买数量nums);
请用SQL语言产生下列成效:

只顾:以上四个种类数据库,别去删,删了有高低的主题素材。

---------------------------------查询已存在的数据库消息---------------------------
select * from sysdatabases

name = 'MySchool_log',    --主数据库文件的逻辑名称
filename = 'D:projectMySchool_data.ldf', --主数据库文件的概略名称
size=2MB,     --主数据库文件的起来大小
filegrowth = 1MB    --主数据文件的增长速度

alter table stuInfo
add constraint FK_stuNo foreign key(stuNo)references stuinfo(stuNo)
4.直接在建表的时候加多约束
create table UserType--用户体系表
(
TypeID int not null primary key identity(1,1),
TypeName varchar(20) not null
)
create table Users--用户表
(
UserID int not null primary key identity(1,1),
UserName varchar(20) not null,
UserPwd int not null,
UserTyID int not null foreign key references UserType(TypeID)--用户连串
)
create table VisitArea--访问区域表
(
VisitID int primary key identity(1,1),
VisitName varchar(20)
)
create table UserTypeA--用户体系与区域表
(
TypeAID int not null primary key identity(1,1),
UserTypeID int not null foreign key references UserType(TypeID),
VisitID int not null foreign key references VisitArea(VisitID)
)
create table UsersLog--用户登入记录表
(
LogID int not null primary key identity(1,1),
LogName varchar(20) not null,
LogUserID int not null foreign key references Users(UserID),
LogTime date not null
)
create table VisitRecord--访谈记录表
(
VRID int not null primary key identity(1,1),
VUserID int not null foreign key references Users(UserID),
VVisitID int not null foreign key references VisitArea(VisitID),
VisitTime date not null,
VUserType int not null foreign key references UserType(TypeID)
)
create table UpGrade
(
UGID int primary key not null identity(1,1),
UGUserID int not null foreign key references Users(UserID),
UpDown int not null , --升降标志
UpTypeID int not null check(UpTypeID>1 and UpTypeID<4 ),
DownTypeID int not null check(DownTypeID>1 and DownTypeID<4 ),
UpDownTime date not null,

  1. 建表,在概念中供给声明:
    (1). 各样表的主外键;
    (2). 客户的人名不能够为空值;
    (3). 单价必须大于0,购买数量必须在1到30之内;
    (4). 电邮不可见重新;
    (5). 客户的性别必须是男依然女,暗中认可是男;

    SQL> create table goods(

    goodsId char(8) primary key, --主键
    goodsName varchar2(30),
    unitprice number(10,2) check(unitprice>0),
    category varchar2(8),
    provider varchar2(30)
    

    ); SQL> create table customer(

    customerId char(8) primary key, --主键
    name varchar2(50) not null, --不为空
    address varchar2(50),
    email varchar2(50) unique, --唯一
    sex char(2) default '男' check(sex in ('男','女')), -- 一个char能存半个汉字,两位char能存一个汉字
    cardId char(18)
    

    ); SQL> create table purchase(

    customerId char(8) references customer(customerId),
    goodsId char(8) references goods(goodsId),
    nums number(10) check (nums between 1 and 30)
    

    ); 表是暗许建在SYSTEM表空间的

数据类型:

---------------------------------删除数据库------------------------------------
drop database School

)
go

)

use master
go
if exists(select * from sysdatabases where name='MySchool')
drop database MySchool
go
create database MySchool
on
(
name='MySchool_data',
filename='D:projectMySchool_data.mdf',
size=5MB,
filegrowth=15%
)
log on
(
name='MySchool_log',
filename='D:projectMySchool_log.ldf',
size=5mb,
filegrowth=1mb
)
go

use MySchool
go
if exists(select * from sysobjects where name='Student')
drop table Student
go
create table Student
(
StudentNo int not null, --学号
LoginPwd nvarchar(20) not null, --登陆密码
StudentName varchar(20) not null, --学生姓名
Sex bit not null, -- 性别
GradeId int not null, --年级
Phone varchar(20) not null, --电话号码
Address nvarchar(100), --地址
BornDate datetime not null, --出破壳日期
Email nvarchar(50), --邮箱
IDEntityCard varchar(18) --居民身份证号
)
go
--主键约束 学生标号
alter table Student
add constraint PK_StudentNo primary key(StudentNo)
--独一约束 身份ID号
alter table Student
add constraint UQ_IDEntityCard unique(IDEntityCard)
--暗中同意约束 地址不详
alter table Student
add constraint DF_Address default('地址不详') for Address
--检查约束 出出生之日期
alter table Student
add constraint CK_BornDate check(BornDate>'1980-01-01')

 

use MySchool
go
if exists(select * from sysobjects where name='Subject')
drop table Subject
go
create table Subject
(
SubjectNo int identity(1,1) not null, --课程编号
SubjectName nvarchar(20) not null, --课程名称
ClassHour int not null, --课时
GradeId int not null --年级
)
go

--主键约束
alter table Subject
add constraint PK_SubjectNo primary Key(SubjectNo)
--检查约束
alter table Subject
add constraint CK_ClassHour check(ClassHour>0)

alter table Subject
add constraint Ck_SubjectName check(SubjectName!=null)
--外键约束

use MySchool
go
if exists(select * from sysobjects where name='Result')
drop table Result
go
create table Result
(
StudentNo int not null, --学号
SubjectNo int not null, --课程编号
StudentResult int not null, --学生战表
ExamDate datetime not null --考试日期
)
go

 

alter table Result
add constraint PK_fuhe primary Key(StudentNo,SubjectNo,ExamDate)
alter table Result--暗许约束 日期
add constraint DF_ExamDate default(getdate()) for ExamDate
alter table Result
add constraint CK_StudentResult check (100>StudentResult )
alter table Result
add constraint CK_StudentResult2 check (StudentResult>0 )
alter table Result
add constraint FK_SubjectNo subject是主表
foreign Key(SubjectNo) references Subject(SubjectNo)
alter table Result
add constraint FK_StudentNo
foreign Key(StudentNo) references Student(StudentNo)

use MySchool
go
if exists(select * from sysobjects where name='Grade')
drop table Grade
go
create table Grade
(
GradeID int identity(1,1) not null, --年级编号
GradeName nvarchar(20) not null, --年级

)
go

alter table Grade
add constraint PK_GradeID primary Key(GradeID)

--外键约束
alter table Student
add constraint FK_澳门新萄京官方网站,GradeId
foreign Key(GradeId) references Grade(GradeId)

alter table Subject
add constraint FK_GradeId2
foreign Key(GradeId) references Grade(GradeId)

--向Grade表插入数据
INSERT INTO Grade VALUES('S1')

--向Subject表插入数据
INSERT INTO Subject VALUES('Winforms',20,1)

--向Student表插入数据
INSERT INTO Student VALUES('一千0','GuoJing','哈伊梅·阿约维',1,1,02088762106,'萨格勒布市河西区','一九九〇-09-08 00:00:00','GuoJing@sohu.com',111111)

--向Result表插入数据
INSERT INTO Result VALUES('10001',2,70.6,'2013-02-15 00:00:00')

select * from Grade
select * from Result
select * from Student
select * from Subject

          

    1、数值型:

---------------------------------创立Student数据库表----------------------------
--1、接纳操作的数据库--
use School
go

 

四、商号发售系统表设计案例二
纵然在建表时忘记创设供给的束缚,则足以在建表后使用alter table命令为表扩展约束。可是要注意:扩大not null约束时,供给运用modify选项,而扩张其余各种约束使用add选项。
1)、扩大商品名也不能够为空
SQL> alter table goods modify goodsName not null;
2)、增加身份ID也无法重新
SQL> alter table customer add constraint xxxxxx unique(cardId);
3)、 扩展客户的住址只好是’海淀’,’鄂尔多斯’,’东城’,’西城’,’通州’,’崇文’,’昌平’;
SQL> alter table customer add constraint yyyyyy check (address in ('海淀','朝阳','东城','西城','通州','崇文','昌平'));

          整型:int  smallint  bigint  tinyint

--判定表是不是存在--
if exists(select * from sysobjects where name = 'Student')
drop table Student

成立多个数据文件和四个日志文件(employees)
create database employees
on primary
(
--主数据库文件的切实描述
name='employee1',
filename='D:projectemployee1.mdf',
size=10,
filegrowth=10%
),
(
--次要数据库文件的具体描述
name='employee2',
filename='D:projectemployee2.mdf',
size=20,
maxsize=100,
filegrowth=1
)          
log on
(
--日志文件1的现实性描述
name='employeelog1',
filename='D:projectemployee1_log.ldf',
size=10,
maxsize=50,
filegrowth=1
),
(
--日志文件2的陈说
name='employeelog2',
filename='D:projectempolyee2_log.ldf',
size=10,
maxsize=50,
filegrowth=1
)
go

             
删去约束
当不再须要某些约束时,可以去除。
alter table 表名 drop constraint 约束名称;
特地说澳优下:在剔除主键约束的时候,恐怕有荒唐,比方:alter table 表名 drop primary key;那是因为假诺在两张表存在主从关系,那么在剔除主表的主键约束时,必须带上cascade选项 如像:alter table 表名 drop primary key cascade;
                  
呈现约束消息
1)、展现约束新闻
经过询问数据字典视图user_constraints,能够展现当前用户具有的约束的音讯。
select constraint_name, constraint_type, status, validated from user_constraints where table_name = '表名';
2)、展现约束列
通过查询数据字典视图user_cons_columns,能够来得约束所对应的表列新闻。
select column_name, position from user_cons_columns where constraint_name = '约束名';
3)、当然也可能有更易于的法子,直接用pl/sql developer查看就能够。轻巧演示一下下...

          浮点型:float  real

--2、创建表---
create table Student
(
--具体的列名 数据类型 列的特点(是或不是为空)--
StudentNo int identity(2,1) not null,
LoginPwd nvarchar(20) not null,
StudentName nvarchar(20) not null,
Sex int not null,
GradeId int not null,
phone nvarchar(50) not null,
BornDate datetime not null,
Address nvarchar(255),
Email nvarchar(50),
IDENTITYcard varchar(18)
)
go

 

        

          货币型:money

---查看全部数据库对象(数据库表)---
select * from sysobjects

 

五、表级定义、列级定义
1)、列级定义
列级定义是在概念列的还要定义约束。
设若在department表定义主键约束

    2、布尔型(bit):

drop table Student

二:删除数据库
usr master
if exists(select * from sysdatabases where name='....')
drop database ......

create table department4(
   dept_id number(12) constraint pk_department primary key,
   name varchar2(12), 
   loc varchar2(12)
);

         True

----------------------创建subject课程表-------------------
-----1、推断表是不是存在;若存在则删除再创设,若不设有则一向开立--------
if exists(select * from sysobjects where name = 'subject')
drop table subject

 

    
2)、表级定义
表级定义是指在概念了装有列后,再定义约束。这里需求小心:
not null约束只可以在列级上定义。
以在建设构造employee2表时定义主键约束和外键约束为例:

         False

use School
go

 

create table employee2(
   emp_id number(4), 
   name varchar2(15),
   dept_id number(2), 
   constraint pk_employee primary key (emp_id),
   constraint fk_department foreign key (dept_id) references department4(dept_id)
);

    3、二进制型

---创建subject课程表--
create table subject
(
SubjectNo int not null identity(1,1),
SubjectName nvarchar(50),
ClassHour int,
GradeID int
)

三:创制和删除表

 

         binary

----------------------------------------创建Result成绩表-------------------
-----1、决断表是或不是留存;若存在则删除再次创下设,若空中楼阁则一贯开立--------
if exists(select * from sysobjects where name = 'Result')
drop table Result

use MySchool    --在Myschool中创立表
go

         varbinary

use School
go

create table Student
(
StudentNo int not null.   --学号,int 类型,不容许为空
LoginPwd nvarchar(50) not null,  --密码 nvarchar类型,不容许为空
StudentName nvarchar(50) not null, --名字,nvarchar类型,步允许为空
Sex bit not null,   --性别,取值0或1
Email nvarchar(20)   --邮箱,可为空
)
go

         image

---创建Result成绩表--
create table Result
(
StudentNo int not null,
SubjectNo int not null,
ExamDate Datetime not null,
StudentResult int not null
)

删除表
use MySchool
go
if exists(select * from sysobjects where naem='Student')
drop table Student
  
                                                                                                                                                                                                                                                                                                                                                                                                  
四:创设和删除约束
主键约束(Primary Key Constraint)
非空约束(Not Null)
独一约束(Unique Constaraint)
自己切磋约束(Check Constaraint)
暗许约束(Default Constaraint)
外建约束(Foreign Key Constarint):用于在两表之间确立关系,需求内定援引主表的哪一列

    4、文件数据类型

-----------------------------------------创建Grande年级表-------------------
-----1、推断表是不是存在;若存在则删除再创立,若不设有则直接创制--------
if exists(select * from sysobjects where name = 'Grade')
drop table Grade

alter table 表名
add constraint 约束名  约束类型  具体的牢笼表达

        char    固定长度

use School
go

例:
--增加主键约束
alter table Student
add constraint PK_StudentNo Primary Key(StudentNo)

        vachar  可变长度

---创建Grande年级表--
create table Grade
(
GradeId int not null,
GrandeName nvarchar(50)
)

--加多唯一约束
alter table student
add constraint UQ_IdentityCard unique(IdentityCard)

        nvarchar

-----------------------------------------T-SQL增添封锁-------------------------
--给StudentNo增多主键约束---
alter table Student
add constraint pk_StuNo primary key(StudentNo)

--增添暗许约束
alter table Student
add constraint DF_Address default('地址不详') for address

        nchar  

--给身份证增多独一约束--
alter table Student
add constraint uq_StuIdcard unique(IDENTITYcard)

--增多检查约束
alter table Student
add constraint CK_BornDate checke(BornDate>='1980-01-01')

        text    长文本音讯

---给地方address添加默许约束--
alter table Student
add constraint df_stuaddress default('地址不详') for Address

--增多外键约束(Result是从表,Student是主表)
alter table Result
add constraint FK_StudentNo
foreign key(StudentNo) references Student(StudentNo)
go

        ntext   可变长度的长文本

---删除地址address私下认可约束---
alter table Student
drop constraint df_stuaddress

除去约束
alter table 表名
drop constraint 约束名

        datetime 日期和岁月

----------出破壳日期加多检查约束--------
alter table Student
add constraint ck_stuBorndate check(Borndate > '1980-01-01')

例:删除学生表中的暗中同意约束
alter tablte Student
drop constraint DF_Address

新建数据库:

---------与Grand(年级表)建设构造主外键关系--------

哪些向已存在数据的表中增加约束
alter table Employee with nocheck ( whit nocheck不向已存在的数据约束)
add constraint

    1、数据库文件  :主数据文件和副数据文件

--1、添加Grade主键(操作Grade)---
alter table Grade
add constraint pk_graid primary key(GradeId)

向已存在的多少表中插入一列
alter table 表名
add 列名 数据类型  null

    2、日志文件:叁个或三个

--2、添加Grade外键(操作Student)--
alter table Student
add constraint fk_stuGradeID foreign key(GradeId) references Grade(GradeId)

 

    3、create database 名称

 

 

重命名数据库:exec sp_renamedb new,old

-------------------给subject课程表增多约束-----------------------

在数据库中用SQL语句创设文件夹(例:在E盘创设三个project文件夹)

除去数据库:drop database 名称1,名称2

----给subjectNo列增添主键约束------
alter table subject
add constraint pk_SubID primary key(SubjectNo)

exec sp_configure 'show advanced option',1

新建数据库:

------给课程名称subjectName增多非空约束;-----
-----with nocheck:已经存在数据不通过check约束-------
alter table subject with nocheck
add constraint ck_subName check(SubjectName is not null)

go

    create database test(数据库文件名)

-----学时务必赶上0-----
alter table subject with nocheck
add constraint ck_ClassHour check(ClassHour > 0)

reconfigure

    on

-----与Grade年级表加多主外键约束----
alter table subject with nocheck
add constraint fk_GradeID foreign key(GradeID)
references Grade(GradeID)

go

    (

----------给result战绩表加多约束------------

exec sp_configure 'xp_cmdshell',1

    name=test_data(主数据文件),

-------增加几个约束---------
alter table Result
add
constraint pk_No_subID_date primary key(StudentNo,SubjectNo,ExamDate),
constraint df_examdate default(getdate()) for ExamDate,
constraint ck_StudentResult check(StudentResult between 0 and 100),
constraint fk_StuNo foreign key(StudentNo) references Student(StudentNo),
constraint fk_subNo foreign key(SubjectNo) references Subject(SubjectNo)

go

    filename = 'D:ProgramFilesSQLdatatest_data.mdf',

--删除八个约束--
alter table Result
drop constraint pk_No_subID_date,fk_subNo,fk_StuNo,ck_StudentResult,df_examdate

reconfigure

    size=6(先导化大小),

--------更动列的数据类型----------
alter table Result
alter column StudentResult int

go

    maxsize=12,

exec xp_cmdshell 'mkdir D:project'

    filegrowth(增长率)=10%

 

    )

    log on

    (

    name=test_log(日志文件),

    filename='D:ProgramFilesSQLdatatest_log.ldf',

    size=1,

    maxsize=8,

    filegrowth=10%

    )

创建表:

  create table 教师表

  (

  教授编号 int identity(1,1) primary key,

  教师姓名 varchar(20) not null,

  教授年龄 int,

  教授报酬 money,

  奖金 money,

  总收入 money,

  同盟学院 varchar

  )

  说明:

    identity:表示自拉长,日常为ID赋值

    primary key:主键

    not null:不为空

  注意:种种字段后边的逗号别忘了

查询表:

    select * from 教师表

    select 奖金,总收入 from 教师表

删除表:

    use test--切换来该表所在的数据库下,假使已经在,就无须切换

    drop table 教室表--删除全数表

删除表,但不删除表结构,只清空数据;

    Truncate table 教师表

重命名表:

    exec sp_rename 教师表,教师表1

新增添字段:

    alter table 教师表

    add Email varchar(60) default ''

修改字段:

    alter table 教师表

    alter column 教授薪金 int

删去字段:

    alter table 教师表

    drop column 家庭住址

增加产量多少:

    insert into 教师表(教授年龄,教师职务名称,助教薪资,课程)

    values(19,'微微',100000,'java')

查询数据:

    select * from 助教表 where 教授工资<一千0

 

    select * from 教授表 where 助教薪金 in(5555,6666,9999)

    select * from 教师表 where 姓名  not in(select 班主任 from 课程表)

    select 姓名,教授薪酬 奖金 as 营收 from 教师表

 

    select * from 课程表 where 同盟学院 like '%马%'

    select * from 课程表 where 合营学院 like '黑%'

 

     select top 4 * from 课程表

    select top 20 percent * from 教师表

 

    select * from 课程表1 intersec select * from 课程表2   集合交

 

    select * from 教师表,课程表1 where 教师表.姓名=课程表1.班主任

    select * from 教师表,课程表1 where 姓名=班主任     去后缀

    排序:

        select * from 教师表 order by 年龄 --暗许升序,倒序desc

        select * from 教师表 order by 年龄,教师工资

    去重:

        select distinct 姓名 from 教师表

    计算求和:

        select COUNT(*) as 行数 from 教师表

        select COUNT(姓名) from 教师表

    平均:

        select avg(教师薪酬) from 教授表

    最大和微小:

        select max(助教薪资) from 教授表

立异数据:

    update 教授表 set 教师年龄=28,教授薪水=7777 where 助教编号=4

    update 助教表 set 姓名='水芝中学之' 姓名

删去数据:

    delete from 教授表 where 助教编号=7

 

约束:

1、unique:唯一约束,一个表能够有多少个约束,但primary 约束只有多少个

 

2、Primary key:约束独一标记数据库中的每条记下,主键必须包涵独一值,不能够富含null值,有且独有三个主键。

 

3、Foreign key:七个表的束缚

 

4、check 约束:假诺对单个列定义check约束,那么该列值运维特定的值。

                  假诺对贰个表定义check约束,那么此约束会在一定的列中对值          实行限定。

5、default:默认值

alter table userIofo

add constraint PK_userId primary key(userId),

    constraint CK_userPwd check(len(userPwd)>6),

    constraint Ck_Gender check(Gender=0 or Gender=1),

    constraint DF_Gender default(0) for gender,

    constraint CK_Email check(Email like '%@%')

--[1]外键约束时注意类型,长度必须与援引的主键列的花色,长度一致

--[2]外键约束时留心援引表中必供给有主键列

--[3]exec sp_helpconstraint 表名称

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:数据库Tsql语句创建,用SQL语句建库建表建约束

关键词: