程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SqlServer入門學習

SqlServer入門學習

編輯:關於SqlServer

--distinct(去除重復數據)
select distinct Time from HightTable
--Between
select * from HightTable where ID BETWEEN 1 and 2
--or
select * from HightTable where ID=1 or ID=2
--and和or結合
select * from HightTable where (ID=1 or ID =2) and ID=1
--order by和排序(降序)
select * from HightTable order by ID desc
--top全部
select top 2 * from HightTable
--top字段
select top 2 ID from HightTable
--like左模糊(匹配坐標左邊的字符)
select * from HightTable where type like 'N%'
--like右模糊(匹配坐標右邊的字符)
select * from HightTable where type like '%N'
--like全匹配
select * from HightTable where type like '%N%'
--_匹配(_字符之後是某個字符的匹配)
select * from HightTable where type like '_N'
--_多個匹配
select * from HightTable where type like 'N_N_N'
--[]通配符(左通配'[]%',右通配'%[]',全通配,'%[]%',反通配'%[!N]%')
select * from HightTable where type like '%[N]%'
--in
select * from HightTable where ID in(1,2)
--表關聯條件查詢
select a.id,b.id,b.Type from TestTime a,HightTable b where a.ID=10 and b.ID=1
--inner join 內連接
select * from HightTable h inner join TestTime t on h.ID = t.ID where h.ID<> null
--left join 左連接
select * from HightTable h left join TestTime t on h.ID = t.ID where h.ID = 1
--right join 右連接
select * from HightTable h right join TestTime t on h.ID = t.ID where h.ID=1
--full join 只要其中一個表中存在匹配,就返回行
select * from HightTable h full join TestTime t on h.ID = t.ID where h.ID=1
--union 合並兩個或多個 SELECT 語句的結果集(不存在重復的值)
select * from HightTable union select * from HightTable where ID=1
--union all(可以重復)
select * from HightTable union all select * from HightTable where ID=1
--select into(用於復制表和數據,復制一些字段)
select Type,Time into HightTabless from HightTable
--select into(用於復制表和數據,復制整張表)
select * into HightTables from HightTable
--連接其他表創新新表和數據
select Type,Time into HightTablet from HightTable right join TestTime on HightTable.ID = TestTime.ID

--創建數據庫
create database backbase
--刪除數據庫
drop database EFDemo
--創建表 UNIQUE--約束唯一標識數據庫表中的每條記錄,PRIMARY KEY自增,跟unique不能來個同用
create table table_back(
id int NOT NULL UNIQUE ,
lastname varchar(100),
cityname varchar(100)
)
--刪除表
--drop table HightTable
--FOREIGN KEY外鍵約束
create table table_back1(
id int NOT NULL UNIQUE ,
lastname varchar(100),
cityname varchar(100),
Id_P int FOREIGN KEY REFERENCES table_back1(id)
)
--刪除外鍵
ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders
--Check限制值范圍
create table table_back2(
id int NOT NULL UNIQUE ,
lastname varchar(100),
cityname varchar(100),
Id_P int FOREIGN KEY REFERENCES table_back1(id),
check(id>0)--or(check id>0 and lastname='xiaomi'),表已存在創建check約束則為(Add check(id>0))
)
--刪除check約束
alter table table_back2
drop CONSTRAINT checkname
--default 向表中插入默認值
--OrderDate date DEFAULT GETDATE(),City varchar(255) DEFAULT 'Sandnes'
--刪除默認值設置
--ALTER TABLE table_back2
--ALTER COLUMN City DROP DEFAULT
--CREATE INDEX 語句用於在表中創建索引(可以多列索引)
create index index_name on highttable(id)
--唯一索引
create unique index index_name1 on highttable(id)
drop index index_name on highttable
--TRUNCATE TABLE 刪除表格數據但不刪除表格本身結構
TRUNCATE TABLE highttable
--alter table
alter table highttable add colunm_name int
--drop column 刪除表中的列
alter table highttable drop column colunm_name
--alter column 修改表中的列
alter table highttable alter column colunm_name varchar(30)
--Auto-increment 會在新記錄插入表中時生成一個唯一的數字
--CREATE VIEW 創建視圖
CREATE VIEW [view_name] AS
SELECT ID,Value
FROM HightTable
--now 返回當前的日期和時間
--CURDATE() 返回當前的日期
--CURTIME() 返回當前的時間
--DATE() 提取日期或日期/時間表達式的日期部分
--EXTRACT() 返回日期/時間按的單獨部分
--DATE_ADD() 給日期添加指定的時間間隔
--DATE_SUB() 從日期減去指定的時間間隔
--DATEDIFF() 返回兩個日期之間的天數
--DATE_FORMAT() 用不同的格式顯示日期/時間
--GETDATE() 返回當前日期和時間
--DATEPART() 返回日期/時間的單獨部分
--DATEADD() 在日期中添加或減去指定的時間間隔
--DATEDIFF() 返回兩個日期之間的時間
--CONVERT() 用不同的格式顯示日期/時間
--DATE - 格式 YYYY-MM-DD
--DATETIME - 格式: YYYY-MM-DD HH:MM:SS
--SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
--TIMESTAMP - 格式: 唯一的數字
--is null
select * from HightTable where Value is null
--is not null
select * from HightTable where Value is not null
--function 函數
--AVG 返回某列的平均值
SELECT AVG(column_name) FROM table_name
--COUNT(column_name) 返回某列的行數(不包括 NULL 值)
select COUNT(column_name) from HightTable
--COUNT(*) 返回被選行數
select COUNT(*) from HightTable
--First 返回在指定的域中第一個記錄的值
--Last 返回指定域中最後一個記錄的值
--MAX(column) 返回某列的最高值
select MAX(value) from HightTable
--min(column) 返回某列的最低值
select MIN(value) from HightTable
--sum 返回某列的總和
select SUM(value) from HightTable
--var(column) 返回總體樣本方差的估計值
--VARP(column 返回總體方差的估計值
--UCASE(c) 將某個域轉換為大寫
select UCASE(type) from HightTable
--LCASE(C) 將摸個域轉換成小寫
select lcase(type) highttable
--MID(c,start[,end]) 從某個文本域提取字符
--LEN(c) 返回某個文本域的長度
select LEN(value) from HightTable
--INSTR(c,char) 返回在某個文本域中指定字符的數值位置
select instr(2,'dasd') from HightTable
--LEFT(c,number_of_char) 返回某個被請求的文本域的左側部分
select LEFT('dasdasdas',3)
--right(c,number_of_char) 返回某個被請求的文本域的右側部分
--round(c,decimals) 對某個數值域進行指定小數位數的四捨五入
select ROUND(2.122,2)
--MOD(X,Y)返回除法操作的余數
select mod(3,6)
--now() 返回當前的系統日期
select now() from HightTable
--format(c,format) 返回某個域的顯示方式(可用convert代替)
select format(value,format) from HightTable
--datediff(d,date1,date2) 用於執行日期計算
select DATEDIFF(MONTH,'2015-01-12',getdate())
--group by 根據一個或多個列對結果集進行分組
select id,sum(Value) from HightTable group by id
--Having 合計函數,無法與where一起使用,必須有group by
select id from HightTable group by ID having SUM(sumValue)>10 order by ID desc
--排序(降序)
select * from HightTable order by ID desc
--排序(升序)
select * from HightTable order by ID asc

希望對大家有用!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved