SQL

来源:http://www.cnblogs.com/Maxq/archive/2016/02/25/5216389.html
-Advertisement-
Play Games

一.Transact-SQL的GO,詳解 (1) SQL Server 實用工具將 GO 解釋為應將當前的 Transact-SQL 批處理語句發送給 SQL Server 的信號。當前批處理語句是自上一 GO 命令後輸入的所有語句,若是第一條 GO 命令,則是從特殊會話或腳本的開始 處到這條 GO


一.Transact-SQL的GO,詳解

(1) SQL Server 實用工具將 GO 解釋為應將當前的 Transact-SQL 批處理語句發送給 SQL Server 的信號。當前批處理語句是自上一 GO 命令後輸入的所有語句,若是第一條 GO 命令,則是從特殊會話或腳本的開始          處到這條 GO 命令之間的所有語句。

 

(2)GO 命令和Transact-SQL 語句不可在同一行上。但在 GO 命令行中可包含註釋。 用戶必須遵照使用批處理的規則。例如,在批處理中的第一條語句後執行任何存儲過程必須包含 EXECUTE 關鍵字。局部(用戶定義)變數的作用域限制在一個批處理中,不可在 GO 命令後引用 二.關於SET ANSI_PADDING的用法 當設置為 ON 時,不剪裁字元值中插入到 varchar 列的尾隨空格和二進位值中插入到 varbinary 列的尾隨零。不將值按列的長度進行填充。 當設置為 OFF 時,剪裁 varchar 列的尾隨空格和 varbinary 列的尾隨零。該設置隻影響新列的定義。

(1)SET ANSI_PADDING 為 ON 時,將允許空值的 Char(n) 和 binary(n) 列填充到列長

(2)SET ANSI_PADDING 為 OFF 時,將剪裁尾隨空格和零。始終將不允許空值的 Char(n) 和 binary(n) 列填充到列長。

三.一些建表常用到的命令--自己做的一個DemoDB模板

use master
go
if exists(select * from sysdatabases where name='DemoDB' )
drop database DemoDB
go

create database DemoDB
on primary
(
name='DemoDB_data',
filename='C:\DB\DemoDB_data.mdf',
size=10MB,
filegrowth=1MB

)
log on
(
name='DemoDB_log',
filename='C:\DB\DemoDB_log.ldf',
size=3MB,
filegrowth=1MB
)
go

use DemoDB
go
if exists(select * from sysobjects where name='Students')
drop table Students
go
create table Students
(
StudentId int identity(100000,1),
StudentName varchar(20) not null,
Gender char(2) not null,
Birthday datetime not null,
StudentIdNo numeric(18,0) not null,
Age int not null,
PhoneNumber varchar(50),
StudentAddress varchar(500),
ClassId int not null --班級編號,外鍵
)
go

--創建班級表
if exists(select * from sysobjects where name='StudentClass')
drop table StudentClass
go
create table StudentClass
(
ClassId int primary key,
ClassName varchar(20) not null
)
go

--創建成績表
if exists(select * from sysobjects where name='ScoreList')
drop table ScoreList
go
create table ScoreList
(
Id int identity(1,1) primary key,
StudentId int not null,
CSharp int null,
SQLServerDB int null,
UOdateTime datetime not null
)
go
--創建管理員表
if exists(select * from sysobjects where name='Admins')
drop table Admins
go
create table Admins
(
LoginId int identity(1000,1) primary key,
LoginPwd varchar(20) not null,
AdminName varchar(20) not null
)
go

--創建主鍵約束
use DemoDB
go
if exists(select * from sysobjects where name='pk_StudentId')
alter table Students drop constraint pk_StudentId

alter table Students
add constraint pk_StudentId
primary key(StudentId) --修改這個數據表


--創建唯一約束
alter table Students
add constraint uq_StudentIdNo
unique(StudentIdNo)

--創建檢查約束
alter table Students
add constraint ck_Age
check(Age between 18 and 25)


