SQL server 練習1(SQL server 資料庫基本操作)
本篇部落格用來記錄,編者做sql server練習的題目及解答,以及遇到的一些問題和總結。
題目
1、資料庫建立
名稱:stuManage
主資料檔案:
邏輯檔名:stuManage_M_data
物理檔名:stuManage__data.mdf
初始大小:3M
遞增:10%
限制檔案增長:500M
次資料檔案:
邏輯檔名:stuManage_N_data
物理檔名:stuManage__data2.ndf
初始大小:3M
遞增:1M
限制檔案增長:不限
日誌檔案:
邏輯檔名:stuManage_log
物理檔名:stuManage__log.ldf
其他資訊:預設
物理檔案的路徑請設定為D盤的myData資料夾。
2、表的建立
在stuManag資料庫中建立下面的表
3、表中資料的SQL方式編輯
(1)在表中新增1個新的系,併為該系新增2個專業資訊和2條教師資訊,具體資料自擬。
(2)將所有出生年月在年齡超過41歲職稱為講師的教師的職稱改為“副教授”。
(3)將“d01006”號院系所有的專業名稱前面加上“網際網路”三個字。
(4)刪除“d01006”號院系及其的所有相關資訊。
4、思考題
(1)請思考如何使用SQL語句快速刪除表中的全部資料?
(2)如果要實現一個巨型表並行讀取,以提高讀取效率,應當如何實現?
解答
1.建資料庫
-- 建立資料庫
create database stuManage
ON (
name = stuManage_M_data,
fileName = 'D:\myData\stuManage_data.mdf',
size = 5, -- 由於sql server允許的最小值為5m,只能從5m開始,不能從3m開始,否則報錯主檔案必須至少是 5 MB 才能容納 model 資料庫的副本
maxsize = 500,
filegrowth = 10%)
LOG ON(
name = stuManage_N_data,
fileName = 'D:\myData\stuManage__log.ldf',
size = 3,
filegrowth = 1 );
2.建資料庫表
-- 建立表
-- 建立院系資訊表
use stuManage;
create table department(
dNo char(6) primary key, -- 院系號
dName varchar(20) not null, -- 院系名稱
dTel varchar(11) -- 院系電話
);
-- 建立專業資訊表
create table major(
mNo char(6) primary key, -- 專業號
mName varchar(40) not null, -- 專業名稱
mFirSubject varchar(40) not null, -- 一級學科
mSecSubject varchar(40),-- 二級學科
dNo char(6) constraint dNo_fore foreign key references department(dNo) -- 院系編號
);
-- 建立教師資訊表
create table teacher(
tNo char(6) primary key, -- 教師號
tName varchar(20) not null,-- 姓名
tSex char(4), -- 性別
tBirth datetime, -- 出生年月
tRank varchar(20) not null, -- 職稱
dNo char(6) constraint dNo_teacher_fore foreign key references department(dNo) -- 院系編號
);
3.表中資料的SQL方式編輯
(1)
-- 新增紀錄
-- 新增系記錄
insert into department(dNo,dName,dTel) values('161','金融數學與統計學院','1234567');
-- 新增專業記錄
insert into major(mNo,mName,mFirSubject,mSecSubject,dNo)
values(151612,'資訊與計算科學','理科','數理科','161')
,(151611,'金融數學','理科','數理科','161');
-- 新增教師記錄
insert into teacher(tNo,tName,tSex,tBirth,tRank,dNo)
values('1','張三三','男','1990-10-10 12:10:00','教授',161),
('2','李四四','女','1950-10-10 12:10:00','教授',161);
(2)將所有出生年月在年齡超過41歲職稱為講師的教師的職稱改為“副教授”。
-- 法一
update teacher set tRank = '副教授' where datediff(yy,tBirth,getDate())>41 and tRank='講師';
-- 法二:自連線刪除,順便複習了一下自連線
update tem1 set tRank = '副教授'
from teacher as tem1
inner join teacher as tem2 on datediff(yy,tem1.tBirth,getDate())>41 and tem1.tRank='講師';
(3)將“d01006”號院系所有的專業名稱前面加上“網際網路”三個字。
update major set mName='網際網路'+mName where dNo= 'd01006';
(4)刪除“d01006”號院系及其的所有相關資訊。
-- 法一,逐個刪除,先刪除子表再刪夫表
delete major where dNo='d01006';
delete teacher where dNo='d01006';
delete department where dNo='d01006';
-- 法二,建立了級聯操作,可以直接刪除父表
alter table major drop constraint dNo_fore;
alter table major add constraint dNo_fore foreign key(dNo) references department(dNo) ON UPDATE CASCADE ON DELETE CASCADE;
alter table teacher drop constraint dNo_teacher_fore;
alter table teacher add constraint dNo_teacher_fore foreign key(dNo) references department(dNo) ON UPDATE CASCADE ON DELETE CASCADE;
delete department where dNo='161';
4.思考題
1.
法一:delete from 刪除的資料可以回滾(事務)
法二:truncate table: 可以全表刪除
2.
暫時還不知怎麼解答,因為對於並行沒有太多瞭解。
總結
這次練習主要做了一些sql語句建庫,建表的操作,都是比較簡單的,不過需要注意的一些地方是在建庫,增長量的時候是可以有兩個度量單位選擇的,filegrowth =10%時,是以10%來增長,如果是filegrowth =10則預設單位是m,以10m來增長。本次練習對於我來說是比較簡單,因為之前有學過mysql資料庫的相關課程,對於外來鍵,查詢,插入之類的操作已經是比較熟悉了的。就我個人體會來看,初次接觸sql server的時候,感覺sql server操作與mysql操作並沒有什麼不同。
相關推薦
SQL server 練習1(SQL server 資料庫基本操作)
本篇部落格用來記錄,編者做sql server練習的題目及解答,以及遇到的一些問題和總結。 題目 1、資料庫建立 名稱:stuManage 主資料檔案: 邏輯檔名:stuManage_M_data 物理檔名:stuManage__data
數據庫介紹-1(體系結構、基本管理)
rom pro 進行 use 切換 能夠 含義 idc class 第2章 Mysql體系結構與基本管理 2.1 客戶端與服務器端模型 2.1.1 mysql服務結構 mysql是一個典型的c/s模式,服務端與客戶端兩部分組成 服務端程序 m
機器學習與深度學習系列連載: 第二部分 深度學習(十三)迴圈神經網路 1(Recurre Neural Network 基本概念 )
迴圈神經網路 1(Recurre Neural Network 基本概念 ) 迴圈神經網路的特點: • RNNs 在每個時間點連線引數值,引數只有一份 • 神經網路出了輸入以外,還會建立在以前的“記憶”的基礎上 • 記憶體的要求與輸入的規模有關 當然,他的深度不只有一層:
JS基礎知識1(最最基礎的基本概念)
文檔對象模型 版本 核心 -s 組成 span ron 最新版本 最新版 1.JS的三大組成部分 ECMAScript(核心) DOM(文檔對象模型) BOM(瀏覽器對象模型) 2.ECMA版本兼容性 最新版本的ECMAScript只有在IE 9下完全兼容,第三版
SQL server 練習4(資料庫設計(E-R圖))
CREATE DATABASE [sauims] CONTAINMENT = NONE ON PRIMARY ( NAME = N'sauims', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL
Windows Server 2008伺服器上訪問SQL Server異常慢(SQL資料庫設定為空密碼情況下)
這兩天把工作主機從Windows Server 2003 R2 換成了 Windows Server 2008 R2 , 在連線遠端 SQL SERVER 2000 中,如果SQL資料是空密碼,就會異常慢或連線不上。如: 企業管理器 註冊網路SQL SERVER 時,異常
《sql語句練習1》
之間 let 創建 名稱 示例 ble 通用函數 經理 ati Oracle系列《一》:簡單SQL與單行函數 使用scott/tiger用戶下的emp表和dept表完成下列練習,表的結構說明如下 emp員工表(empno員工號/ename員工姓名/job工作/mgr
sql語句練習1
建表 CREATE TABLE students (sno VARCHAR(3) NOT NULL, sname VARCHAR(4) NOT NULL, ssex VARCHAR(2) NOT NULL, sbirthday DATETIME, class VARC
例題SQL語句詳解-資料庫基本操作1
1.1 連線伺服器 通過命令列面板連線 host:主機 -h username:使用者名稱 -u password:密碼 -p port:埠 -P 多學一招:如果MySQL伺服器在本地,IP
SQL Server中的Image資料型別的基本操作
準備工作,在庫Im_Test中建立一張表Im_Info,此表中有兩個欄位,分別為Pr_Id (INT),Pr_Info (IMAGE),用來儲存圖形編號及圖形資訊。其語法如下: CREATE TEALE Im_Info ( Pr_Id INT NULL , Pr_Info
sql線上練習網站(http://sqlzoo.cn)答案解析
一:SELECT(http://www.sqlzoo.cn/1.htm) 1a. 檢視關於bbc表的詳細說明 SELECT name, region, population FROM bbc 2a. 給出人口不小於2億的國家的名稱.(2億是2
sql語句常用功能(null值轉換為0)
span stock left coalesce 產品 post and 客戶 sel COALESCE(規格,‘ ‘) 或者 COALESCE(規格,0) select * from ( SELECT p2.name_template 產品, p3.pname 材料
sql 常用的語句(sql 創建表結構 修改列 清空表)
eight key perl ont ide class 一個 comm 表結構 1.創建表 create Table WorkItemHyperlink ( ID bigint primary key ,--主鍵 WorkItemID bigint identity(
python 練習1(流控制)
控制 pos 用戶 str 輸入 pri bin imp else #!/usr/bin/python #_*_ coding:utf-8 _*_ #練習題 #1、使用while循環輸入 1 2 3 4 5 6 8 9 10 #a.定義一個變量存放數字 #b
Oracle12c中SQL性能優化(SQL TUNING)新特性之自動重優化(automatic reoptimization)
num sysdba number 並行執行 loop pdb state 周期性 align Oracle12c中的自適應查詢優化有一系列不同特點組成。像自適應計劃(AdaptivePlans)功能可以在運行時修改執行計劃,但並不允許計劃中連接順序的改變。自動重優化
SQL複製資料表 (select * into 與 insert into)
SQL複製資料表 (select * into 與 insert into) select * into 目標表名 from 源表名 where ..... insert into 目標
Mysql 資料庫基本操作(1)
1、庫的管理 1)庫的基本操作: ①檢視所有庫:show databases; ②建立庫(指定字符集):create database 庫名 character
SQL 使用總結二 ( 不同庫的日期總結)
以下內容都是基於ANSI標準,針對不同的庫可能已經有新的內容,此處僅僅作為參考使用。如有遺漏的也歡迎大家補充! 不同平臺的日期型別 產品 資料型別 用途 Oracle DA
資料庫實驗1(建立school資料庫)
一、實驗課: (注意:如果用機房的機器,資料庫記得帶走下次繼續用) 建立school資料庫 在school下建立如下資料庫表,根據表中資料選取合適的資料型別及寬度,設定各表的主鍵及表間外來鍵聯絡: 注意:欄位名是對應漢字欄位名的漢語拼音第一個字母組合而成 學生表S:
例題SQL語句詳解-資料庫基本操作2
1.4 表的操作 1.4.1 顯示所有表 語法: show tables 1.4.2 建立表 語法: create table [if not exists] 表名( 欄位名 資料型別 [null|not null] [auto_in