日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

常用数据库复习资料

發布時間:2023/12/3 数据库 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常用数据库复习资料 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


mast:

數據庫控制SQL Server的所有方面。這個數據庫中包括所有的配置信息、用戶登錄信息、當前正在服務器中運行的過程的信息。

model:數據庫是建立所有用戶數據庫時的模板。當你建立一個新數據庫時,SQL Server會把model數據庫中的所有對象建立一份拷貝并移到新數據庫中。在模板對象被拷貝到新的用戶數據庫中之后,該數據庫的所有多余空間都將被空頁填滿。

tempdb數據庫

tempdb數據庫是一個非常特殊的數據庫,供所有來訪問你的SQL Server的用戶使用。這個庫用來保存所有的臨時表、存儲過程和其他SQL Server建立的臨時用的東西。例如,排序時要用到tempdb數據庫。數據被放進tempdb數據庫,排完序后再把結果返回給用戶。每次SQL Server重新啟動,它都會清空tempdb數據庫并重建。永遠不要在tempdb數據庫建立需要永久保存的表

msdb數據庫:

msdb數據庫是SQL Server中的一個特例。如果你查看這個數據庫的實際定義,會發現它其實是一個用戶數據庫。不同之處是SQL Server拿這個數據庫來做什么。所有的任務調度、報警、操作員都存儲在msdb數據庫中。該庫的另一個功能是用來存儲所有備份歷史。SQL Server Agent將會使用這個庫。

數據庫管理系統和數據庫系統的區別:

數據庫管理系統(DBMS):是一個系統軟件,比如說mysql sqlserver等。

數據庫系統(DBS):是一個實際可運行的系統,可以對系統提供的數據進行存儲、維護和應用。

--創建表

CREATE TABLE users

(

id INT ,

name VARCHAR(50),

age INT

)

--添加數據

SELECT * FROM users

INSERT INTO users VALUES(2,'張三1',13);

INSERT INTO users VALUES(4,'王五',12,'山西省呂梁市',DEFAULT); ? --默認性別是男,年齡必須大于0小于100

--創建一個Student表

CREATE TABLE student

(

id INT ,

name VARCHAR(50),

age VARCHAR(50)

)

--將users表中的id name age 查詢出來之后放在student表里面,其中student已經事先存在了

INSERT INTO student(id,name,age) SELECT id,name,age FROM users ;

SELECT * FROM student;

--將users表中的id name age address 查詢出來放在新表studentinfo中,其中studentinfo事先不存在

SELECT id,name,age,address INTO studentinfo FROM users;

SELECT * FROM studentinfo;

--給studetninfo表里面一次插入多條記錄

INSERT INTO studentinfo VALUES(5,'張無',45,'山東省濟南市'),

(6,'張無1',45,'山東省濟南市1'),

(7,'張無2',42,'山東省濟南市2'),

(9,'張無3',78,'山東省濟南市3')

SELECT * FROM studentinfo;

--修改users的信息,將張三的性別修改成女

SELECT * FROM users;

UPDATE users set sex='女' WHERE name='張三'

--刪除張三1

DELETE FROM users WHERE name='張三1'

--查詢--使用別名AS

SELECT id AS '編號',name AS '姓名',age AS '年齡' FROM users

--使用別名.

SELECT id ?'編號',name ?'姓名',age ?'年齡' FROM users

--合并兩列數據

SELECT name+'.'+address FROM studentinfo;

--查詢空行

INSERT INTO users (id,name,age) VALUES(5,'王寶寶',15);

SELECT * FROM users;

SELECT * FROM users WHERE address is null;

--查詢前3行

SELECT top 2 * FROM users;

--按照百分數查詢

SELECT top 10 percent * FROM users;

--按年齡排序(升序),編號降序

SELECT * FROM users order by age ASc,id desc;

--查詢m在My Jbns Course里面出現的位置

SELECT CHARINDEX('m','My Jbns Course')

--查詢My Jbns Course的長度

SELECT len('My Jbns Course')

--把傳遞給他的字符串轉換成大寫

SELECT UPPER('my is father');

--清除字符左邊的空格

SELECT ltrim(' ? ? 你是誰 ? ? ?')

--清除字符右邊的空格

SELECT rtrim(' 你是誰 ? ? ?')

--從字符串右邊返回指定的字符,4代表截取幾個字符

SELECT RIGHT('買賣提5吐爾松',4)

--替換一個字符串中的字符:把(我)替換成(你)

SELECT replace('我是誰','我','你')

--在一個字符串中,刪除指定長度的字符,并在改位置插入一個新字符,1是從第一個開始,5是截取5個

SELECT stuff('abcdefg',1,5,'明朝的皇帝是誰?')

--日期函數--取得系統當前的日期

SELECT getdate()