--創建預設約束
alter table Students
add constraint df_StudentAddress
default('地址不詳')
for StudentAddress

--創建外鍵約束 --forreign key創建一個外鍵 references引用

alter table Students
add constraint fk_ClassId
foreign key(ClassId)
references StudentClass(ClassId)

--測試
--插入數據
--添加測試數據的時候,在實際項目中必須首先完成所有主鍵表數據的添加
insert into StudentClass(ClassId,ClassName)
values(1,'軟體一班')
insert into StudentClass(ClassId,ClassName)
values(2,'軟體二班')
insert into StudentClass(ClassId,ClassName)
values(3,'軟體三班')
insert into Students(StudentName,Gender,Birthday,StudentIdNo,Age,PhoneNumber,
StudentAddress,ClassId)
values('馬向前','男','1990-05-24',130628199005242234,24,'15911442348','保定市',1)

insert into Students(StudentName,Gender,Birthday,StudentIdNo,Age,PhoneNumber,
StudentAddress,ClassId)
values('向前','男','1990-05-24',130628199005242233,24,'15221442348','保定市',1)

insert into Admins(AdminName,LoginPwd,LoginId)
values('Max','123456')

--更改表中數據
update StudentClass
set ClassName='軟體二班'
where ClassName='軟體2二班'--表中多了一個數字2 ,可以直接去更改數據

--刪除表中數據
delete StudentClass
where ClassName='軟體二班' --把表中名字為軟體二班的那條數據刪除

--查詢,簡單的查表
select * from Students
select * from StudentClass
select * from Admins

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原創博客,轉載請聯繫博主! (零)ElasticSearch架構概述 ElasticSearch是現在技術前沿的大數據引擎,常見的組合有ES+Logstash+Kibana作為一套成熟的日誌系統,其中Logstash是ETL工具,Kibana是數據分析展示平臺。ES讓人驚艷的是他強大的搜索相關能力和
  • 一 MySQL概述 MySQL是一個很受歡迎的開源資料庫,當我從Oracle轉來做MySQL的時候,感覺最深刻的一點就是,這家伙居然是Server和Storage分開的!而且更不能忍的是,它竟然是插件式存儲引擎,每一種引擎的特點是很不相同的,當時我感覺這東西也太難學了吧,我要學多少個引擎啊。後來我發
  • 本文由ilanniweb提供友情贊助,首發於爛泥行天下 想要獲得更多的文章,可以關註我的微信ilanniweb 公司目前使用的資料庫是阿裡雲的RDS,目前RDS的版本為mysql5.6。如下: 現在要求把RDS的數據,在公司內部本地進行恢復。 如何把RDS在本地進行恢復呢?這個阿裡雲官網給出了相關的...
  • 本地: 1.進入MySQL目錄下的bin文件夾:e:回車; e:\>cd mysql\bin? 回車 2.導出資料庫:mysqldump -u 用戶名 -p 資料庫名 > 導出的文件名 範例:mysqldump -uroot -p abc > abc.sql(導出資料庫abc到abc.sql文件)提
  • 事主的問題應該是想把最新的數據和次新數據放在一行里顯示。 因為沒有說明重覆的情況如何處理,即有多個最新數據或者有多個次新數據,所以我沒有做過多的處理。 哈哈哈。
  • 簡介 什麼是死鎖? 我認為,死鎖是由於兩個對象在擁有一份資源的情況下申請另一份資源,而另一份資源恰好又是這兩對象正持有的,導致兩對象無法完成操作,且所持資源無法釋放。 什麼又是阻塞? 阻塞是由於資源不足引起的排隊等待現象。比如同時兩個進程去更新一個表。 這裡我們可以把阻塞作為死鎖的必要條件。下麵我們
  • 教程:http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html Mysql修改設置root密碼的命令及方法:http://jingyan.baidu.com/article/a3f121e41b141afc9052bb8e.html
  • 資料庫是定義及產品分類
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...