亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

sql常用語句匯總

系統 2212 0

--創建數據庫

USE yuju

CREATE database YuJu

on primary

(

??? name='YuJu',

??? filename='B:\ceshi數據庫\YuJu.mdf',

??? maxsize=1024mb,

??? filegrowth=10%

)

log on

(

??? name='YuJu_log',

??? filename='B:\ceshi數據庫\YuJu.ldf',

??? size=10mb,

??? maxsize=1024mb,

??? filegrowth=10mb

)

--??????????????????????????????????????????????????????????

DROP database YuJu

--

CREATE table Teacher(

?? TId int identity(1,1) primary key,

?? TName nvarchar(10),

?? TAge int

)

----

SELECT * FROM Teacher

DELETE FROM Teacher

--

INSERT INTO Teacher(TName,TAge) VALUES('王書峰',44)

----插入自增列

set IDENTITY_INSERT Teacher on

INSERT INTO Teacher(TId,TName,TAge) VALUES(2,'王書峰',44)

SET IDENTITY_INSERT Teacher off

--同時插入多行(union會自動除去重復行)union all不會

INSERT INTO Teacher

SELECT 'a',22 UNION

SELECT 'b',33 UNION

SELECT 'a',22 UNION

SELECT 'b',33 UNION

SELECT 'c',44

--union all

INSERT INTO Teacher

SELECT 'a',22 UNION ALL

SELECT 'b',33 UNION ALL

SELECT 'a',22 UNION ALL

SELECT 'b',33 UNION ALL

SELECT 'c',44

-----復制到新的表

SELECT * into guo FROM Teacher

---修改表列:

ALTER table Teacher alter column TName varchar(50)

--添加非空約束:

ALTER table Teacher alter column TName varchar(50) not null

---

ALTER table Teacher drop column TName

---增加一列

ALTER table Teacher add Sex nvarchar(10) not null

----加N,保證編輯器編輯不會放生亂碼;

INSERT INTO Teacher VALUES(N'王書峰',44)

----sql邏輯運算符高低:not>and>or,c#也一樣||的優先級最低;

a>10 and a<15 or a='' and(not(a=34))

----truncate 性能快的多,原因是不記錄到日志中去。

---添加外鍵:

ALTER table Teacher add constraint pk_Teacher primary key(TId)

---添加唯一約束:

ALTER table Teacher add constraint uq_Teacher_Id unique(TId)

--默認約束:

ALTER table Teacher add constraint df_Teacher_TName default('男') for TName

--檢查約束:

ALTER table Teacher add constraint ck_Teacher_TName check(TName like'%hh%')

--添加外鍵:

ALTER table tt add constraint fk_Teacher_tt foreign key(TTId) references Teacher(TId)

--刪除外鍵

ALTER table? tt drop constraint fk_Teacher_tt

--刪除多個鍵名

ALTER table? tt drop constraint fk_Teacher_tt,ck_Teacher_TName

--添加多個鍵名:

ALTER table Teacher

add constraint name1 unique(TId),

add constraint name12 check(TId>=0)

--若想修改鍵的話,先刪除原來的鍵再添加新的鍵

--添加級聯:

ALTER table tt add constraint fk_Teacher_tt foreign key(TTId) references Teacher(TId) on delete cascade

--添加非空約束:

ALTER table Teacher alter column TName varchar(50) not null

--重命名的兩中方式;

SELECT TId as 'T','TT'=TId from Teacher

--長度為3;

select LEN('郭澤峰')

----索引:

--查看索引信息

sp_helpindex emp

--創建索引

create index idxempid on emp(id)

--創建非聚集索引

create nonclustered index idxempid on emp(id)

--創建具體索引

create clustered index idxempid on emp(id)--cluster代表聚集

?

--刪除索引

drop index emp.idxmpid

--按書籍編號查詢,創建聚集索引

create clustered index idxsjid on 書籍(書籍編號)

--查詢索引信息

