Sql中經常使用的建立表 約束 主外鍵 增刪改查的語句

建立數據庫數據庫

 1 USE master;
 2 GO
 3 --日記數據庫
 4 create database DiaryBase
 5 on
 6 (
 7     name=DiaryBase_Dat,--邏輯名稱
 8     FILENAME='c:\DiaryBase.log',
 9     size=10MB,
10     maxsize=50MB,
11     FILEGROWTH=5MB
12 )
13 log on
14 (
15     name=DiaryBase_Log,
16     FILENAME='c:\DiaryBase.mdf',
17     size=10MB,
18     maxsize=50MB,
19     FILEGROWTH=5MB
20 )
21 go
View Code

 

建立表 (包含約束)ide

 1 --drop table users
 2 create table Users
 3 (
 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 table DiaryInfo
14 (
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

 

修改表函數

 1 --增長和刪除列
 2 alter table users add UserAddr nvarchar(30) 
 3 
 4 alter table users drop column useraddr
 5 
 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 constraint   DF__Users__UserPhone__20C1E124
14 alter table users    add constraint DF__Users__UserPhoneNumber  
15          Default('5555') for UserPhoneNumber
16 --增長刪除  惟一約束(mssm中在索引分組裏)
17 alter table users drop constraint UQ__Users__F3DBC572276EDEB3
18 alter table users add constraint UQ_users_UserName unique(UserName)
19 
20 --增長和刪除 主鍵約束
21 alter table Users drop constraint PK__Users__3213E83F24927208
22 alter table Users add constraint Pk_Users_id primary key(id)
23 
24 --增長和刪除 外鍵約束
25 alter table DiaryInfo drop constraint FK__DiaryInfo__userI__30F848ED
26 alter table DiaryInfo add constraint FK_DiaryInfo_userId 
27             foreign key (UserId) references Users(id)
28             
29 --增長和刪除  檢查約束
30 alter table Users drop constraint CK__Users__age__2A4B4B5E
31 alter table Users add constraint  CK_Users_age check(age<100 and age>0) 
View Code

同時增長多條約束spa

alter table Employees add
constraint FK_Employees_Department foreign key(EmpDepId) references Department(DepId),
constraint CK_Employees_EmpAge check(EmpAge>=0 and EmpAge<=120),
constraint CK_Employees_EmpGender check(EmpGender='' or EmpGender='')
View Code

查詢code

select
    學生編號=tsid,
    tsname as 學生姓名,
    tsgender 性別,
    婚否='否'--查詢的時候直接賦值 ‘否’
from TblStudent
--where 性別='男'  這裏性別無效 他只是用來顯示的blog

 

--distinct關鍵字,針對已經查詢出的結果真後去除重複
select distinct * from TblStudent索引

 

--若是top後跟的不是數字,而是一個表達式必定要使用()把表達式括起來。
select top (2*2) * from TblScore order by tMath descget

select top 35 percent * from TblScore order by tMath descit

 

--1.聚合函數不統計空值event

--對於in或者or 查詢,若是查詢中的條件是連續的幾個數字,最好使用>=  <=或者between...and不要使用or或者in。提升效率
select * from TblStudent where tsname like '張[a-z0-9]妹'

--通配符放到[]中就轉義了就不認爲是通配符了。【】是系統默認的轉移符
select * from TblStudent where tsname like '%[%]%'

查出

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

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

這樣查不到,這裏須要咱們使用自定義轉移符  ESCAPE

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

相關文章
相關標籤/搜索