--一,建立數據庫 。 create database XXXDB--建立數據庫 use XXXDB--使用數據庫 create table Department(--建立表 nvarchar() not ,--列與列之間以逗號隔開 dept_name nvarchar() not , dept_head nvarchar() not ) select * from Department--查詢表中的數據 insert into Department values(,,)--插入數據 ,(,,) --Department where =--刪除指定的列數據 --建立表 create table Employee( EMP_ID nvarchar() not , EMP_NAME nvarchar() not , ADDRESS nvarchar() not , DEPT_ID nvarchar() not , --EMP_id int not ) --選擇使用表 select * from Employee --在表中插入數據 insert into Employee values(,,,) ,(,,,), (,,,), (,,,) --drop table Department --刪除表 --二,建立數據庫實例 create database schoolDB --主數據庫 .mdf --日誌文件 .ldf --D盤 create database BankDB on primary( =, =, = , =, =) --注意:size必須是不小於5MB log on( =, =, = , =, =% ) --日誌數據庫 中 size沒有大小要求 create database testDB on primary( =, =, =, =, =) log on( =, =, =, =, =% ) use testDB create table testTable( EmployeeID nvarchar() not , Resiednce nvarchar(), Office nvarchar(), MobileNumber nvarchar() ) insert into testTable values (,,,), (,,,), (,,,), (,,,) select *from testTable ------------------------------------------------ --三,建立架構,建立表。 select UNICODE() select CHAR() go create schema ONE--建立架構 go create schema TWO go create table CLASS1( int primary , nvarchar()) create table ONE.CLASS1( int primary , nvarchar()) create table ONE.CLASS2( int primary , nvarchar()) --插入數據 --inserted. * deleted create table conInfo( int primary identity(,),--不用考慮,直接插入三個值 nvarchar() ,--地址 oInfo nvarchar() , mInfo nvarchar() ) insert into conInfo inserted. * values (,,), (,,), (,,) conInfo deleted.* where =--deleted.*必須寫 update conInfo =--後果嚴重 update conInfo =where =update conInfo inserted.* =where =--語法出錯 update conInfo =inserted.* ,,deleted.* where =select *from conInfo where oInfo is select *from conInfo where oInfo is not select ,isnull(,),isnull(,),isnull(mInfo,) from conInfo select ,isnull(,),isnull(,)as oInfo,isnull(mInfo,)as mInfo from conInfo select * from conInfo 四,使用子查詢。 use AdventureWorks--使用數據庫 go select count(*) from HumanResources.Employee -- 數據庫.架構名.表名 go --如何建立架構 create schema class11 create table class11.Info( int primary identity(,) , nvarchar() not ) go create schema class12--建立架構的語法 go create table class12.Info( int not , nvarchar ) select * from AdventureWorks.HumanResources.Employee go --查找指定的列 select EmployeeID from HumanResources.Employee --列的值升序排列 select EmployeeID from HumanResources.Employee order by EmployeeID asc--desc --(asc) --查詢多少條數據 select count(*) as from HumanResources.Employee --建立數據庫--建立文件夾 create database dataTypeDB on primary( =, =, =, =, =% )log on( =, =, =, =, =) use dataTypeDB--使用數據庫 create table demoTbl( birthday date not ) --drop table demoTbl 刪除表 --demoTbl 刪除表中的數據 insert into demoTbl inserted.* values() insert into demoTbl values(--) insert into demoTbl inserted.* values() select * from demoTbl demoTbl alter table demoTbl add salary datetime not go--alter 無數據的使用 select * from demoTbl insert into demoTbl inserted.* values(,) insert into demoTbl inserted.* values(,) go declare @datetime @=select @as declare @numeric(,) @=select @as [numeric] --sql 聲明變量的時候 --declare @變量名 數據類型 --設置 declare @decimal(,) @=select @as go create table test( num decimal(,) )--drop table test insert into test inserted.* values() insert into test inserted.* values() create table testNumeric( num numeric(,) ) insert into testNumeric inserted.* values() insert into testNumeric inserted.* values() use AdventureWorks go select * from HumanResources.Employee use dataTypeDB create table rongYuTbl( int primary identity(,), char() not ) insert into rongYuTbl inserted.* values(),(),() select * from rongYuTbl select distinct() from rongYuTbl select distinct() into newTbl from rongYuTbl--select * from newTbl --drop table newTbl newTbl deleted.* where =select * from newTbl select * from newTbl where =create schema jiagouA--建立架構 create schema jiagouB create table jiagouA.( int primary identity(,) , nvarchar() not ) create table jiagouA.( int primary ) create table jiagouB.( int primary identity(,), nvarchar() not ) select * from jiagouA.select * from jiagouA.--指定特定列 select * from AdventureWorks.HumanResources.Employee select .EmployeeID,.Title into Emp from AdventureWorks.HumanResources.Employee as select * from Emp select EmployeeID as ,as from Emp select =EmployeeID,=from Emp select EmployeeID ,from Emp select EmployeeID , ,,from Emp select EmployeeID , as ,,as from Emp select EmployeeID +++as Infomation from Emp select * from AdventureWorks.HumanResources.Department select .Name ++GroupName+from AdventureWorks.HumanResources.Department as d ------------------------------------- select * from AdventureWorks.HumanResources.EmployeeDepartmentHistory select S.DepartmentID,S.EmployeeID into Dep from AdventureWorks.HumanResources.EmployeeDepartmentHistory as S select * from Dep select DepartmentID+EmployeeID from Dep select * from Dep select * from Dep where DepartmentID>select * from Dep where DepartmentID between and select * from Dep where DepartmentID=or DepartmentID=select * from Dep where DepartmentID=or DepartmentID=select * from Emp insert into Emp output inserted.* values() select * from Emp where Title likeand Title like select * from Emp where Title like or Title like select * from Emp where not Title=- ------------------- select * from AdventureWorks.HumanResources.Employee select e.EmployeeID,e.Title,e.LoginID into Emp from AdventureWorks.HumanResources.Employee e select * from Emp --存儲過程-- exec sp_rename ,,update Emp set Title =output inserted.* where EID=update Emp set Title =output deleted.* where EID=---------------------------- update Emp set Title =output inserted.* ,, deleted.* where EID=-------- select * from Emp where Title (,,) select * from Emp where Title (,,) select * from Emp where Title not (,,) --------------- select * from AdventureWorks.HumanResources.EmployeeDepartmentHistory select E.EmployeeID,E.EndDate,E.StartDate,E.ModifiedDate into EDH from AdventureWorks.HumanResources.EmployeeDepartmentHistory E select * from EDH where EndDate is not select * from EDH where EndDate is select EmployeeID,isnull(EndDate,) as EDate from EDH ---------- select EmployeeID,coalesce(EndDate,StartDate,ModifiedDate) as C from EDH --------------------------------- select top * from AdventureWorks.HumanResources.Employee go select e.BirthDate,e.HireDate,e.EmployeeID from AdventureWorks.HumanResources.Employee e where HireDate>=and HireDate<=order by HireDate desc--ASC -------- select e.EmployeeID,e.NationalIDNumber,e.ContactID,e.HireDate into EmpNew from AdventureWorks .HumanResources.Employee e go select * from EmpNew order by EmployeeID --desc offset rows fetch next rows only ------ select * from AdventureWorks .HumanResources.Department order by DepartmentID desc offset rows fetch next rows only go ---- 五,ASCII表 練習使用 --row_number() --rank() --dense_rank() --ntile() 函數。 select =upper() select ascii() select UNICODE() select DIFFERENCE(,) select char() select CHARINDEX(,) select left(,) select RIGHT(,) select len() select lower() select DATEDIFF(year ,convert(datetime,), convert(datetime,)) select DATEDIFF(day ,convert(datetime,), convert(datetime,)) ------------------- --row_number() --rank() --dense_rank() --ntile() select .EmployeeID,.Rate,rank() over (order by rate desc) as RANKDemo from AdventureWorks.HumanResources.EmployeePayHistory select .EmployeeID,.Rate,row_number() over (order by rate desc) as RANKDemo from AdventureWorks.HumanResources.EmployeePayHistory select .EmployeeID,.Rate,dense_rank() over (order by rate desc) as RANKDemo from AdventureWorks.HumanResources.EmployeePayHistory go select .EmployeeID,.Rate,dense_rank() over (partition by EmployeeID order by rate desc) as RANKDemo from AdventureWorks.HumanResources.EmployeePayHistory order by EmployeeID asc offset rows fetch next rows only ------------------------- select =upper() select ascii() select UNICODE() select DIFFERENCE(,) select char() select CHARINDEX(,) select left(,) select RIGHT(,) select len() select lower() select DATEDIFF(year ,convert(datetime,), convert(datetime,)) select DATEDIFF(day ,convert(datetime,), convert(datetime,)) ------------------- --row_number() --rank() --dense_rank() --ntile() select .EmployeeID,.Rate,rank() over (order by rate desc) as RANKDemo from AdventureWorks.HumanResources.EmployeePayHistory select .EmployeeID,.Rate,row_number() over (order by rate desc) as RANKDemo from AdventureWorks.HumanResources.EmployeePayHistory select .EmployeeID,.Rate,dense_rank() over (order by rate desc) as RANKDemo from AdventureWorks.HumanResources.EmployeePayHistory go select .EmployeeID,.Rate,dense_rank() over (partition by EmployeeID order by rate desc) as RANKDemo from AdventureWorks.HumanResources.EmployeePayHistory order by EmployeeID asc