sp_helpindex 書籍

--刪除索引

drop index 書籍.idxsjid

--使用全文索引

--查詢跟windows相關的書

Select * from 書籍where 書籍名稱like '%windows%'

--查詢SQL SERVER 是否安裝全文索引,-安裝,-沒安裝

select fulltextserviceproperty ('isfulltextinstalled')

--查看數據庫是否能定義全文索引,1-有,0-沒有

select databaseproperty('練習','isfulltExtenabled')

--啟動數據庫全文索引功能

exec sp_fulltext_database 'enable'

--刪除全文索引

drop fulltext index on 書籍

--刪除全文目錄

drop fulltext catalog ft

--創建全文目錄

create fulltext catalog ft as default

--創建全文索引

create fulltext index on 書籍(書籍名稱)key index pk_書籍--全文索引的關鍵詞有:contains? ,? freetext

----

--和[]和正則表達式中的一樣,只要包含a或b;

like '%[ab]%'?? like '%x[^ab]y%'

--轉義的話,sql中使用中括號

like '%[%]%'

--數據空中的null表示unknow,where a=null或a<>null;是不正確的;用is null,is not null

--null參與任何運算 結果都是null;

--數據庫必須是大寫的NULL,null當成了字符串;

--如果字段為NULL值得話,就替換成‘未填寫’

SELECT ISNULL(TName,'未填寫')

--排序中NUll被認為是最小的;

--orderby后面可以跟一個表達式;

order BY (f+f)/2

--order by 放于最后面,執行順序的話,也是最后執行,所以后面跟的內容沒太多限制,

--where 放于group by前面;先篩選后匯總

SELECT TID,COUNT(TID) from Teacher where TID>0 GROUP BY TID

----having是對于組進行篩選,比如每組人數<=10的除去;

SELECT TID,COUNT(TID) as allTea from Teacher HAVING COUNT(TID)>10

--但不能為having allTea>10,因為執行having時,as allTea還沒

--執行

----以前在這里吃了不少虧,走了許多彎路,只知道用hvaing

SELECT TID,COUNT(TID) from Teacher where TName LIKE '%gg%' GROUP BY TID

---返回多個結果集,第二個結果集是兩個匯總的;

USE pubs

SELECT type, price, advance

FROM titles

ORDER BY type

COMPUTE SUM(price), SUM(advance)

-----------------------------------------------------

2、 日期時間函數

select dateAdd(day, 3, getDate());--加天

select dateAdd(year, 3, getDate());--加年

select dateAdd(hour, 3, getDate());--加小時

--返回跨兩個指定日期的日期邊界數和時間邊界數

select dateDiff(day, '2011-06-20', getDate());

--相差秒數

select dateDiff(second, '2011-06-22 11:00:00', getDate());

--相差小時數

select dateDiff(hour, '2011-06-22 10:00:00', getDate());

select dateName(month, getDate());--當前月份

select dateName(minute, getDate());--當前分鐘

select dateName(weekday, getDate());--當前星期

select datePart(month, getDate());--當前月份

select datePart(weekday, getDate());--當前星期

select datePart(second, getDate());--當前秒數

select day(getDate());--返回當前日期天數

select day('2011-06-30');--返回當前日期天數

select month(getDate());--返回當前日期月份

select month('2011-11-10');

select year(getDate());--返回當前日期年份

select year('2010-11-10');

select getDate();--當前系統日期

select getUTCDate();--utc日期

-----數據庫元數據語句;

------------------------------------------返回列的名字:表名:Teacher;2指的是第二列;

select col_name(object_id('Teacher'), 2)

----返回列的長度:

select col_length('Teacher', col_name(object_id('Teacher'), 1))

-----返回列在在表中多的索引值(從0開始)

select columnProperty(object_id('Teacher'), 'TId', 'ColumnId')

---

select replace('abcedef', 'e', 'E');--替換字符串

---

select replace('abcedef', 'e', 'E');--替換字符串

