国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL server高級應用 收藏版

2024-08-31 00:44:58
字體:
來源:轉載
供稿:網友
一. 建庫,建表,加約束.
1.1建庫

復制代碼 代碼如下:


use master
go
if exists (select * from sysdatabases where)―判斷master數據庫sysdatagbases表中是否存在將要創建的數據庫名
drop database MyDatabase―如果sysdatabases表中存在該數據庫名,則將它刪除
go
exec xp_cmdshell ‘md D:/MyDatabases'―利用存儲過程創建一個文件夾用于存儲數據物理文件(數據文件,日志文件),DOS命令(mkdir=md)
go
create database MyDatabase―創建數據庫
on
(
name='MyDatabase_data',--指定邏輯文件名
filename='D:/MyDatabases/MyDatabase_data.mdf',--指定物理文件名
size=5mb,--初始大小
maxsize=50mb,--指定物理文件最大容量,可選
filegrowth=20%--增長量
)
log on
(
name='MyDatabase_log',--指定邏輯日志文件名
filename='D:/MyDatabases/MyDatabase_log.ldf',--指定日志物理文件名
size=5mb,--初始大小
maxsize=50mb,--指定日志物理文件最大容量,可選
filegrowth=20%--增長量
)
go
use MyDatabase
go


1.2建表.

復制代碼 代碼如下:


If exists (select * from sysobjects where)
drop table Mytable
go
create table Mytable
(
ID int not null identity(1,1) primary key,--標識種子1,標識增量1,設該列為主鍵
name nchar(10) not null,--不可為空
degree numeric(18,0)―身份證,numeric(18,0)代表18位數字,小數位數為0
)
Go


1.3加約束.

復制代碼 代碼如下:


Alter table stuInfo add constraint PK_stuNo primary key(stuNo)―主鍵
alter table stuMarks add constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)―外鍵
alter table stuInfo add constraint UQ_stuID unique(stuID)―唯一約束
alter table stuInfo add constraint df_stuAddress default(‘地址不詳') for stuAddres―默認約束
alter table stuMarks add constraint ck_stuAge check(stuAge between 15 and 40)―檢查約束
alter table stuMarks drop constraint ck_stuAge―刪除約束


1.4帳戶管理.
1.4.1創建登錄帳戶.

復制代碼 代碼如下:


exec sp_grantlogin 'jbtraining/s26301' --windows用戶為jbtraining/s26301,jbtraining 表示域
exec sp_addlogin 'admin','0533131'--SQL登錄帳戶,帳戶: 'admin',密碼:0533131.


1.4.2創建數據庫用戶.

復制代碼 代碼如下:


exec sp_grantdbaccess 'jbtraining/s26301','s26301dbuser'--s26301dbuser為數據庫用戶名
exec sp_grantdbaccess 'admin', 's26301dbuser'--s26301dbuser為數據庫名


1.4.3向數據庫用戶授權.

復制代碼 代碼如下:


/*為s26301dbuser分配對表mytable的select,insert,updata,delete權限*/
grant select,insert,update,delete on mytable to s26301dbuser
/*為s26301dbuser用戶分配創建表的權限
grant create table to s26301dbuser


二.T-SQL編程
2.1變量.
局部變量的名稱必須以標記@作為前綴:
Declare @name varchar(8)--聲明變量。
Declare @name varchar(8)=value--初始值。
Set @name=value-- 賦值。
Select @name=value--賦值。
全局變量
SQL server中的所有全局變量都使用兩個@標志作為前綴:

變量

含義

@@error

最后一個T-SQL錯誤的錯誤號

@@identity

最后一次插入的標識值

@@language

當前使用的語言名稱

@@max_connections

可以創建同時連接的最大數目

@@rowcount

受上一個SQL語句影響的行數

@@servername

本地服務器的名稱

@@servicename

該計算機上的SQL服務的名稱

@@timeticks

當前計算機上每刻度的微秒數

@@transcount

當前連接打開的事務數

@@version

SQL server的版本信息


2.2輸出語句.
Print局部變量或字符串,以字符串形式打印數據 。
Select 局部變量AS自定義列名,以表格形式打印數據。
2.3邏輯控制語句.
2.3.1.If-else
If(表達式)
Begin
語句1
語句2
End
Else
Begin
語句1
語句2
End
2.3.2.case
Case
When 條件一 then 結果二
When 條件二 then 結果二
End

三.高級查詢

3.1子查詢.
Select … from 表1 where 字段1>(子查詢)
3.2IN和NOT IN子查詢
Select … from 表1 where 字段一 NOT IN (子查詢)
Select … from 表2 where 字段二 IN (子查詢)
3.3Exists和Not Exists子查詢
If exists(子查詢)
語句
If not exists(子查詢)
語句

四.事務,索引和視圖.

4.1事務
² 開始事務:begin transaction
² 提交事務:commit transaction
² 回滾事務:rollback transaction
事務分類
² 顯式事務:用begin transaction 明確指定事務的開始。
² 隱性事務:通過設置set implicit_transactions on語句,將陷性事務模式設置為打開。當以隱性事務操作時,SQL server將在提交或回滾事務后撲克動啟動新事務。無法描述事務的開始,只需提交或回滾每個事務.
² 自動提交事務:這是SQL server的默認模式,它將每條單獨的T-SQL語句視為一個事務。如果成功執行,則自動提交。如果錯誤,則自動回滾。
示例:
Begin transaction--開始事務

復制代碼 代碼如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湄潭县| 剑阁县| 柏乡县| 克拉玛依市| 彝良县| 丹阳市| 泽普县| 法库县| 赣榆县| 宜昌市| 镇远县| 灌云县| 武安市| 龙岩市| 嫩江县| 手游| 东乌珠穆沁旗| 西青区| 楚雄市| 康平县| 虞城县| 同德县| 雷波县| 泾阳县| 容城县| 肥乡县| 论坛| 湛江市| 渝中区| 彭水| 左权县| 柯坪县| 马公市| 陕西省| 博罗县| 榆社县| 延寿县| 许昌市| 甘洛县| 富源县| 林芝县|