--將指定的數值添加到指定的日期部分后的日期(yy:年,mm:月,dd:日,5代表加的數字)

SELECT DATEADD(yy,5,'01/01/2009')

--兩個日期中指定日期的間隔(yy:年,mm:月,dd:日,輸出一個整型)

SELECT DATEDIFF(yy,'2017-05-08','2019-05-04')

--日期中指定日期部分的字符串形式(yy:年,mm:月,dd:日,輸出一個字符串:星期六)

SELECT datename(dw,'2015-05-09')

--日期中指定日期部分的整數形式

SELECT datepart(day,'2014-05-09')

--數學函數

--返回0-1之間的隨機數float值

SELECT rand()

--取大于或等于指定數值、表達式的最小整數

SELECT ceiling(45.6)

--取數值表達式的絕對值

SELECT abs(-8)

--取小于或等于指定數值、表達式的最大整數

SELECT floor(32.8)

--取數值表達式的冪值(5的2次方)

SELECT power(5,2)

--取數值表達式四舍五入為指定的精度(2代表保留2位,其余的都是0)

SELECT round(3.1415926,2)

--對于正數返回+1,對于負數返回-1,對于0則返回0

SELECT sign(-1)

--取浮點表達式的平方根

SELECT sqrt(9)

--系統函數

--用來轉變數據類型

SELECT CONVERT (VARCHAR (5),12345)

--返回當前用戶的名字

SELECT CURRENT_USER

--返回用于指定表達式的字節數

SELECT DATALENGTH ('中國A聯盟')

--返回當前用戶所登錄的計算機名字

SELECT HOST_NAME()

--返回當前所登錄的用戶名稱

SELECT SYSTEM_USER

--從給定的用戶ID返回用戶名

SELECT USER_NAME(1)

--案例--某公司印了一批充值卡,卡的密碼是隨機生成的,現在出現這個問題:--卡里面的字母“O和數字0”、“字母i和數字1”,用戶反映說看不清楚,--公司決定,把存儲在數據庫中的密碼中所有的“O”都改成“0”,把所有的“i”都改成“1”;

UPDATE Card SET PassWord = REPLACE(PassWord ,'O','0')

UPDATE Card SET PassWord = REPLACE(PassWord ,'i','1')

--使用函數更加簡便

UPDATE ?Card?

SET PassWord = REPLACE(REPLACE(PassWord ,'O','0'),'i','1')

--在數據庫表中有以下字符數據,如:-- 13-1、13-2、13-3、13-10、13-100、13-108、13-18、13-11、13-15、14-1、14-2--現在希望通過SQL語句進行排序,并且首先要按照前半部分的數字進行排序,然后再按照后半部分的數字進行排序,輸出要排成這樣:-- 13-1、13-2、13-3、13-10、13-11、13-15、13-18、13-100、13-108、14-1、14-2

SELECT ListNumber

FROM ? ?SellRecord

ORDER BY?

CONVERT(int, LEFT(ListNumber, CHARINDEX('-', ListNumber)-1)),

CONVERT(int, STUFF(ListNumber,1, CHARINDEX('-', ListNumber), ''))

--年滿20周歲的條件

DATEDIFF(DD,BornDate, GETDATE())>=365*20?

--獲取Email的域名

RIGHT(Email, LEN(Email) - CHARINDEX('@',Email) )

--獲取當前日期的年、月、日

CONVERT(VARCHAR(4), DATEPART(YYYY,GETDATE()))

--獲取4位隨機數

RIGHT(RAND(),4)?

select * from students

select * from score

select * from course

--按年級查詢學生人數

select count(*) 人數,sgrade 年級 from students group by sgrade

--多列分組,統計每學期男女學生的人數

select count(*) 人數,sgrade,ssex from students group by sgrade,ssex?

--查詢總人數超過15的年級

select count(*) 人數 ,sgrade 年級 from students group by sgrade having count(*)>=2

---連接查詢

select * from Students a join score b on a.SCode = b.Score join ?course c on b.CourseID = c.CourseID

--左外鏈接查詢

SELECT S.SName,C.CourseID,C.Score?

FROM Students AS S

LEFT JOIN Score AS C

ON C.StudentID = S.SCode

--右外鏈接查詢--左外聯接是以左表為基礎的,左表的記錄將會全部表示出來,--而右表只會顯示符合搜索條件的記錄。右表記錄不足的地方均為NULL

SELECT S.SName,C.CourseID,C.Score?

FROM Students AS S

right JOIN Score AS C

ON C.StudentID = S.SCode

感謝您抽出??·?來閱讀此文

更多精彩請點擊【閱讀原文】哦

↓↓↓

長按二維碼關注我們,

1111的博客,一個有用

的公眾號

總結

以上是生活随笔為你收集整理的常用数据库复习资料的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。