SQL Server基礎SQL腳本之建立架構、排序

--一,建立數據庫 。
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
相關文章
相關標籤/搜索