日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

sql基礎(chǔ)語句學(xué)習(xí)

 靜幻堂 2018-08-26
知了猴飛走了 2016-10-13 15:26:10

本文只考慮mysql、SQL Server、Oracle

sql對大小寫不敏感

可以把sql分為兩部分:數(shù)據(jù)操作語言(DML)和數(shù)據(jù)定義語言(DDL)

sql基礎(chǔ)語句學(xué)習(xí)

查詢和更新指令構(gòu)成了SQL的DML部分:select-從數(shù)據(jù)庫表中獲取數(shù)據(jù),update-更新數(shù)據(jù)庫表中的數(shù)據(jù),delete-從數(shù)據(jù)庫中刪除數(shù)據(jù),insert into-像數(shù)據(jù)庫表中插入數(shù)據(jù)

sql的數(shù)據(jù)定義語言(DDL)部分使我們有能力創(chuàng)建或刪除表格。我們也可以定義索引(鍵),規(guī)定表之間的連接,以及施加表之間的約束。:

sql中重要的DDL語句:

create database-創(chuàng)建數(shù)據(jù)庫

alter database-修改數(shù)據(jù)庫

create table-創(chuàng)建新表

alter table-改變數(shù)據(jù)庫表

drop table-刪除表

create index-創(chuàng)建索引(搜索鍵)

drop index-刪除索引

如需從 Company" 列中僅選取唯一不同的值,我們需要使用 SELECT DISTINCT 語句:SELECT DISTINCT Company FROM Orders

以字母順序顯示公司名稱(Company),并以數(shù)字順序顯示順序號(OrderNumber):SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber(先以Company列為標(biāo)準(zhǔn)進(jìn)行排列,Company列名稱相同的 在以O(shè)rderNumber列為標(biāo)準(zhǔn)排列)

以逆字母順序顯示公司名稱:SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC

以逆字母順序顯示公司名稱,并以數(shù)字順序顯示順序號:SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC(先以Company列為標(biāo)準(zhǔn)進(jìn)行逆字母順序排列,Company列名稱相同的 在以O(shè)rderNumber列為標(biāo)準(zhǔn)進(jìn)行升序排列)

INSERT INTO 表名稱 VALUES (值1, 值2,....)

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

delete語句用于刪除表中的行:delete from person where lastName = ‘Wilson’,刪除了lastName為Wilson的那一行所有數(shù)據(jù)

delete from person,刪除了person表中的所有數(shù)據(jù)

更新某一行的一個列:update person set firstName = ‘fred’ where lastName = ‘wlison’

更新某一行的很多列:update person set firstName = ‘sss’,city = 'nanjing' where lastName = ‘a(chǎn)lison’

top子句(只對SQL Server中管用)

top子句用于規(guī)定返回的記錄的數(shù)目,對于擁有數(shù)千條數(shù)據(jù)的大型表來說,top非常有用

只對SQL Server中管用:select top 3 * from goods;

select top 50 percent * from goods;(選取表中前百分之五十的數(shù)據(jù))

MySQL:slelect * from goods limit 3;

Oracle:select * from goods ROWNUM <= 3;

like子句(“%”可用于定義通配符、模式中缺少的字符)

select * from goods where goods_name like '%ewq%'

select * from goods where goods_name like 'q%'

select * from goods where goods_name like '%e'

select * from goods where goods_name like 'ewq%qwe'

通配符(在搜索數(shù)據(jù)庫中的數(shù)據(jù)時,sql通配符可以替代一個或多個字符。sql通配符必須與like運算符一起使用。)

a.%通配符,同上

b._通配符

“_”只能代表一個字符,只是替代了一個字符而已,其他位置字符必須一樣

select * from goods where goods_name like '_qwqw'

select * from goods where goods_name like 'q_wqw'

c.[charlist]通配符(貌似對mysql不好使)

select * from goods where goods_name like '[ALN]%';(查找商品名稱以A、L、N開頭的的商品)

select * from goods where goods_name like '[!ALN]%';(查找商品名稱不以A、L、N開頭的的商品)

in子句(類似等于)

SELECT * FROM goods WHERE category_id IN (9999904,849) AND goods_name IN ('124','西紅柿','青島啤酒');

類似于

SELECT * FROM goods WHERE id = 1560 OR id = 1564;

between子句(操作符BETWEEN...AND會選取介于兩個值之間的數(shù)據(jù)范圍,這些值可以是數(shù)值、文本、日期,mysql中的between左右都包括)

SELECT * FROM goods WHERE goods_name BETWEEN '西紅柿' AND '青島啤酒';

SELECT * FROM goods WHERE category_id BETWEEN 99999909 AND 99999911;

having子句

在SQL中增加HAVING子句的原因是,where關(guān)鍵字無法與合計函數(shù)一起使用。

select customer,sum(orderPrice) from orders group by customer having sum(orderPrice)< 2000

select customer,sum(orderPrice) from orders where customer='bush' or customer='admin' group by customer having sum(orderprice)>1500

視圖view:

視圖就像是一個可視化的表

什么是視圖:在sql中,視圖是基于sql語句的結(jié)果集的可視化的表。

視圖可以包含行和列,就像一個真實的表。視圖中的字段就是來自一個或多個數(shù)據(jù)庫的真實的表中的字段。我們可以向視圖添加sql函數(shù)、where、join語句,我們也可以提交數(shù)據(jù),就像這些來自于某個單一的表。

create view view_name as select column_name(s) from table_name where condition

視圖總是顯示最近的數(shù)據(jù)。每當(dāng)用戶查詢視圖時,數(shù)據(jù)庫引擎通過使用sql語句來重建數(shù)據(jù)。

創(chuàng)建視圖

CREATE VIEW [Current Product List] AS

SELECT ProductID,ProductName

FROM Products

WHERE Discontinued=No

查看視圖

SELECT * FROM [Current Product List]

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多