select stuff('hello world', 3, 4, 'ABC');--指定位置替換字符串 [3:第三個,4:長度]

select replicate('abc#', 3);--重復字符串

select subString('abc', 1, 1), subString('abc', 1, 2), subString('hello Wrold', 7, 5);--截取字符串

select len('abc');--返回長度

select reverse('sqlServer');--反轉字符串

select left('leftString', 4);--取左邊字符串

select left('leftString', 7);

select right('leftString', 6);--取右邊字符串

select right('leftString', 3);

select lower('aBc'), lower('ABC');--小寫

select upper('aBc'), upper('abc');--大寫

--去掉左邊空格

select ltrim(' abc'), ltrim('# abc#'), ltrim('abc' );

--去掉右邊空格

select rtrim(' abc '), rtrim('# abc# '), rtrim('abc');

?

==================================================================

SELECT YEAR('2012-1-1')

SELECT DATEPART(YEAR,'2012-1-1')

------------------------------------------------------------------

語句順序:

from>where>group by>having>select>order by;

?

------------建立索引必然會排序,更新索引,因為只有排序才能實現快速的查找;使用各種算法;

視圖中不可以使用order by,除非使用top; 排序順序后用top就不報錯了;

-----索引視圖(在視圖上創建唯一聚集索引)就會保存數據,而不引用表中的數據;

?

begin transaction

? DECLARE @num int

? SET @num=0

? SELECT 1

? set @num=@num+@@error

? SELECT 2

? set @num=@num+@@error

if @num<>0

begin

? rollback transaction

? end

else

?? commit transaction

-------------------------------

比如insert語句,默認是自動提交事務,沒插入一條自動開啟事務,自動提交

當然,可以改為手動事務,

begin tran

?insert ...

rollback:這樣就回滾了;

-------------------------------

存儲過程優點:

1.執行速度更快;一次編譯;

2.允許模塊化程序設計,類似方法的復用;

3.提高系統安全性,防止sql注入;

4.減少網絡流量;

----

EXEC sp_databases :查看所有數據庫的信息;

EXEC sys.sp_helpdb 'PM' :查看指定數據庫的信息;

exec sp_renamedb 'PM','guo':給數據庫重命名;

----查看數據庫有多少張表和視圖:

USE EF

EXEC sys.sp_tables

----查看表的列

USE PM

EXEC sys.sp_columns 'AChengBenGuiJi'

--sp_開頭是系統的存儲過程;

--觸發器是表,所以比如同時刪除多行時,只執行一次觸發器;

游標不建議使用,性能非常的低下;

sql常用語句匯總


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲国产成人精品激情 | www.夜夜骑.com | 九九精品99 | 日本一级毛片片在线播放 | 欧美怡红院免费全部视频 | 亚洲欧美中文字幕在线网站 | 国产91成人精品亚洲精品 | 日本大臿亚洲香蕉大片 | 欧美亚洲综合在线观看 | se在线观看 | 久久国产亚洲观看 | 在线观看欧美视频 | 亚洲一区二区三区免费 | 日本永久视频 | 经典邵氏三级 在线观看 | 五月天婷婷在线播放 | 老外黑人欧美一级毛片 | 欧美毛片大全 | 激情久久久久久久久久久 | 久久精品久噜噜噜久久 | 色婷婷一区 | 深夜天堂| a毛片免费| 久久午夜夜伦伦鲁鲁片 | 欧美日韩国产成人高清视频 | 奇米888888| 伊人久久国产精品 | 91在线看片一区国产 | 亚洲三级视频在线 | 欧美成人中文字幕dvd | 九九热视频精品 | 久久99精品一级毛片 | 成人中文字幕一区二区三区 | 国产911情侣拍拍在线播放 | 综合视频在线 | 四虎影视8848a四虎在线播放 | 欧美第一精品 | 青草青青在线观看免费视频 | 男人的天堂视频 | 久久青草免费视频 | 91视频免费观看网站 |