建立數據庫數據庫
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
建立表 (包含約束)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
修改表函數
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)
同時增長多條約束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='女')
查詢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 '/'