java增删改查外键约束_Sql中常用的创建表 约束 主外键 增删改查的语句

创建数据库

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 USEmaster;2 GO

3 --日记数据库

4 create databaseDiaryBase5 on

6 (7 name=DiaryBase_Dat,--逻辑名称

8 FILENAME='c:\DiaryBase.log',9 size=10MB,10 maxsize=50MB,11 FILEGROWTH=5MB12 )13 log on

14 (15 name=DiaryBase_Log,16 FILENAME='c:\DiaryBase.mdf',17 size=10MB,18 maxsize=50MB,19 FILEGROWTH=5MB20 )21 go

View Code

创建表 (包含约束)

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 --drop table users

2 create tableUsers3 (4 id int identity(1,1) primary key,5 username nvarchar(20) unique not null,--唯一约束

6 userPassword varchar(20) not null,7 gender char check (gender ='男' or gender ='女'),--check(这里是一个bool值)

8 age int,9 check (age>0 and age <100) --检查约束

10 )11 go

12 --drop table diaryinfo

13 create tableDiaryInfo14 (15 dId int identity(1,1) primary key,16 userId int foreign key references users ( id),--外键

17 dInfo nvarchar(300) not null,18 dCreateTime datetime default (getdate()),--默认约束

19 dTitle nvarchar(50)20 )21 go

View Code

修改表

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 --增加和删除列

2 alter table users add UserAddr nvarchar(30)3

4 alter table users drop columnuseraddr5

6 alter table users add UserPhoneNumber nvarchar(40)7 --add DF_Users_userPhoneDf constraint

8 default ('000000')9

10

11 --修改表的约束

12 --删除和增加 默认约束

13 alter table users drop constraintDF__Users__UserPhone__20C1E12414 alter table users add constraintDF__Users__UserPhoneNumber15 Default('5555') forUserPhoneNumber16 --增加删除 唯一约束(mssm中在索引分组里)

17 alter table users drop constraintUQ__Users__F3DBC572276EDEB318 alter table users add constraint UQ_users_UserName unique(UserName)19

20 --增加和删除 主键约束

21 alter table Users drop constraintPK__Users__3213E83F2492720822 alter table Users add constraint Pk_Users_id primary key(id)23

24 --增加和删除 外键约束

25 alter table DiaryInfo drop constraintFK__DiaryInfo__userI__30F848ED26 alter table DiaryInfo add constraintFK_DiaryInfo_userId27 foreign key (UserId) referencesUsers(id)28

29 --增加和删除 检查约束

30 alter table Users drop constraintCK__Users__age__2A4B4B5E31 alter table Users add constraint CK_Users_age check(age<100 and age>0)

View Code

同时增加多条约束

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

alter table Employees add

constraint FK_Employees_Department foreign key(EmpDepId) referencesDepartment(DepId),constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120),constraint CK_Employees_EmpGender check(EmpGender='男' or EmpGender='女')

View Code

查询

select

学生编号=tsid,

tsname as 学生姓名,

tsgender 性别,

婚否='否'--查询的时候直接赋值 ‘否’

from TblStudent

--where 性别='男'  这里性别无效 他只是用来显示的

--distinct关键字,针对已经查询出的结果然后去除重复

select distinct * from TblStudent

--如果top后跟的不是数字,而是一个表达式一定要使用()把表达式括起来。

select top (2*2) * from TblScore order by tMath desc

select top 35 percent * from TblScore order by tMath desc

--1.聚合函数不统计空值

--对于in或者or 查询,如果查询中的条件是连续的几个数字,最好使用>=  <=或者between...and不要使用or或者in。提高效率

select * from TblStudent where tsname like '张[a-z0-9]妹'

--通配符放到[]中就转义了就不认为是通配符了。【】是系统默认的转移符

select * from TblStudent where tsname like '%[%]%'

查出

605ca08514c827e66b836e8c40526a5b.png

当要搜索名字有 有[或者]字符的

select * from TblStudent where tsname like '%[]]%'

这样查不到,这里需要我们使用自定义转移符  ESCAPE

select * from TblStudent where tsname like '%/[%'  ESCAPE '/'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值