--一,建立数据库 。 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